Fotos LDAP:
- Ignora sync quando conta ainda não tem UID (evitava URI compartilhada)
- Filtra fotos abaixo do tamanho mínimo configurável (padrão 10 KB)
- Adiciona campo ldap_min_photo_size nas configurações e schema
- Update 10010: remove fotos placeholder já existentes
- Update 10011: remove mídias com URI ldap_photo_.{ext} sem UID
Bloco de cabeçalho do microsite:
- Exibe departamento abaixo do nome, sem label, com link para a entidade
- Exibe telefone de trabalho (work_phone) no lugar de phone (restrito)
Página de perfil:
- Título fixo "Perfil de @name" via callback profileTitle()
- Exclui rota profile da substituição de título pelo nó homepage
Subpáginas com URL amigável:
- Adiciona MicrositeSubpagePathProcessor (inbound + outbound)
- Inbound: /user/{username}/{subpage} → /user/{uid}/{subpage}
- Outbound: /user/{uid}/{subpage} → /user/{username}/{subpage}
- Busca alias em todos os idiomas para contornar limitação do AliasManager
Tema do microsite em rotas externas:
- MicrositeThemeNegotiator cobre rotas com parâmetro user sob /user/{user}/
- Cobre nós do structural_pages cujo alias começa com /user/{uid}/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Item pai 'Adicionar' no menu account com subitens derivados dinamicamente
a partir de site_users.settings:add_content_links. O pai fica oculto quando
o usuário não tem acesso a nenhum dos routes configurados.
- Rota site_users.add_content com _custom_access via AddContentAccessCheck
- hook_menu_links_discovered_alter() gera os subitens com IDs estáveis
- Formulário de settings com tabela editável (label, rota, parâmetro, peso)
- CSS do microsite atualizado com dropdown ao hover/focus-within
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Inclui config/install com langcode en, update hook 10008 para sites
já instalados e tradução pt-br do label e descrição do campo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>
Implementa hook_ldap_user_edit_user_alter() para capturar a foto do
atributo LDAP configurado e adicioná-la como primeira entrada em
field_user_photos, sem queries adicionais ao servidor.
Inclui LdapPhotoSyncService com detecção de tipo via exif_imagetype,
deduplicação por MD5 e reutilização de media entity existente.
Adiciona checkbox para ativar/desativar o sync no formulário de settings,
com visibilidade condicional do campo de atributo via #states.
Corrige acesso a mídias publicadas para usuários autenticados via
hook_media_access(), resolvendo "Acesso restrito" no widget e na
visualização do perfil.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adiciona seção na tela de configurações do módulo que permite ao
administrador controlar quais campos do perfil cada usuário pode
editar no próprio perfil, independentemente das permissões de papel.
- site_users.settings.yml: novo grupo user_editable_fields (todos
habilitados por padrão)
- SiteUsersSettingsForm: fieldset com checkboxes por campo
- site_users.module: site_users_check_profile_field_access() e
site_users_check_photo_field_access() recebem field_name e
consultam a config ao verificar 'edit own'; resultado inclui
cache tag config:site_users.settings
- translations/site_users.pt-br.po: novas strings traduzidas
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Módulo Drupal para gerenciamento de campos e fotos de perfil de usuários:
- Campos customizados: nome, telefone, categoria, departamento, biografia
- Suporte a múltiplas fotos com seleção de foto padrão
- Controle de permissões granular para visualização e edição
- Bloco de informações do usuário para exibição em páginas
- Configurações administrativas para limite de fotos e integração LDAP
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>