wagtail-enap-designsystem 1.2.1.157__py3-none-any.whl → 1.2.1.159__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of wagtail-enap-designsystem might be problematic. Click here for more details.
- enap_designsystem/blocks/__init__.py +2 -0
- enap_designsystem/blocks/content_blocks.py +47 -1
- enap_designsystem/blocks/html_blocks.py +49 -13
- enap_designsystem/blocks/semana_blocks.py +157 -94
- enap_designsystem/migrations/0429_rename_content_mbaespecializacao_banner_and_more.py +43 -0
- enap_designsystem/migrations/0430_alter_templateespecializacao_status_inscricao.py +29 -0
- enap_designsystem/migrations/0431_alter_templateespecializacao_status_inscricao.py +29 -0
- enap_designsystem/migrations/0432_alter_areaaluno_body_alter_cursoeadpage_curso_and_more.py +72634 -0
- enap_designsystem/migrations/0433_alter_areaaluno_body_and_more.py +57331 -0
- enap_designsystem/migrations/0434_templateespecializacao_cards_one.py +599 -0
- enap_designsystem/migrations/0435_alter_templateespecializacao_team_carousel.py +220 -0
- enap_designsystem/migrations/0436_alter_areaaluno_body_alter_articlepage_body_and_more.py +80628 -0
- enap_designsystem/migrations/0437_alter_enapformacao_body_and_more.py +3728 -0
- enap_designsystem/models.py +100 -76
- enap_designsystem/static/enap_designsystem/blocks/btn.css +31 -0
- enap_designsystem/static/enap_designsystem/blocks/cards.css +13 -6
- enap_designsystem/static/enap_designsystem/blocks/carousel_images.css +2 -2
- enap_designsystem/static/enap_designsystem/blocks/feature_course.css +4 -0
- enap_designsystem/static/enap_designsystem/blocks/navbar/navbar.css +2 -2
- enap_designsystem/static/enap_designsystem/blocks/team_carousel.css +2 -1
- enap_designsystem/static/enap_designsystem/blocks/team_modern.css +2 -1
- enap_designsystem/templates/enap_designsystem/base.html +2 -11
- enap_designsystem/templates/enap_designsystem/blocks/card_block.html +40 -3
- enap_designsystem/templates/enap_designsystem/blocks/carousel_images.html +1 -1
- enap_designsystem/templates/enap_designsystem/blocks/feature_estrutura.html +6 -0
- enap_designsystem/templates/enap_designsystem/blocks/footer_block.html +1 -0
- enap_designsystem/templates/enap_designsystem/blocks/preview_courses.html +9 -3
- enap_designsystem/templates/enap_designsystem/blocks/richtext_block.html +61 -62
- enap_designsystem/templates/enap_designsystem/blocks/suap/apisuap_courses_block.html +38 -14
- enap_designsystem/templates/enap_designsystem/pages/mba_especializacao.html +7 -7
- enap_designsystem/templates/enap_designsystem/pages/template_mba.html +16 -5
- {wagtail_enap_designsystem-1.2.1.157.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/METADATA +1 -1
- {wagtail_enap_designsystem-1.2.1.157.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/RECORD +36 -27
- {wagtail_enap_designsystem-1.2.1.157.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/WHEEL +0 -0
- {wagtail_enap_designsystem-1.2.1.157.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/licenses/LICENSE +0 -0
- {wagtail_enap_designsystem-1.2.1.157.dist-info → wagtail_enap_designsystem-1.2.1.159.dist-info}/top_level.txt +0 -0
|
@@ -767,6 +767,8 @@ CARD_CARDS_STREAMBLOCKS = [
|
|
|
767
767
|
(
|
|
768
768
|
"enap_section", EnapSectionBlock([
|
|
769
769
|
("accordion", EnapAccordionBlock()),
|
|
770
|
+
("texto_imagem", TextoImagemBlock()),
|
|
771
|
+
("texto", RichTextBlock()),
|
|
770
772
|
("enap_cardgrid", EnapCardGridBlock([
|
|
771
773
|
("enap_card", EnapCardBlock()),
|
|
772
774
|
("richtext", RichTextBlock()),
|
|
@@ -6,7 +6,7 @@ from wagtail.snippets.blocks import SnippetChooserBlock
|
|
|
6
6
|
from wagtail.blocks import StructBlock, BooleanBlock, CharBlock
|
|
7
7
|
from wagtail.admin.panels import FieldPanel
|
|
8
8
|
from django.db import models
|
|
9
|
-
from .html_blocks import ButtonBlock
|
|
9
|
+
from .html_blocks import ButtonBlock, FONTAWESOME_ICON_CHOICES
|
|
10
10
|
from .base_blocks import BaseBlock
|
|
11
11
|
|
|
12
12
|
|
|
@@ -171,6 +171,13 @@ class EnapCardBlock(blocks.StructBlock):
|
|
|
171
171
|
label=_("Image"),
|
|
172
172
|
)
|
|
173
173
|
|
|
174
|
+
icone = blocks.ChoiceBlock(
|
|
175
|
+
choices=FONTAWESOME_ICON_CHOICES,
|
|
176
|
+
required=False,
|
|
177
|
+
default='fa-solid fa-lightbulb',
|
|
178
|
+
help_text="Ícone do card (Caso não use imagem)"
|
|
179
|
+
)
|
|
180
|
+
|
|
174
181
|
title = blocks.CharBlock(
|
|
175
182
|
required=False,
|
|
176
183
|
max_length=255,
|
|
@@ -183,6 +190,45 @@ class EnapCardBlock(blocks.StructBlock):
|
|
|
183
190
|
label=_("Body"),
|
|
184
191
|
)
|
|
185
192
|
|
|
193
|
+
text_align = blocks.ChoiceBlock(
|
|
194
|
+
choices=[
|
|
195
|
+
('left', 'Esquerda'),
|
|
196
|
+
('center', 'Centro'),
|
|
197
|
+
('right', 'Direita'),
|
|
198
|
+
],
|
|
199
|
+
default='left',
|
|
200
|
+
help_text="Escolha a direção para alinhar o texto da seção",
|
|
201
|
+
label="Alinhamento do texto",
|
|
202
|
+
required=False
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
cor_texto = blocks.ChoiceBlock(
|
|
206
|
+
choices=[
|
|
207
|
+
('#02333A', 'Verde ENAP 100 (#02333A)'),
|
|
208
|
+
('#024248', 'Verde ENAP 90 (#024248)'),
|
|
209
|
+
('#025257', 'Verde ENAP 80 (#025257)'),
|
|
210
|
+
('#006969', 'Verde ENAP 70 (#006969)'),
|
|
211
|
+
('#10A39E', 'Verde ENAP 50 (#10A39E)'),
|
|
212
|
+
('#30BFBC', 'Verde ENAP 40 (#30BFBC)'),
|
|
213
|
+
('#70E0DF', 'Verde ENAP 30 (#70E0DF)'),
|
|
214
|
+
('#AFF0ED', 'Verde ENAP 20 (#AFF0ED)'),
|
|
215
|
+
('#D6F9F8', 'Verde ENAP 10 (#D6F9F8)'),
|
|
216
|
+
('#FFFFFF', 'Fundo branco (#FFFFFF)'),
|
|
217
|
+
('#F8F9FA', 'Cinza Claro (#F8F9FA)'),
|
|
218
|
+
('#E9ECEF', 'Cinza Médio (#E9ECEF)'),
|
|
219
|
+
('#000000', 'Fundo preto (#000000)'),
|
|
220
|
+
],
|
|
221
|
+
default='#FFFFFF',
|
|
222
|
+
help_text="Escolha a cor do texto para a seção",
|
|
223
|
+
label="Cor do texto",
|
|
224
|
+
required=False
|
|
225
|
+
)
|
|
226
|
+
|
|
227
|
+
cor_texto_hex = blocks.CharBlock(
|
|
228
|
+
help_text="Escolha a cor do texto para a seção em hex",
|
|
229
|
+
label="Cor do texto em hex code caso prefira",
|
|
230
|
+
required=False
|
|
231
|
+
)
|
|
186
232
|
|
|
187
233
|
links = blocks.StreamBlock(
|
|
188
234
|
[
|
|
@@ -140,6 +140,9 @@ FONTAWESOME_ICON_CHOICES = [
|
|
|
140
140
|
('fa-solid fa-clock', 'Relógio'),
|
|
141
141
|
('fa-solid fa-users', 'Usuários'),
|
|
142
142
|
('fa-solid fa-user', 'Usuário'),
|
|
143
|
+
('fa-solid fa-chalkboard-user', 'Usuário em frente a um quadro'),
|
|
144
|
+
('fa-solid fa-circle-user', 'Usuário rodeado por um circulo'),
|
|
145
|
+
('fa-solid fa-people-group', 'Grupo de pessoas'),
|
|
143
146
|
('fa-solid fa-cog', 'Configuração'),
|
|
144
147
|
('fa-solid fa-chart-bar', 'Gráfico'),
|
|
145
148
|
('fa-solid fa-briefcase', 'Maleta'),
|
|
@@ -312,6 +315,13 @@ class PreviewCoursesBlock(BaseBlock):
|
|
|
312
315
|
Renders a preview of a specific page.
|
|
313
316
|
"""
|
|
314
317
|
|
|
318
|
+
title = blocks.CharBlock(
|
|
319
|
+
required=False,
|
|
320
|
+
max_length=255,
|
|
321
|
+
label=_("Título da Seção"),
|
|
322
|
+
help_text=_("Título opcional para exibir acima do preview. Se não preenchido, usa o título da página."),
|
|
323
|
+
)
|
|
324
|
+
|
|
315
325
|
page = blocks.PageChooserBlock(
|
|
316
326
|
required=False,
|
|
317
327
|
label=_("Pagina de Formações"),
|
|
@@ -447,10 +457,10 @@ class JobVacancyFilteredBlock(BaseBlock):
|
|
|
447
457
|
else:
|
|
448
458
|
pages = indexer.get_children().live()
|
|
449
459
|
|
|
450
|
-
# ✅
|
|
460
|
+
# ✅ Primeiro filtrar apenas JobVacancyPage usando o content_type
|
|
451
461
|
pages = pages.filter(content_type__model='jobvacancypage')
|
|
452
462
|
|
|
453
|
-
# ✅
|
|
463
|
+
# ✅ Converter para QuerySet específico do JobVacancyPage
|
|
454
464
|
try:
|
|
455
465
|
# Tentar obter o modelo JobVacancyPage
|
|
456
466
|
JobVacancyPage = apps.get_model('enap_designsystem', 'JobVacancyPage')
|
|
@@ -759,7 +769,20 @@ class SuapCourseBlock(StructBlock):
|
|
|
759
769
|
|
|
760
770
|
class APISuapCourseBlock(StructBlock):
|
|
761
771
|
title = CharBlock(required=False, label="Título")
|
|
772
|
+
cor_title = CharBlock(required=False, label="Cor do Título em HEX (opcional)")
|
|
773
|
+
posicao_title = blocks.ChoiceBlock(
|
|
774
|
+
choices=[
|
|
775
|
+
('center', 'Centro'),
|
|
776
|
+
('flex-start', 'Esquerda'),
|
|
777
|
+
('flex-end', 'Direita'),
|
|
778
|
+
],
|
|
779
|
+
default='center',
|
|
780
|
+
help_text="Escolha a posição do Título",
|
|
781
|
+
label="Posição do Título",
|
|
782
|
+
required=False
|
|
783
|
+
)
|
|
762
784
|
description = CharBlock(required=False, label="Descrição")
|
|
785
|
+
cor_description = CharBlock(required=False, label="Cor da Descrição em HEX (opcional)")
|
|
763
786
|
button = CharBlock(required=False, label="Titulo do Botão")
|
|
764
787
|
url_button = URLBlock(required=False, label="Link do Botão")
|
|
765
788
|
api_url = blocks.URLBlock(
|
|
@@ -780,10 +803,10 @@ class APISuapCourseBlock(StructBlock):
|
|
|
780
803
|
})
|
|
781
804
|
return context
|
|
782
805
|
|
|
783
|
-
def get_destaques(self, api_url, limit=
|
|
806
|
+
def get_destaques(self, api_url, limit=50):
|
|
784
807
|
|
|
785
808
|
try:
|
|
786
|
-
resp = requests.get(api_url, timeout=
|
|
809
|
+
resp = requests.get(api_url, timeout=500)
|
|
787
810
|
resp.raise_for_status()
|
|
788
811
|
data = resp.json()
|
|
789
812
|
data = data.get('results', [])
|
|
@@ -796,16 +819,22 @@ class APISuapCourseBlock(StructBlock):
|
|
|
796
819
|
processed_data = []
|
|
797
820
|
for item in data:
|
|
798
821
|
# Converter data_inicio de string para datetime se existir
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
822
|
+
if 'data_inicio' in item and item['data_inicio']:
|
|
823
|
+
try:
|
|
824
|
+
item['data_inicio'] = datetime.strptime(item['data_inicio'], '%Y-%m-%d').date()
|
|
825
|
+
except (ValueError, TypeError):
|
|
826
|
+
pass
|
|
827
|
+
|
|
828
|
+
# Converter data_inicio_aula de string para datetime se existir
|
|
829
|
+
if 'data_inicio_aula' in item and item['data_inicio_aula']:
|
|
830
|
+
try:
|
|
831
|
+
item['data_inicio_aula'] = datetime.strptime(item['data_inicio_aula'], '%Y-%m-%d').date()
|
|
832
|
+
except (ValueError, TypeError):
|
|
833
|
+
pass
|
|
806
834
|
|
|
807
835
|
processed_data.append(SimpleNamespace(**item))
|
|
808
836
|
|
|
837
|
+
print(processed_data)
|
|
809
838
|
return processed_data
|
|
810
839
|
except Exception as e:
|
|
811
840
|
# Log do erro para debug (opcional)
|
|
@@ -1217,6 +1246,13 @@ class CourseFeatureBlock(blocks.StructBlock):
|
|
|
1217
1246
|
class CourseModulesBlock(blocks.StructBlock):
|
|
1218
1247
|
"""Bloco de estrutura do curso com múltiplos dropdowns."""
|
|
1219
1248
|
title = blocks.CharBlock(required=True, default="Estrutura do curso", help_text="Título da seção")
|
|
1249
|
+
|
|
1250
|
+
description = blocks.RichTextBlock(
|
|
1251
|
+
required=False,
|
|
1252
|
+
help_text="Descrição da seção (aparece abaixo do título)",
|
|
1253
|
+
features=['bold', 'italic', 'link', 'ul', 'ol'],
|
|
1254
|
+
default="Descrição da seção"
|
|
1255
|
+
)
|
|
1220
1256
|
|
|
1221
1257
|
modules = blocks.ListBlock(
|
|
1222
1258
|
blocks.StructBlock([
|
|
@@ -5989,7 +6025,7 @@ class CarouselSlideBlock(blocks.StructBlock):
|
|
|
5989
6025
|
label="Subtítulo",
|
|
5990
6026
|
required=False,
|
|
5991
6027
|
help_text="Texto com formatação: **bold**, *itálico*, listas, etc.",
|
|
5992
|
-
features=['bold', 'italic', 'ul', 'ol', 'link']
|
|
6028
|
+
features=['bold', 'italic', 'ul', 'ol', 'link', 'h1', 'h2', 'h3', 'h4']
|
|
5993
6029
|
)
|
|
5994
6030
|
|
|
5995
6031
|
cor_subtitulo = blocks.ChoiceBlock(
|
|
@@ -7667,7 +7703,7 @@ class FormularioDinamicoBlock(blocks.StructBlock):
|
|
|
7667
7703
|
('flex-start', 'Esquerda'),
|
|
7668
7704
|
('flex-end', 'Direita'),
|
|
7669
7705
|
],
|
|
7670
|
-
default='
|
|
7706
|
+
default='center',
|
|
7671
7707
|
help_text="Escolha a posição do botão",
|
|
7672
7708
|
label="Posição do botão"
|
|
7673
7709
|
)
|
|
@@ -12,64 +12,107 @@ from .form import BASE_FORM_FIELD_BLOCKS
|
|
|
12
12
|
# Cores principais da paleta
|
|
13
13
|
# Cores principais para inovação - sem duplicatas e com valores hexadecimais válidos
|
|
14
14
|
BRAND_INOVACAO_CHOICES = [
|
|
15
|
+
# Cores Institucionais ENAP
|
|
16
|
+
('#024248', 'Verde ENAP #024248'),
|
|
17
|
+
('#007D7A', 'Verde Link ENAP #007D7A'),
|
|
15
18
|
('#024248', 'Verde ENAP'),
|
|
16
|
-
('#FFF0D9', 'Creme Suave'), # Corrigido de 'bg-white', '#fbebd8'
|
|
17
19
|
('#007D7A', 'Verde Link ENAP'),
|
|
18
|
-
('#
|
|
19
|
-
('#
|
|
20
|
-
('#
|
|
21
|
-
('
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
('
|
|
25
|
-
('
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
('#
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
('
|
|
32
|
-
('
|
|
33
|
-
('
|
|
34
|
-
('
|
|
35
|
-
('
|
|
36
|
-
('
|
|
37
|
-
('
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
('#
|
|
20
|
+
('#007D7A', 'Verde ENAP 60'),
|
|
21
|
+
('#024248', 'Verde ENAP 90'),
|
|
22
|
+
('#F5F7FA', 'ENAP Cinza'),
|
|
23
|
+
('#FFFFFF', 'Branco'),
|
|
24
|
+
|
|
25
|
+
# Cores Gnova
|
|
26
|
+
('#AD6BFC', 'Roxo Gnova #AD6BFC'),
|
|
27
|
+
('#B396FC', 'Roxo Claro Gnova #B396FC'),
|
|
28
|
+
|
|
29
|
+
# Cores LIIA
|
|
30
|
+
('#2F134F', 'Roxo Escuro LIIA #2F134F'),
|
|
31
|
+
|
|
32
|
+
# Cores Genéricas (Tailwind/CSS)
|
|
33
|
+
('blue', 'Azul (blue)'),
|
|
34
|
+
('green', 'Verde (green)'),
|
|
35
|
+
('red', 'Vermelho (red)'),
|
|
36
|
+
('orange', 'Laranja (orange)'),
|
|
37
|
+
('purple', 'Roxo (purple)'),
|
|
38
|
+
('indigo', 'Índigo (indigo)'),
|
|
39
|
+
('emerald', 'Esmeralda (emerald)'),
|
|
40
|
+
|
|
41
|
+
# Paleta Expandida - Neutros
|
|
42
|
+
('#FFFFFF', 'Branco #FFFFFF'),
|
|
43
|
+
('#525258', 'Cinza Escuro #525258'),
|
|
44
|
+
('#FFF0D9', 'Creme Suave #FFF0D9'),
|
|
45
|
+
|
|
46
|
+
# Paleta Expandida - Verdes
|
|
47
|
+
('#132929', 'Verde Musgo Escuro #132929'),
|
|
48
|
+
('#25552A', 'Verde Floresta Escuro #25552A'),
|
|
49
|
+
('#818C27', 'Verde Oliva #818C27'),
|
|
50
|
+
('#BAC946', 'Verdinho #BAC946'),
|
|
51
|
+
|
|
52
|
+
# Paleta Expandida - Azuis
|
|
53
|
+
('#3A8A9C', 'Azul Petróleo #3A8A9C'),
|
|
54
|
+
|
|
55
|
+
# Paleta Expandida - Quentes
|
|
56
|
+
('#FF7A1B', 'Laranja Vibrante #FF7A1B'),
|
|
57
|
+
('#FFEB31', 'Amarelo Canário #FFEB31'),
|
|
58
|
+
('#DB8C3F', 'Dourado Queimado #DB8C3F'),
|
|
59
|
+
|
|
60
|
+
# Paleta Expandida - Vermelhos
|
|
61
|
+
('#990005', 'Vermelho Bordô #990005'),
|
|
62
|
+
('#EA1821', 'Vermelho Cereja #EA1821'),
|
|
41
63
|
]
|
|
42
64
|
|
|
43
65
|
# Cores para textos - removendo duplicatas e corrigindo valores
|
|
44
66
|
BRAND_TEXTS_CHOICES = [
|
|
67
|
+
# Cores Institucionais ENAP
|
|
68
|
+
('#024248', 'Verde ENAP #024248'),
|
|
69
|
+
('#007D7A', 'Verde Link ENAP #007D7A'),
|
|
70
|
+
('#00777D', 'Enap #00777D'),
|
|
71
|
+
('#58606E', 'Enap Cinza #58606E'),
|
|
72
|
+
('#AFF0ED', 'Enap Azul #AFF0ED'),
|
|
73
|
+
('#383674', 'Roxo ENAP #383674'),
|
|
45
74
|
('#024248', 'Verde ENAP'),
|
|
46
|
-
('#FFF0D9', 'Creme Suave'), # Corrigido de 'bg-white', '#fbebd8'
|
|
47
75
|
('#007D7A', 'Verde Link ENAP'),
|
|
48
|
-
('#
|
|
49
|
-
('#
|
|
50
|
-
('#
|
|
51
|
-
('
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
('
|
|
55
|
-
('
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
('#
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
('
|
|
62
|
-
('
|
|
63
|
-
('
|
|
64
|
-
('
|
|
65
|
-
('
|
|
66
|
-
('
|
|
67
|
-
('
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
('#
|
|
71
|
-
('#
|
|
72
|
-
('#
|
|
76
|
+
('#007D7A', 'Verde ENAP 60'),
|
|
77
|
+
('#024248', 'Verde ENAP 90'),
|
|
78
|
+
('#F5F7FA', 'ENAP Cinza'),
|
|
79
|
+
('#FFFFFF', 'Branco'),
|
|
80
|
+
|
|
81
|
+
# Cores Gnova
|
|
82
|
+
('#AD6BFC', 'Roxo Gnova #AD6BFC'),
|
|
83
|
+
('#B396FC', 'Roxo Claro Gnova #B396FC'),
|
|
84
|
+
|
|
85
|
+
# Cores LIIA
|
|
86
|
+
('#2F134F', 'Roxo Escuro LIIA #2F134F'),
|
|
87
|
+
|
|
88
|
+
# Cores Genéricas (Tailwind/CSS)
|
|
89
|
+
('blue', 'Azul (blue)'),
|
|
90
|
+
('green', 'Verde (green)'),
|
|
91
|
+
('red', 'Vermelho (red)'),
|
|
92
|
+
('orange', 'Laranja (orange)'),
|
|
93
|
+
('purple', 'Roxo (purple)'),
|
|
94
|
+
('indigo', 'Índigo (indigo)'),
|
|
95
|
+
('emerald', 'Esmeralda (emerald)'),
|
|
96
|
+
|
|
97
|
+
# Neutros e Cinzas
|
|
98
|
+
('#FFFFFF', 'Branco #FFFFFF'),
|
|
99
|
+
('#FFF0D9', 'Creme Suave #FFF0D9'),
|
|
100
|
+
('#000000', 'Preto #000000'),
|
|
101
|
+
('#2F2F2F', 'Cinza Escuro #2F2F2F'),
|
|
102
|
+
('#4A4A4A', 'Cinza Médio #4A4A4A'),
|
|
103
|
+
('#525258', 'Cinza Escuro #525258'),
|
|
104
|
+
|
|
105
|
+
# Verdes
|
|
106
|
+
('#132929', 'Verde Musgo Escuro #132929'),
|
|
107
|
+
('#25552A', 'Verde Floresta Escuro #25552A'),
|
|
108
|
+
('#818C27', 'Verde Oliva #818C27'),
|
|
109
|
+
('#BAC946', 'Verdinho #BAC946'),
|
|
110
|
+
|
|
111
|
+
# Quentes
|
|
112
|
+
('#DB8C3F', 'Dourado Queimado #DB8C3F'),
|
|
113
|
+
|
|
114
|
+
# Vermelhos
|
|
115
|
+
('#990005', 'Vermelho Bordô #990005'),
|
|
73
116
|
]
|
|
74
117
|
|
|
75
118
|
# Cores para backgrounds - removendo duplicatas
|
|
@@ -112,55 +155,75 @@ BRAND_BG_CHOICES = [
|
|
|
112
155
|
|
|
113
156
|
# Cores para botões e elementos interativos
|
|
114
157
|
BRAND_BUTTON_CHOICES = [
|
|
158
|
+
# Especial
|
|
115
159
|
('transparent', 'Transparente'),
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
('#
|
|
119
|
-
('#
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
('
|
|
123
|
-
('
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
('
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
('#
|
|
130
|
-
('#
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
('#
|
|
134
|
-
('#
|
|
135
|
-
('#
|
|
136
|
-
|
|
137
|
-
|
|
160
|
+
|
|
161
|
+
# Cores Institucionais ENAP
|
|
162
|
+
('#024248', 'Verde ENAP #024248'),
|
|
163
|
+
('#007D7A', 'Verde Link ENAP #007D7A'),
|
|
164
|
+
|
|
165
|
+
# Cores Gnova
|
|
166
|
+
('#AD6BFC', 'Roxo Gnova #AD6BFC'),
|
|
167
|
+
('#B396FC', 'Roxo Claro Gnova #B396FC'),
|
|
168
|
+
|
|
169
|
+
# Cores LIIA
|
|
170
|
+
('#2F134F', 'Roxo Escuro LIIA #2F134F'),
|
|
171
|
+
|
|
172
|
+
# Neutros
|
|
173
|
+
('#FFFFFF', 'Branco #FFFFFF'),
|
|
174
|
+
('#525258', 'Cinza Escuro #525258'),
|
|
175
|
+
|
|
176
|
+
# Verdes
|
|
177
|
+
('#25552A', 'Verde Floresta Escuro #25552A'),
|
|
178
|
+
('#818C27', 'Verde Oliva #818C27'),
|
|
179
|
+
('#BAC946', 'Verdinho #BAC946'),
|
|
180
|
+
|
|
181
|
+
# Azuis
|
|
182
|
+
('#3A8A9C', 'Azul Petróleo #3A8A9C'),
|
|
183
|
+
|
|
184
|
+
# Quentes
|
|
185
|
+
('#FF7A1B', 'Laranja Vibrante #FF7A1B'),
|
|
186
|
+
('#FFEB31', 'Amarelo Canário #FFEB31'),
|
|
187
|
+
('#DB8C3F', 'Dourado Queimado #DB8C3F'),
|
|
188
|
+
|
|
189
|
+
# Vermelhos
|
|
190
|
+
('#EA1821', 'Vermelho Cereja #EA1821'),
|
|
138
191
|
]
|
|
139
192
|
|
|
193
|
+
|
|
140
194
|
# Cores para hover dos botões
|
|
141
195
|
BRAND_HOVER_CHOICES = [
|
|
142
|
-
|
|
143
|
-
('#
|
|
144
|
-
('#
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
('
|
|
148
|
-
('
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
('
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
('#
|
|
156
|
-
('#
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
('#
|
|
160
|
-
('#
|
|
161
|
-
('#
|
|
162
|
-
|
|
163
|
-
|
|
196
|
+
# Cores Institucionais ENAP
|
|
197
|
+
('#024248', 'Verde ENAP #024248'),
|
|
198
|
+
('#007D7A', 'Verde Link ENAP #007D7A'),
|
|
199
|
+
|
|
200
|
+
# Cores Gnova
|
|
201
|
+
('#AD6BFC', 'Roxo Gnova #AD6BFC'),
|
|
202
|
+
('#B396FC', 'Roxo Claro Gnova #B396FC'),
|
|
203
|
+
|
|
204
|
+
# Cores LIIA
|
|
205
|
+
('#2F134F', 'Roxo Escuro LIIA #2F134F'),
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
# Neutros
|
|
209
|
+
('#FFFFFF', 'Branco #FFFFFF'),
|
|
210
|
+
('#525258', 'Cinza Escuro #525258'),
|
|
211
|
+
|
|
212
|
+
# Verdes - Variações Escuras
|
|
213
|
+
('#1E4420', 'Verde Floresta #1E4420'),
|
|
214
|
+
('#6F7B22', 'Verde Oliva Escuro #6F7B22'),
|
|
215
|
+
('#BAC946', 'Verdinho #BAC946'),
|
|
216
|
+
|
|
217
|
+
# Azuis - Variações Escuras
|
|
218
|
+
('#2E7A8A', 'Azul Petróleo #2E7A8A'),
|
|
219
|
+
|
|
220
|
+
# Quentes - Variações Escuras
|
|
221
|
+
('#E6690F', 'Laranja #E6690F'),
|
|
222
|
+
('#E6D220', 'Amarelo #E6D220'),
|
|
223
|
+
('#C27B35', 'Dourado #C27B35'),
|
|
224
|
+
|
|
225
|
+
# Vermelhos - Variações Escuras
|
|
226
|
+
('#D1141B', 'Vermelho #D1141B'),
|
|
164
227
|
]
|
|
165
228
|
|
|
166
229
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Generated by Django 5.1.6 on 2025-09-26 18:40
|
|
2
|
+
|
|
3
|
+
from django.db import migrations
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("enap_designsystem", "0428_alter_enapformacao_body_and_more"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.RenameField(
|
|
14
|
+
model_name="mbaespecializacao",
|
|
15
|
+
old_name="content",
|
|
16
|
+
new_name="banner",
|
|
17
|
+
),
|
|
18
|
+
migrations.RenameField(
|
|
19
|
+
model_name="mbaespecializacao",
|
|
20
|
+
old_name="why_choose",
|
|
21
|
+
new_name="beneficios",
|
|
22
|
+
),
|
|
23
|
+
migrations.RenameField(
|
|
24
|
+
model_name="mbaespecializacao",
|
|
25
|
+
old_name="testimonials_carousel",
|
|
26
|
+
new_name="depoimentos",
|
|
27
|
+
),
|
|
28
|
+
migrations.RenameField(
|
|
29
|
+
model_name="mbaespecializacao",
|
|
30
|
+
old_name="course_intro_topics",
|
|
31
|
+
new_name="introducao",
|
|
32
|
+
),
|
|
33
|
+
migrations.RenameField(
|
|
34
|
+
model_name="mbaespecializacao",
|
|
35
|
+
old_name="teste_noticia",
|
|
36
|
+
new_name="noticia",
|
|
37
|
+
),
|
|
38
|
+
migrations.RenameField(
|
|
39
|
+
model_name="mbaespecializacao",
|
|
40
|
+
old_name="preview_courses",
|
|
41
|
+
new_name="preview_dos_cursos",
|
|
42
|
+
),
|
|
43
|
+
]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Generated by Django 5.1.6 on 2025-09-26 20:03
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("enap_designsystem", "0429_rename_content_mbaespecializacao_banner_and_more"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AlterField(
|
|
14
|
+
model_name="templateespecializacao",
|
|
15
|
+
name="status_inscricao",
|
|
16
|
+
field=models.CharField(
|
|
17
|
+
choices=[
|
|
18
|
+
("abertas", "Inscrições Abertas"),
|
|
19
|
+
("encerradas", "Inscrições Encerradas"),
|
|
20
|
+
("em_andamento", "Curso em Andamento"),
|
|
21
|
+
("finalizado", "Inscrições em breve"),
|
|
22
|
+
],
|
|
23
|
+
default="abertas",
|
|
24
|
+
help_text="Define o status atual do curso/inscrições",
|
|
25
|
+
max_length=20,
|
|
26
|
+
verbose_name="Status das Inscrições",
|
|
27
|
+
),
|
|
28
|
+
),
|
|
29
|
+
]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Generated by Django 5.1.6 on 2025-09-26 20:03
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("enap_designsystem", "0430_alter_templateespecializacao_status_inscricao"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AlterField(
|
|
14
|
+
model_name="templateespecializacao",
|
|
15
|
+
name="status_inscricao",
|
|
16
|
+
field=models.CharField(
|
|
17
|
+
choices=[
|
|
18
|
+
("abertas", "Inscrições Abertas"),
|
|
19
|
+
("encerradas", "Inscrições Encerradas"),
|
|
20
|
+
("em_andamento", "Curso em Andamento"),
|
|
21
|
+
("em_breve", "Inscrições em breve"),
|
|
22
|
+
],
|
|
23
|
+
default="abertas",
|
|
24
|
+
help_text="Define o status atual do curso/inscrições",
|
|
25
|
+
max_length=20,
|
|
26
|
+
verbose_name="Status das Inscrições",
|
|
27
|
+
),
|
|
28
|
+
),
|
|
29
|
+
]
|