Skip to content

Navigation Menu

Sign in
Sign up

Centralizar constantes y choices de dominio en core/choices.py - #53

Draft
robertatakenaka with Copilot wants to merge 2 commits into
main from
copilot/centralizar-constantes-y-choices
Draft

Centralizar constantes y choices de dominio en core/choices.py #53
robertatakenaka with Copilot wants to merge 2 commits into
main from
copilot/centralizar-constantes-y-choices

Conversation

Copilot AI commented Mar 24, 2026
edited
Loading

Copy link
Copy Markdown

O que esse PR faz?

Cria core/choices.py com as constantes de domínio centralizadas (LANGUAGE, ROLE, MONTHS, LICENSE_TYPES, GENDER_CHOICES), alinhado com o padrão já utilizado em scieloorg/core e scieloorg/markup.

  • LANGUAGE: 182 códigos ISO 639-1
  • ROLE, MONTHS, LICENSE_TYPES, GENDER_CHOICES: labels com gettext_lazy para i18n
  • LICENSE_TYPES: 6 tipos Creative Commons (by, by-sa, by-nc, by-nc-sa, by-nd, by-nc-nd)
from core.choices import LANGUAGE, ROLE, MONTHS, LICENSE_TYPES, GENDER_CHOICES

Onde a revisão poderia começar?

core/choices.py

Como este poderia ser testado manualmente?

import django.conf
django.conf.settings.configure(USE_I18N=True, INSTALLED_APPS=['django.contrib.contenttypes'])
from core.choices import LANGUAGE, ROLE, MONTHS, LICENSE_TYPES, GENDER_CHOICES
assert len(LANGUAGE) == 182
assert len(MONTHS) == 12
assert len(LICENSE_TYPES) == 6
assert [c for c, _ in LICENSE_TYPES] == ["by", "by-sa", "by-nc", "by-nc-sa", "by-nd", "by-nc-nd"]

Testes unitários em core/tests.py validam estrutura, conteúdo e uso de lazy strings.

Algum cenário de contexto que queira dar?

O arquivo segue exatamente o mesmo conteúdo e formato de core/choices.py nos repositórios scieloorg/core e scieloorg/markup, mantendo consistência entre os microsserviços da organização.

Screenshots

N/A

Quais são tickets relevantes?

N/A

Referências

Original prompt

This section details on the original issue you should resolve

<issue_title>Centralizar constantes y choices de dominio en core/choices.py</issue_title>
<issue_description>### Descripción de la nueva funcionalidad
Yo, como desarrollador backend, quiero que todas las constantes de dominio de la aplicación (idiomas, roles, meses, tipos de licencia, géneros) estén centralizadas en core/choices.py, para que todos los modelos y formularios del proyecto utilicen una única fuente de verdad, facilitando el mantenimiento y la internacionalización.

Criterios de aceptación

  • El archivo core/choices.py debe exponer las siguientes listas: LANGUAGE, ROLE, MONTHS, LICENSE_TYPES, GENDER_CHOICES.
  • Los valores de texto en ROLE, MONTHS, LICENSE_TYPES y GENDER_CHOICES deben estar envueltos en gettext_lazy(_(...)) para soporte i18n.
  • LANGUAGE debe cubrir todos los idiomas del estándar ISO 639-1.
  • LICENSE_TYPES debe cubrir los seis tipos de licencias Creative Commons (by, by-sa, by-nc, by-nc-sa, by-nd, by-nc-nd).
  • El archivo debe terminar con salto de línea (\n).

Anexos

Este tópico é opcional mas pode ser utilizado para incluir objetos a serem analisados ou demonstrações que podem ser utilizados de exemplo.

Referencias

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


📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.

Copilot AI changed the title (削除) [WIP] Centralize domain constants and choices in core/choices.py (削除ここまで) (追記) Centralizar constantes y choices de dominio en core/choices.py (追記ここまで) Mar 24, 2026
Copilot AI requested a review from robertatakenaka March 24, 2026 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@robertatakenaka robertatakenaka Awaiting requested review from robertatakenaka

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Centralizar constantes y choices de dominio en core/choices.py

2 participants

AltStyle によって変換されたページ (->オリジナル) /