feat: View mode por role/usuário com seletor de visibilidade no perfil

- Cria view mode e display 'restricted' (template mostra só username + mensagem)
- Adiciona campo field_user_selected_view_mode (string, default: restricted)
- update_10006: provisiona view mode, display e campo; inicializa role_view_modes
- Seletor de visibilidade no form de edição do perfil (owner e admin)
- hook_entity_view_mode_alter lê o campo e valida existência do display
- Formulário de admin: checkboxes de view modes por role (exceto anonymous e authenticated)
- Schema YAML completo para site_users.settings incluindo role_view_modes
- Tradução pt-BR de todas as novas strings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-26 08:06:10 -03:00
parent f58c8f90f4
commit bd24e6eb6b
9 changed files with 431 additions and 2 deletions

View File

@@ -138,6 +138,36 @@ msgstr "Selecione quais campos os usuários podem editar no próprio perfil. Cam
msgid "Protected by another module."
msgstr "Protegido por outro módulo."
# Settings form - role view modes
msgid "Profile visibility options by role"
msgstr "Opções de visibilidade do perfil por papel"
msgid "Select which view modes each role can choose for their public profile. The \"restricted\" option is always available to all users."
msgstr "Selecione quais modos de exibição cada papel pode escolher para o seu perfil público. A opção \"restrito\" está sempre disponível para todos os usuários."
msgid "No custom view modes found for user entities. Create view modes at <a href=\":url\">Manage display</a>."
msgstr "Nenhum modo de exibição customizado encontrado para usuários. Crie modos de exibição em <a href=\":url\">Gerenciar exibição</a>."
# Form elements - visibility selector (site_users.module)
msgid "Profile visibility"
msgstr "Visibilidade do perfil"
msgid "How should my profile appear to other visitors?"
msgstr "Como meu perfil deve aparecer para outros visitantes?"
msgid "Choose the information displayed on your public profile page."
msgstr "Escolha as informações exibidas na página pública do seu perfil."
msgid "Restricted (username only)"
msgstr "Restrito (somente nome de usuário)"
msgid "Invalid profile visibility option selected."
msgstr "Opção de visibilidade de perfil inválida."
# Template - restricted profile
msgid "This user has not made their profile public."
msgstr "Este usuário não tornou seu perfil público."
# Template
msgid "Phone:"
msgstr "Telefone:"