Fornece um plugin EntityReferenceSelection que restringe campos de
referência a grupos aos grupos dos quais o usuário atual é membro.
Inclui troca automática para o widget options_select ao configurar o
handler, e remoção do #required em target_bundles para campos que
referenciam group, permitindo deixar o tipo de grupo em branco.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove entrada de biblioteca vazia 'msc_term_select_widget' que causava
IncompleteLibraryDefinitionException. Otimiza buildTermData() para não
instanciar 597 entidades de taxonomia completas: usa loadTree() sem
entidades e busca field_msc_code diretamente na tabela do campo,
eliminando o fatal de memória esgotada (128 MB) ao abrir o modal
de configuração do campo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
O comando passa a aceitar um argumento opcional output-path. Se
fornecido, grava o CSV no caminho indicado; se omitido, escreve em
stdout (permitindo redirecionamento com >). Mensagens de status
(contagens, erros) sempre vão para stderr via $this->io().
O comando não lê mais nem escreve no CSV do módulo: carrega todos os
termos msc_2020 do banco ordenados por field_msc_code e gera o CSV
inteiramente a partir do banco (header fixo, parent_code derivado do
comprimento do código).
Remove a dependência de ModuleExtensionList do construtor e do
drush.services.yml.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Expande o CSV de ~597 para ~6100 termos incorporando o terceiro nível
hierárquico (códigos de 5 caracteres, ex.: 03B05). Inclui as traduções
pt-br dos termos de nível 3 já no CSV.
Atualiza MscTermListFormatter e MscTermSelectWidget para suportar a
hierarquia de três níveis, adiciona biblioteca CSS dedicada ao formatter
e adiciona o schema de configuração do formatter.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
MscTermListFormatter agrupa os termos selecionados por categoria pai,
exibindo o pai como item de primeiro nível e os filhos como sub-lista.
Pais não selecionados diretamente são carregados automaticamente para
servir de cabeçalho do grupo. Inclui opção "Link para a entidade
referenciada" para linkar os rótulos às páginas dos termos.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implementa MscTermSelectWidget, um FieldWidget para campos entity_reference
apontando para o vocabulário msc_2020. Dois selects encadeados: o primeiro
lista as 63 categorias pai; o segundo é reconstruído via Drupal AJAX (#ajax)
ao mudar o pai, listando os subcampos da categoria selecionada mais a opção
"área geral (sem subcampo)".
O valor salvo no campo é o TID do segundo select. O estado dos selects é
preservado em rebuilds AJAX (ex.: "Add another item") lendo getUserInput(),
que não é afetado pelo #limit_validation_errors do botão.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- site_tools_msc_2020: vocabulário de taxonomia MSC 2020 (Mathematics
Subject Classification) com campo field_msc_code e tradução pt-br
habilitada via config/optional
- site_tools_msc_2020_migrate: migrations CSV para importação dos 597
termos hierárquicos em inglês (msc_2020_terms) e tradução pt-br
(msc_2020_terms_pt_br); caminho do CSV resolvido dinamicamente via
hook_migration_plugins_alter()