- Retorna neutral() quando $items e NULL (contexto sem entidade),
evitando forbidden() prematuro que escondia campos no formulario
- Retorna neutral() para o proprio usuario sem a permissao explicita,
deferindo ao comportamento padrao do Drupal em vez de negar acesso
- Retorna forbidden() apenas quando ha entidade e o usuario esta
editando o perfil de outro (sem permissao 'edit any')
- A permissao 'edit own user profile fields' passa a funcionar como
controle refinado via config: se presente, aplica restricoes por
campo; se ausente, o modulo nao interfere no acesso padrao
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>
Implementa o field type 'social_link' com seletor de rede e URL de
perfil, composto por:
- SocialLinkItem: field type com colunas 'network' (varchar 64) e
'url' (varchar 2048), cardinalidade ilimitada
- SocialLinkWidget: widget com select de rede e input de URL
- SocialLinkFormatter: formatter que renderiza links com classe CSS
por rede (social-link--{network}), target _blank e rel noopener
- config/optional: field.storage e field.field para user
- config/translations/pt-br: tradução do label e description
- hook_install e update_10002: configura form/view displays
- UserInfoBlock: expõe social_links via getSocialLinks()
- Template: adiciona seção de redes sociais e remove referências
obsoletas a category e dept_code
- translations/site_users.pt-br.po: strings do novo field type
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove os arquivos de config field.storage, field.field e translation
referentes ao field_user_category, e elimina todas as referências
ao campo em site_users.module, site_users.install e UserInfoBlock.php.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove os arquivos de config field.storage, field.field e translation
referentes ao field_user_dept_code, e elimina todas as referências
ao campo em site_users.module, site_users.install e UserInfoBlock.php.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Altera langcode de pt-br para en em todos os field.field YAMLs
- Traduz labels e descriptions dos campos para inglês
- Converte strings de info.yml, permissions.yml, links.menu.yml e
routing.yml para inglês
- Converte todas as strings t() e @Translation em PHP para inglês
- Adiciona traduções de config em config/translations/pt-br/ para os
7 campos de usuário
- Adiciona arquivo translations/site_users.pt-br.po com todas as
strings de interface traduzidas para pt-br
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adiciona a configuração da view de administração de usuários
(/admin/people) em config/optional com langcode en e strings
em inglês, e as traduções para pt-br em config/translations/pt-br.
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>