Skip to content

Refatora check_page para usar self.data e corrige filtros de disponibilidade e sync_issue#969

Merged
robertatakenaka merged 7 commits into
scieloorg:mainfrom
robertatakenaka:merge_publication
May 26, 2026
Merged

Refatora check_page para usar self.data e corrige filtros de disponibilidade e sync_issue#969
robertatakenaka merged 7 commits into
scieloorg:mainfrom
robertatakenaka:merge_publication

Conversation

@robertatakenaka
Copy link
Copy Markdown
Member

O que esse PR faz?

Refatora e corrige diversos pontos do fluxo de verificação de disponibilidade de artigos.

As principais mudanças são:

  • article/models.py: Simplifica ArticleWebPage.check_page() para retornar self.data em vez de montar um dicionário detail local, e ajusta Article.availability para usar item.data de forma consistente.
  • article/wagtail_hooks.py: Altera list_display do ArticleSnippetViewSet para exibir sps_pkg__sps_pkg_name em vez de __str__.
  • package/models.py: Corrige o filtro de SPSPkg para usar id__in em vez de sps_pkg_id__in.
  • publication/api/issue.py: Corrige a construção da URL de sync para issues, garantindo que o endpoint correto seja chamado mesmo quando post_data_url não termina em issue.
  • proc/tasks.py: Simplifica task_check_article_webpages removendo chamadas duplicadas de available_on_public_website e incluindo available_on_classic_website.

Onde a revisão poderia começar?

Por article/models.py, verificando a consistência entre self.data e os pontos que o consomem (Article.availability e check_page). Em seguida, proc/tasks.py que contém as mudanças no fluxo de verificação.

Como este poderia ser testado manualmente?

  1. Executar task_check_article_webpages via shell do Django para um artigo com páginas web cadastradas e verificar que o retorno utiliza self.data corretamente.
  2. Verificar no admin do Wagtail que a listagem de Articles exibe o sps_pkg_name corretamente.
  3. Confirmar que a URL de sync de issue é montada corretamente inspecionando os logs da API de publicação.
  4. Testar o filtro corrigido em SPSPkg passando uma lista de ids e verificando que os registros esperados são retornados.

Algum cenário de contexto que queira dar?

O ArticleWebPage.check_page() montava um dicionário detail local que duplicava informações já disponíveis em self.data. A simplificação elimina essa redundância e garante uma única fonte de verdade para os dados da página. A correção em proc/tasks.py remove chamadas duplicadas de available_on_public_website e adiciona a verificação de available_on_classic_website que estava ausente.

Screenshots

N/A

Quais são tickets relevantes?

Referências

@robertatakenaka robertatakenaka merged commit 9fc419a into scieloorg:main May 26, 2026
3 checks passed
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.

1 participant