Centraliza configuração de access rules no módulo pai

- Adiciona rota, menu e abas unificados em ldap_groups_sync
- Cria LdapGroupsSyncController (overview dos submódulos)
- Cria UnifiedAccessRulesForm: tabela combinada de regras de todos os
  submódulos habilitados, com único botão "Add Rule"
- Cria GlobalAccessRuleForm: estende AccessRuleFormBase com parâmetro
  {group_type} na rota; exibe select "Group Type" com AJAX rebuild ao
  criar novas regras (desabilitado ao editar)
- Remove rotas access_rules e access_rule_form dos submódulos
- Remove entradas de menu dos submódulos (módulo pai fornece a entrada)
- Atualiza abas dos submódulos para base_route: ldap_groups_sync.config

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-02 09:03:10 -03:00
parent 346b897e25
commit 72813e0f30
13 changed files with 542 additions and 65 deletions

View File

@@ -0,0 +1,26 @@
ldap_groups_sync.config:
path: '/admin/config/local-modules/ldap-groups-sync'
defaults:
_controller: '\Drupal\ldap_groups_sync\Controller\LdapGroupsSyncController::overview'
_title: 'LDAP Groups Sync'
requirements:
_permission: 'administer ldap groups sync'
ldap_groups_sync.access_rules:
path: '/admin/config/local-modules/ldap-groups-sync/access-rules'
defaults:
_form: '\Drupal\ldap_groups_sync\Form\UnifiedAccessRulesForm'
_title: 'Access Rules'
requirements:
_permission: 'administer ldap groups sync'
ldap_groups_sync.access_rule_form:
path: '/admin/config/local-modules/ldap-groups-sync/access-rule/{group_type}/{rule_index}'
defaults:
_form: '\Drupal\ldap_groups_sync\Form\GlobalAccessRuleForm'
_title: 'Access Rule'
rule_index: 'new'
requirements:
_permission: 'administer ldap groups sync'
rule_index: 'new|\d+'
group_type: 'departments|research_groups'