Miembros e invitaciones
Cómo se agrega una persona a un equipo por correo, teléfono o nombre de usuario, qué pasa cuando todavía no tiene cuenta y cómo se cambian los roles desde la lista.
Un equipo crece desde /team/members. Esta guía cubre la lista de miembros, el formulario que agrega a alguien, las dos maneras en que el kit maneja a una persona que todavía no tiene cuenta y las notificaciones que envía cada paso. Qué identidades acepta el formulario lo decide la base: ve Configura el inicio de sesión y el registro.
La lista de miembros
/team/members muestra dos tablas:
- Miembros, con su nombre, su identidad y su rol en este equipo. Desde cada fila un miembro con
update memberscambia el rol, y uno condelete memberselimina a la persona del equipo. - Invitaciones pendientes, con el correo y la fecha, para las personas que fueron invitadas y no se han registrado. Un miembro con
delete memberscancela una. Esta tabla se oculta cuandoinvitation_modeesauto_provision, porque en ese modo nada queda pendiente.
Eliminar a un miembro lo desvincula del equipo y le envía una notificación, en la cuenta y por correo. Su cuenta queda intacta, igual que su membresía en cualquier otro equipo.
Agregar un miembro
Crear miembro abre /team/members/create. Pregunta primero cómo se identifica a la persona, con un botón por cada identidad que tu producto acepta en config/auth.php → login_identities, más Autodetectar, que lee lo que se escriba: una dirección es un correo, un número es un teléfono, cualquier otra cosa es un nombre de usuario. Después pide la identidad, un rol de entre los roles del equipo y, cuando la persona todavía no existe, un nombre.
Lo que pasa al guardar depende de si una cuenta ya tiene esa identidad.
La cuenta existe
La persona se agrega al equipo de inmediato, con el rol elegido en el formulario. Se le avisa en su cuenta y por correo, y el equipo aparece en su selector en su siguiente visita. Alguien que ya es miembro es rechazado con un mensaje.
La cuenta no existe
config/teams.php → invitation_mode decide:
'invitation_mode' => env('TEAM_INVITATION_MODE', 'approval_required'),
| Modo | Qué hace el kit |
|---|---|
approval_required |
Escribe una TeamInvitation con el correo y el rol, y envía a la dirección un enlace a la página de registro con el correo ya puesto. La persona entra al equipo en el momento en que se registra, con ese rol, y la invitación se elimina. Hasta entonces se muestra en la tabla de pendientes. Sólo un correo se puede invitar así: un teléfono o un nombre de usuario sin cuenta es rechazado con Las invitaciones por teléfono todavía no están disponibles. |
auto_provision |
Crea la cuenta al momento con el nombre escrito en el formulario y la identidad dada, la agrega al equipo con el rol y, cuando la identidad es un correo, envía un enlace para poner una contraseña. Un teléfono recibe una cuenta pero no un correo, así que la persona inicia sesión con el código por teléfono. Nada queda pendiente. |
Un registro se compara contra cada invitación pendiente para su correo, así que una persona invitada por tres equipos entra a los tres cuando se registra.
El límite del plan
Los miembros y las invitaciones pendientes cuentan ambos contra el límite users del plan del equipo. Cuando el equipo lo alcanza, el botón Crear miembro desaparece de la lista de miembros y un mensaje nombra el límite y pide subir de plan. El formulario también se niega, con el mismo mensaje, así que un enlace guardado a él no pasa el límite. Ve Planes y cobros del equipo para saber dónde se define el límite.
Cambiar el rol de un miembro
El control de edición en la fila de un miembro abre un diálogo con los roles del equipo. Guardar quita el rol anterior y asigna el elegido; una persona tiene exactamente un rol por equipo. La fila del propietario no tiene control de edición: el propietario conserva el rol de propietario mientras el equipo exista.
Permisos involucrados
| Acción | Permiso, en el guard team |
|---|---|
| Ver los miembros y las invitaciones | retrieve members |
| Agregar un miembro o invitar uno | create members |
| Cambiar un rol | update members |
| Eliminar un miembro o cancelar una invitación | delete members |
El propietario pasa los cuatro sin tenerlos. El rol predeterminado que recibe un miembro nuevo, user tal como viene, tiene sólo retrieve members. Ve Roles y permisos del equipo para cambiar eso.
Qué se envía
| Evento | Clase | Canal |
|---|---|---|
| Agregado al equipo | App\Notifications\Members\AddedToTeamNotification |
Cuenta y correo |
| Eliminado del equipo | App\Notifications\Members\RemovedToTeamNotification |
Cuenta y correo |
Invitado, approval_required |
App\Mail\Member\InvitedToTeamEmail |
Correo |
Cuenta creada, auto_provision |
App\Mail\Member\ProvisionedToTeamEmail |
Correo |
Las dos notificaciones pasan por el sistema de notificaciones de la base, así que las preferencias de cada persona deciden si el correo se envía. Ve Envía notificaciones en el sitio de la base.