[5.x]: Team group saved without name and handle, so project-config/apply fails
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 66/100
Línea de trabajo
Empieza leyendo UserGroups::getTeamGroup(), UserPermissions::saveGroupPermissions() y UserGroups::handleChangedUserGroup(); el issue señala que la falta de name y handle en la configuración del proyecto es la causa del fallo. Reproduce el fallo con los pasos proporcionados para craft exec y luego ejecuta php craft project-config/apply --force para comprobar que el fallo reportado se ha resuelto y que la configuración del grupo Team incluye ambos campos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened?
Description
On Craft 5.12.1 (Team), UserGroups::getTeamGroup() creates the Team group in the database only, not in the project config. It's also called from User::afterSave(). If permissions are then saved with UserPermissions::saveGroupPermissions(), the project config gets users.groups.<uid> with only permissions. The next project-config/apply (for example during a deploy) then fails.
Saving the Team permissions in Settings → Users is fine, because the controller calls saveGroup() first.
Steps to reproduce
-
On a Team install, run this with
craft exec:$pc = Craft::$app->getProjectConfig(); $pc->remove('users.groups.c55ca0a9-4bd6-409b-afd8-c1884dafecd0'); // fresh state: no Team group $group = Craft::$app->getUserGroups()->getTeamGroup(); Craft::$app->getUserPermissions()->saveGroupPermissions($group->id, ['viewusers']);The
remove()simulates a Team install where the group exists only in the database. -
Look at
config/project/users/groups/<uid>.yaml: it only haspermissions. -
Run
php craft project-config/apply --force.
Expected behavior
The Team group in the project config always has its name and handle, for example because getTeamGroup() saves the group through saveGroup(), or because saveGroupPermissions() makes sure the group exists in the project config. project-config/apply succeeds.
Actual behavior
project-config/apply fails with Undefined array key "name" in UserGroups::handleChangedUserGroup() (UserGroups.php:347).
Craft CMS version
5.12.1 (Team)
PHP version
8.5.12
Operating system and version
Debian GNU/Linux 13 (trixie), DDEV
Database type and version
MySQL 8.0.46
Image driver and version
Imagick 3.8.1 (ImageMagick 7.1.1-43)
Installed plugins and versions
- Lenguaje dominante
- PHP
- Estrellas
- 3.6k
- Forks
- 714
- Merge medio
- 13 h 20 min
- PR fusionados (30 d)
- 471
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de craftcms/cms
-
repo:cms
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
craftcms/cms#20613 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
repo:cms
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
craftcms/cms#20596 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[5.x]: “Save and send activation email” doesn’t send the email for users with only “Moderate users”Abiertobug repo:cms
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
craftcms/cms#20566 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug repo:cms
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
craftcms/cms#20205 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[6.x]: Element index View menu: sort direction buttons only update after the table has loadedAbiertobug repo:cms
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
craftcms/cms#20203 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de craftcms/cms
Issues similares
-
sync-en
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
[Sync EN] Formatting improvements to "Large Objects (LOBs)" docs (#6056)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertosync-en
Dificultad 1/5 Menos de una hora Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Перевод устарел
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
项目日志弹出窗尺寸可拉伸功能Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
freescout-help-desk/freescout#5812 · 1 comentario ·
Los mantenedores suelen responder en 1 día