Skip to content

Criar área administrativa (wagtail_hooks) para CrossRefConfiguration#1385

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/create-admin-area-crossrefconfig
Draft

Criar área administrativa (wagtail_hooks) para CrossRefConfiguration#1385
Copilot wants to merge 3 commits intomainfrom
copilot/create-admin-area-crossrefconfig

Conversation

Copy link
Contributor

Copilot AI commented Mar 7, 2026

Adiciona a área administrativa Wagtail para CrossRefConfiguration, permitindo que gestores de coleção configurem credenciais CrossRef e que editores de periódico associem configurações diretamente ao journal.

O que esse PR faz?

  • Model (doi_manager/models.py): adiciona campo password, help_text em todos os campos, __str__, autocomplete_search_field e autocomplete_label para suporte ao AutocompletePanel
  • Migration (0004_crossrefconfiguration_password.py): adiciona coluna password
  • Wagtail hooks (doi_manager/wagtail_hooks.py): novo CrossRefConfigurationViewSet com create/edit views usando o padrão save_all(user), listagem, busca, export e hook register_permissions para controle de acesso por gestor de coleção; toda a interface de criação/edição é fornecida nativamente pelo framework Wagtail (SnippetViewSet), sem templates customizados
  • Menu (config/menu.py): inclui doi_manager na ordem do menu Wagtail
  • Journal panels (journal/models.py, journal/proxys.py): adiciona AutocompletePanel("crossref_configuration") ao panels_titles do model principal e do JournalProxyEditor, permitindo que editores selecionem ou criem a configuração CrossRef diretamente no cadastro do periódico via a interface nativa do Wagtail

Onde a revisão poderia começar?

doi_manager/wagtail_hooks.py — ponto central das permissões e ViewSet. Em seguida, doi_manager/models.py para ver as mudanças no model, e journal/proxys.py para ver o painel do editor.

Como este poderia ser testado manualmente?

  1. Acesse o admin Wagtail como superusuário — o item CrossRef Configuration deve aparecer no menu lateral
  2. Crie um CrossRefConfiguration preenchendo todos os campos (incluindo password) e verifique os help_text
  3. Abra um Journal no admin e confirme que o campo CrossRef Configuration aparece na aba Title como autocomplete
  4. Edite um Journal Editor (JournalProxyEditor) com um usuário editor e confirme que o mesmo AutocompletePanel está visível
  5. No AutocompletePanel de CrossRef Configuration, clique no botão de criação nativo do Wagtail para criar uma nova configuração — verifique que ela é criada e pode ser vinculada ao journal

Algum cenário de contexto que queira dar?

CrossRefConfiguration já existia como model para fornecer dados ao pipeline de geração de XML CrossRef (packtools), mas não possuía nenhuma interface administrativa. O campo password era necessário para autenticação no deposit API da CrossRef e estava ausente. A criação de novas configurações é feita inteiramente pelo framework Wagtail (SnippetViewSet), sem necessidade de views, forms ou templates customizados.

Screenshots

N/A — interface administrativa padrão Wagtail Snippet.

Quais são tickets relevantes?

Relacionado à issue de criação da área administrativa para CrossRefConfiguration.

Referências

Original prompt

This section details on the original issue you should resolve

<issue_title>Criar área administrativa (wagtail_hooks) para CrossRefConfiguration</issue_title>
<issue_description>### Descrição da tarefa
Criar área administrativa (wagtail_hooks) para CrossRefConfiguration

Subtarefas

  • Adicionar password em CrossRefConfiguration
  • Adicionar help_text aos campos de CrossRefConfiguration
  • Criar doi_manager.wagtail_hooks com permissão somente para o gestor da coleção
  • Adicionar em Journal para os editores o campo crossref_configuration como AutocompletePanel
  • Também para os usuários editores do periódico permitir que ele crie crossref_configuration caso não esteja disponível na lista do AutocompletePanel, ou seja, que o usuário possa preencher diretamente
        FieldPanel("depositor_name"),
        FieldPanel("depositor_email_address"),
        FieldPanel("registrant"),
        FieldPanel("prefix"),
        FieldPanel("password"),

e internamente o sistema pelo views.py e forms.py crie novo registro de CrossRefConfiguration</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

- Add password field and help_text to CrossRefConfiguration model
- Add migration for password field
- Create doi_manager/wagtail_hooks.py with CrossRefConfigurationViewSet
  and register_permissions hook (collection manager access)
- Create doi_manager/forms.py with CrossRefConfigurationForm
- Create doi_manager/views.py for inline creation linked to Journal
- Create template for CrossRef configuration creation form
- Add doi_manager to config/menu.py menu order
- Add AutocompletePanel(crossref_configuration) to JournalProxyEditor
- Add AutocompletePanel(crossref_configuration) to Journal panels_titles

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copilot AI changed the title [WIP] Create administrative area for CrossRefConfiguration Criar área administrativa (wagtail_hooks) para CrossRefConfiguration Mar 7, 2026
@@ -0,0 +1,45 @@
{% extends "wagtailadmin/base.html" %}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot estamos adotando wagtail, então use a facilidade do framework que não necessitaria de template. Podemos criar o Form e adicionar os fields e depois do save pode-se criar o modelo em questão

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removidos o template customizado, views.py, forms.py e o hook register_admin_urls. O CrossRefConfigurationViewSet (herdando de CommonControlFieldViewSet / SnippetViewSet) já fornece toda a interface de criação/edição nativamente pelo Wagtail — o form_valid com save_all(user) cuida de registrar o creator/updater. Commit: 3ea6cdd

… for CrossRefConfiguration admin

The CrossRefConfigurationViewSet (SnippetViewSet) already provides full
create/edit functionality via Wagtail's built-in framework. Remove the
redundant custom views.py, forms.py, templates/ directory, and the
custom register_admin_urls hook.

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar área administrativa (wagtail_hooks) para CrossRefConfiguration

2 participants