Commit Graph

9 Commits

Author SHA1 Message Date
120d7b1858 feat: Descoberta dinâmica de campos de usuário editáveis
hook_entity_field_access() passa a cobrir todos os FieldConfigInterface
do usuário, sem lista hardcoded. Campos de referência a mídia usam
lógica de fotos; demais usam lógica de perfil.

SiteUsersSettingsForm descobre campos dinamicamente via
entity_field.manager, listando todos os campos configuráveis do usuário
independente do módulo que os define.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 08:09:27 -03:00
06e5bae039 fix: Corrige acesso edit de campos do próprio usuário
Para operação 'edit', verifica apenas a config user_editable_fields
para o próprio usuário, sem exigir permissão explícita. Evita que
AccessResult::neutral() bloqueie o widget no formulário.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 15:40:49 -03:00
e9f4cdcfb4 fix: Corrige controle de acesso a campos do perfil
- 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>
2026-02-23 14:49:33 -03:00
5eca037739 feat: Configuração de campos editáveis pelo próprio usuário
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>
2026-02-23 14:22:11 -03:00
8bab0515e1 feat: Adiciona field type social_link para redes sociais do usuário
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>
2026-02-23 14:10:28 -03:00
1dafd4a865 feat: Remove field_user_category (gerenciado em outro módulo)
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>
2026-02-23 13:47:34 -03:00
aac6256b27 feat: Remove field_user_dept_code (gerenciado em outro módulo)
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>
2026-02-23 13:46:42 -03:00
cae30b472a i18n: Converte strings do módulo para en com tradução pt-br
- 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>
2026-02-23 13:40:39 -03:00
6215759045 feat: Módulo Site Users para customização de perfis de usuário
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>
2026-02-04 07:35:26 -03:00