Skip to content

Add admin management for streams and events#32

Merged
rockynox merged 4 commits into
developfrom
add-admin-management-on-stream
Jun 29, 2026
Merged

Add admin management for streams and events#32
rockynox merged 4 commits into
developfrom
add-admin-management-on-stream

Conversation

@rockynox

Copy link
Copy Markdown
Member

Summary

  • Le créateur d'un stream ou d'un évènement peut désormais ajouter et retirer des administrateurs depuis la page d'édition
  • Si l'utilisateur ajouté n'existe pas, un compte est créé et un email d'invitation est envoyé avec un lien pour définir son mot de passe
  • Si l'utilisateur existe déjà, aucune notification n'est envoyée
  • Seul le propriétaire (is_owner = 1) peut gérer les admins — les admins ajoutés ne peuvent pas en ajouter d'autres

Changements

  • Migration 19-stream-owner.sql — corrige le bug où les créateurs de streams existants avaient is_owner = 0 au lieu de 1
  • UserRepository — ajout de isStreamOwner(), selectStreamAdmins(), deleteStreamRight()
  • AdminController — fix newStream (créateur inscrit avec is_owner = true), gestion admins stream dans editStream/editStreamPost, email d'invitation aligné sur events et streams, helper sendAdminInvitationEmail()
  • stream/edit.html.twig — section "Administrateurs" visible uniquement par le propriétaire

Test plan

  • Créer un stream et vérifier qu'on est bien propriétaire (section Administrateurs visible)
  • Ajouter un admin avec un email inexistant → email d'invitation envoyé, admin apparaît dans la liste
  • Ajouter un admin avec un email existant → aucun email, admin ajouté sans notification
  • Tenter d'ajouter un admin déjà présent → message "déjà admin"
  • Retirer un admin → disparaît de la liste
  • Vérifier qu'un admin (non propriétaire) ne voit pas la section de gestion
  • Même scénario côté évènement

🤖 Generated with Claude Code

rockynox and others added 4 commits June 29, 2026 12:48
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add HasRight interface (getRightColumn/getRightId) implemented by Event and Stream
- Collapse 6 entity-specific UserRepository methods into 3 generic ones:
  selectAdmins, isOwner, deleteRight
- Extract provisionAdminUser() in AdminController to deduplicate
  find/create/token/invite logic shared by event and stream add-admin flows
- Replace array_filter+!empty duplicate check with in_array(array_column(...))

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@rockynox
rockynox merged commit d79fc40 into develop Jun 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant