wagtail-enap-designsystem 1.2.1.121__py3-none-any.whl → 1.2.1.123__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.

Files changed (26) hide show
  1. enap_designsystem/blocks/__init__.py +4 -0
  2. enap_designsystem/blocks/form.py +101 -6
  3. enap_designsystem/blocks/html_blocks.py +199 -52
  4. enap_designsystem/blocks/semana_inovacao.py +7 -1
  5. enap_designsystem/middleware/aluno_sso.py +16 -0
  6. enap_designsystem/migrations/0382_alter_areaaluno_body_alter_cursoeadpage_curso_and_more.py +51080 -0
  7. enap_designsystem/migrations/0383_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +50922 -0
  8. enap_designsystem/migrations/0384_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +51606 -0
  9. enap_designsystem/migrations/0385_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +51947 -0
  10. enap_designsystem/migrations/0386_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +51809 -0
  11. enap_designsystem/models.py +0 -27
  12. enap_designsystem/templates/custom_404.html +1 -1
  13. enap_designsystem/templates/enap_designsystem/blocks/apresentacao_block.html +116 -0
  14. enap_designsystem/templates/enap_designsystem/blocks/apresentacao_simple_block.html +236 -0
  15. enap_designsystem/templates/enap_designsystem/form_templates/formulario_page.html +490 -13
  16. enap_designsystem/templates/enap_designsystem/includes/form_field.html +661 -4
  17. enap_designsystem/templates/enap_designsystem/pages/mba_especializacao.html +10 -0
  18. enap_designsystem/templates/enap_designsystem/sistema_votacao_page.html +194 -202
  19. enap_designsystem/urls.py +6 -3
  20. enap_designsystem/views.py +118 -153
  21. enap_designsystem/wagtail_hooks.py +235 -77
  22. {wagtail_enap_designsystem-1.2.1.121.dist-info → wagtail_enap_designsystem-1.2.1.123.dist-info}/METADATA +1 -1
  23. {wagtail_enap_designsystem-1.2.1.121.dist-info → wagtail_enap_designsystem-1.2.1.123.dist-info}/RECORD +26 -18
  24. {wagtail_enap_designsystem-1.2.1.121.dist-info → wagtail_enap_designsystem-1.2.1.123.dist-info}/WHEEL +0 -0
  25. {wagtail_enap_designsystem-1.2.1.121.dist-info → wagtail_enap_designsystem-1.2.1.123.dist-info}/licenses/LICENSE +0 -0
  26. {wagtail_enap_designsystem-1.2.1.121.dist-info → wagtail_enap_designsystem-1.2.1.123.dist-info}/top_level.txt +0 -0
@@ -1220,98 +1220,256 @@ def hide_snippets_from_menu(request, menu_items):
1220
1220
 
1221
1221
 
1222
1222
 
1223
- # wagtail_hooks.py - Sistema de Votação com Snippets
1224
1223
 
1225
- from wagtail import hooks
1226
- from wagtail.snippets.models import register_snippet
1227
- from wagtail.snippets.views.snippets import SnippetViewSet
1228
- from .models import VotoRegistrado
1229
1224
 
1225
+ # wagtail_hooks.py - Versão mínima: só menu + CSV
1230
1226
 
1231
- class VotoRegistradoViewSet(SnippetViewSet):
1232
- model = VotoRegistrado
1233
- menu_label = 'Votos Registrados'
1234
- icon = 'tick'
1235
- menu_order = 600
1236
-
1237
- list_display = ('projeto', 'categoria_nome', 'ip_address', 'timestamp')
1238
- list_filter = ('categoria_nome', 'timestamp', 'projeto__categoria')
1239
- search_fields = ('projeto__titulo', 'ip_address')
1240
- ordering = ('-timestamp',)
1241
- list_per_page = 50
1242
-
1243
- # Apenas visualização - não permitir add/edit de votos
1244
- add_to_admin_menu = True
1227
+ from wagtail import hooks
1228
+ from django.http import HttpResponse
1229
+ import csv
1245
1230
 
1246
1231
 
1247
- # Registrar o ViewSet
1248
- register_snippet(VotoRegistrado, viewset=VotoRegistradoViewSet)
1232
+ # Página de estatísticas simples
1233
+ def dashboard_votacao_view(request):
1234
+ """Página simples com estatísticas"""
1235
+ if not request.user.is_staff:
1236
+ from django.http import HttpResponseForbidden
1237
+ return HttpResponseForbidden()
1238
+
1239
+ try:
1240
+ from .models import VotoRegistrado, CategoriaVotacao, ProjetoVotacao
1241
+ from django.db.models import Count
1242
+
1243
+ total_votos = VotoRegistrado.objects.count()
1244
+ total_categorias = CategoriaVotacao.objects.filter(ativo=True).count()
1245
+ total_projetos = ProjetoVotacao.objects.filter(ativo=True).count()
1246
+
1247
+ # Ranking geral
1248
+ ranking_geral = (VotoRegistrado.objects
1249
+ .values('projeto__titulo', 'projeto__nome_equipe', 'projeto__categoria__nome')
1250
+ .annotate(votos=Count('id'))
1251
+ .order_by('-votos')[:10])
1252
+
1253
+ # Mais votado por categoria
1254
+ categorias = CategoriaVotacao.objects.filter(ativo=True).order_by('ordem')
1255
+ mais_votados_categoria = {}
1256
+
1257
+ for categoria in categorias:
1258
+ mais_votado = (VotoRegistrado.objects
1259
+ .filter(projeto__categoria=categoria)
1260
+ .values('projeto__titulo', 'projeto__nome_equipe')
1261
+ .annotate(votos=Count('id'))
1262
+ .order_by('-votos')
1263
+ .first())
1264
+ if mais_votado:
1265
+ mais_votados_categoria[categoria] = mais_votado
1266
+
1267
+ html = f"""
1268
+ <html>
1269
+ <head>
1270
+ <title>Dashboard Votação</title>
1271
+ <link rel="stylesheet" href="/static/wagtailadmin/css/core.css">
1272
+ <style>
1273
+ body {{ margin: 20px; font-family: Arial, sans-serif; }}
1274
+ .stats {{ display: flex; gap: 20px; margin: 20px 0; }}
1275
+ .stat {{ background: #024248; color: white; padding: 20px; border-radius: 8px; text-align: center; flex: 1; }}
1276
+ .stat-number {{ font-size: 28px; font-weight: bold; }}
1277
+ .ranking {{ background: white; border: 1px solid #ddd; border-radius: 8px; margin: 20px 0; }}
1278
+ .ranking-item {{ padding: 15px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; }}
1279
+ .categoria-card {{ background: white; border: 1px solid #ddd; border-radius: 8px; margin: 15px 0; }}
1280
+ .categoria-header {{ background: #007D7A; color: white; padding: 15px; font-weight: bold; }}
1281
+ .categoria-content {{ padding: 20px; }}
1282
+ .btn {{ background: #007D7A; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px; margin: 10px; }}
1283
+ .grid {{ display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }}
1284
+ </style>
1285
+ </head>
1286
+ <body>
1287
+ <h1 style="color: #024248;">Dashboard de Votação</h1>
1288
+ <a href="/admin/" class="btn">← Voltar ao Admin</a>
1289
+
1290
+ <div class="stats">
1291
+ <div class="stat">
1292
+ <div class="stat-number">{total_votos}</div>
1293
+ <div>Total Votos</div>
1294
+ </div>
1295
+ <div class="stat">
1296
+ <div class="stat-number">{total_projetos}</div>
1297
+ <div>Projetos</div>
1298
+ </div>
1299
+ <div class="stat">
1300
+ <div class="stat-number">{total_categorias}</div>
1301
+ <div>Categorias</div>
1302
+ </div>
1303
+ </div>
1304
+
1305
+ <div class="grid">
1306
+ <div>
1307
+ <h2>Mais Votados por Categoria</h2>
1308
+ """
1309
+
1310
+ # Seção de mais votados por categoria
1311
+ if mais_votados_categoria:
1312
+ for categoria, projeto in mais_votados_categoria.items():
1313
+ html += f"""
1314
+ <div class="categoria-card">
1315
+ <div class="categoria-header">
1316
+ {categoria.nome}
1317
+ </div>
1318
+ <div class="categoria-content">
1319
+ <strong style="font-size: 18px;">{projeto['projeto__titulo']}</strong>
1320
+ <br>
1321
+ <small style="color: #666;">{projeto['projeto__nome_equipe']}</small>
1322
+ <div style="margin-top: 10px;">
1323
+ <span style="background: #024248; color: white; padding: 8px 16px; border-radius: 20px; font-weight: bold;">
1324
+ {projeto['votos']} votos
1325
+ </span>
1326
+ </div>
1327
+ </div>
1328
+ </div>
1329
+ """
1330
+ else:
1331
+ html += "<p style='text-align: center; color: #999;'>Nenhum voto por categoria ainda</p>"
1332
+
1333
+ html += """
1334
+ </div>
1335
+ <div>
1336
+ <h2>Ranking Geral</h2>
1337
+ <div class="ranking">
1338
+ """
1339
+
1340
+ # Ranking geral
1341
+ if ranking_geral:
1342
+ for i, item in enumerate(ranking_geral, 1):
1343
+ medal = "🥇" if i == 1 else "🥈" if i == 2 else "🥉" if i == 3 else f"{i}º"
1344
+ html += f"""
1345
+ <div class="ranking-item">
1346
+ <div>
1347
+ <strong>{medal}</strong>
1348
+ <strong>{item['projeto__titulo']}</strong>
1349
+ <br>
1350
+ <small>{item['projeto__nome_equipe']} • {item['projeto__categoria__nome']}</small>
1351
+ </div>
1352
+ <div style="background: #024248; color: white; padding: 5px 15px; border-radius: 15px;">
1353
+ {item['votos']}
1354
+ </div>
1355
+ </div>
1356
+ """
1357
+ else:
1358
+ html += "<p style='padding: 40px; text-align: center;'>Nenhum voto registrado</p>"
1359
+
1360
+ html += """
1361
+ </div>
1362
+ </div>
1363
+ </div>
1364
+
1365
+ <div style="text-align: center; margin: 30px 0;">
1366
+ <a href="/admin/exportar-votos/" class="btn">Exportar Todos os Votos (CSV)</a>
1367
+ <a href="/admin/exportar-ranking/" class="btn">Exportar Ranking (CSV)</a>
1368
+ </div>
1369
+ </body>
1370
+ </html>
1371
+ """
1372
+
1373
+ return HttpResponse(html)
1374
+
1375
+ except Exception as e:
1376
+ return HttpResponse(f"<h1>Erro</h1><p>{e}</p><a href='/admin/'>Voltar</a>")
1249
1377
 
1250
1378
 
1251
- # Hook personalizado para adicionar estatísticas no admin
1252
- @hooks.register('construct_main_menu')
1253
- def add_votacao_stats_menu_item(request, menu_items):
1254
- """
1255
- Adiciona estatísticas de votação no menu principal
1256
- """
1257
- from django.urls import reverse
1258
- from wagtail.admin.menu import MenuItem
1379
+ # Exportar todos os votos
1380
+ def exportar_votos(request):
1381
+ if not request.user.is_staff:
1382
+ from django.http import HttpResponseForbidden
1383
+ return HttpResponseForbidden()
1259
1384
 
1260
- # Só mostra para superusers
1261
- if not request.user.is_superuser:
1262
- return
1263
-
1264
- # Contar totais
1265
1385
  try:
1266
- total_votos = VotoRegistrado.objects.count()
1267
- menu_items.append(
1268
- MenuItem(
1269
- f'📊 Votação ({total_votos} votos)',
1270
- reverse('wagtailadmin_home'),
1271
- icon_name='analytics',
1272
- order=1000
1273
- )
1274
- )
1275
- except:
1276
- pass # Se der erro na query, ignora
1386
+ from .models import VotoRegistrado
1387
+
1388
+ response = HttpResponse(content_type='text/csv; charset=utf-8')
1389
+ response['Content-Disposition'] = 'attachment; filename="todos_votos.csv"'
1390
+
1391
+ writer = csv.writer(response)
1392
+ writer.writerow(['ID', 'Data/Hora', 'Projeto', 'Categoria', 'Equipe', 'IP'])
1393
+
1394
+ votos = VotoRegistrado.objects.select_related('projeto', 'projeto__categoria').order_by('-timestamp')
1395
+
1396
+ for voto in votos:
1397
+ writer.writerow([
1398
+ str(voto.id),
1399
+ voto.timestamp.strftime('%d/%m/%Y %H:%M:%S'),
1400
+ voto.projeto.titulo,
1401
+ voto.projeto.categoria.nome,
1402
+ voto.projeto.nome_equipe,
1403
+ voto.ip_address
1404
+ ])
1405
+
1406
+ return response
1407
+
1408
+ except Exception as e:
1409
+ return HttpResponse(f"Erro: {e}")
1277
1410
 
1278
1411
 
1279
- # Hook para personalizar o dashboard
1280
- @hooks.register('construct_homepage_panels')
1281
- def add_votacao_dashboard_panel(request, panels):
1282
- """
1283
- Adiciona painel de estatísticas no dashboard
1284
- """
1285
- from django.template.loader import render_to_string
1286
- from wagtail.admin.ui.components import Component
1412
+ # Exportar ranking
1413
+ def exportar_ranking(request):
1414
+ if not request.user.is_staff:
1415
+ from django.http import HttpResponseForbidden
1416
+ return HttpResponseForbidden()
1287
1417
 
1288
1418
  try:
1289
- from .models import CategoriaVotacao, ProjetoVotacao
1419
+ from .models import VotoRegistrado, CategoriaVotacao
1420
+ from django.db.models import Count
1421
+
1422
+ response = HttpResponse(content_type='text/csv; charset=utf-8')
1423
+ response['Content-Disposition'] = 'attachment; filename="ranking_votacao.csv"'
1290
1424
 
1291
- # Buscar estatísticas
1292
- stats = {
1293
- 'total_categorias': CategoriaVotacao.objects.filter(ativo=True).count(),
1294
- 'total_projetos': ProjetoVotacao.objects.filter(ativo=True).count(),
1295
- 'total_votos': VotoRegistrado.objects.count(),
1296
- 'categorias_top': CategoriaVotacao.objects.filter(ativo=True)[:3]
1297
- }
1425
+ writer = csv.writer(response)
1426
+ writer.writerow(['Categoria', 'Posição', 'Projeto', 'Equipe', 'Total Votos'])
1298
1427
 
1299
- # HTML do painel
1300
- html = f"""
1301
- <div class="panel panel-info">
1302
- <h3>📊 Sistema de Votação</h3>
1303
- <ul>
1304
- <li><strong>{stats['total_categorias']}</strong> categorias ativas</li>
1305
- <li><strong>{stats['total_projetos']}</strong> projetos ativos</li>
1306
- <li><strong>{stats['total_votos']}</strong> votos registrados</li>
1307
- </ul>
1308
- <p><a href="/admin/snippets/enap_designsystem/categoriavotacao/" class="button button-small">Gerenciar Categorias</a></p>
1309
- <p><a href="/admin/snippets/enap_designsystem/projetovotacao/" class="button button-small">Gerenciar Projetos</a></p>
1310
- </div>
1311
- """
1428
+ # Por categoria
1429
+ categorias = CategoriaVotacao.objects.filter(ativo=True).order_by('ordem')
1312
1430
 
1313
- panels.append(Component(html))
1431
+ for categoria in categorias:
1432
+ ranking = (VotoRegistrado.objects
1433
+ .filter(projeto__categoria=categoria)
1434
+ .values('projeto__titulo', 'projeto__nome_equipe')
1435
+ .annotate(votos=Count('id'))
1436
+ .order_by('-votos'))
1437
+
1438
+ for i, item in enumerate(ranking, 1):
1439
+ writer.writerow([
1440
+ categoria.nome,
1441
+ i,
1442
+ item['projeto__titulo'],
1443
+ item['projeto__nome_equipe'],
1444
+ item['votos']
1445
+ ])
1446
+
1447
+ return response
1314
1448
 
1315
1449
  except Exception as e:
1316
- # Se der erro, não quebra o admin
1317
- pass
1450
+ return HttpResponse(f"Erro: {e}")
1451
+
1452
+
1453
+ # Menu lateral - só isso
1454
+ @hooks.register('construct_main_menu')
1455
+ def menu_dashboard_votacao(request, menu_items):
1456
+ from wagtail.admin.menu import MenuItem
1457
+
1458
+ if request.user.is_staff:
1459
+ menu_items.append(MenuItem(
1460
+ 'Dashboard Votação',
1461
+ '/admin/dashboard-votacao/',
1462
+ icon_name='view',
1463
+ order=450
1464
+ ))
1465
+
1466
+
1467
+ # URLs
1468
+ @hooks.register('register_admin_urls')
1469
+ def register_urls():
1470
+ from django.urls import path
1471
+ return [
1472
+ path('dashboard-votacao/', dashboard_votacao_view, name='dashboard_votacao'),
1473
+ path('exportar-votos/', exportar_votos, name='exportar_votos'),
1474
+ path('exportar-ranking/', exportar_ranking, name='exportar_ranking'),
1475
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wagtail-enap-designsystem
3
- Version: 1.2.1.121
3
+ Version: 1.2.1.123
4
4
  Summary: Módulo de componentes utilizado nos portais ENAP, desenvolvido com Wagtail + CodeRedCMS
5
5
  Author: Renan Campos
6
6
  Author-email: renan.oliveira@enap.gov.br
@@ -1,22 +1,23 @@
1
1
  enap_designsystem/__init__.py,sha256=_SM5n--8zkHIEZfCoc7wEfm6hQT8cuATZSRlLdrD7Rg,68
2
2
  enap_designsystem/apps.py,sha256=psX3YlGfqmPsaZZzRL4cpDTGvjwfNJT_0Vvizc_LIEg,226
3
3
  enap_designsystem/context_processors.py,sha256=IBYJGQpfan6gck4XcWMJMugAUKtnKpKX9XB5tZzmNbo,472
4
- enap_designsystem/models.py,sha256=V2SbxwI9cpFAUkJ7s5QllNTZYdPHxSsOWt9xD3qD4Xc,140989
4
+ enap_designsystem/models.py,sha256=g4AW9e9rN2CtoTvR71XwK9p0qMDEPmW2y2f1c4Am3L8,140142
5
5
  enap_designsystem/settings.py,sha256=9PXLYaJHaUr6Mc9qxNg34zdX7dtxDVlNXomJ-nS7-Vw,745
6
6
  enap_designsystem/signals.py,sha256=oaHpZms4Dkc97ql-55Q0QxU7-45jwg2Y1XoRDOJ45tc,1978
7
- enap_designsystem/urls.py,sha256=mEwIIesWtmekY6A04l-vogs2-srxncdgjP0lmGOAIfo,2162
8
- enap_designsystem/views.py,sha256=b6fSGCI_eeAVjrkNNhpuVBi62NwqcryFV5cBkUjNK5o,79450
9
- enap_designsystem/wagtail_hooks.py,sha256=ftWXSAqtr1fFUO6Gws5IMfwPALJaPAcSglm8rRVOV-k,49251
10
- enap_designsystem/blocks/__init__.py,sha256=F9NHc5bD442qMfeYrmp9ql9mQuydMV4otrcZFzh625Y,37967
7
+ enap_designsystem/urls.py,sha256=EJ52w-55BysQU5pTZR4ltMtZM7aSKyjZdnQDGFipDXY,2219
8
+ enap_designsystem/views.py,sha256=6Du7WPcij-ztv5WrA9s5eukgXLGJHv0XD5y6OYZWAo4,78310
9
+ enap_designsystem/wagtail_hooks.py,sha256=OZhdzNolcQ4OOa6JSc6uAYvizvuiCtevFP9bRu8p80k,55920
10
+ enap_designsystem/blocks/__init__.py,sha256=kKETBU83e49c2itEgh57PqMf_GhfhBY5a1nQLU17uM8,38245
11
11
  enap_designsystem/blocks/base_blocks.py,sha256=ZuqVWn4PEAvD3pKM1ST7wjo4lwv98ooen_rs15rRJbg,10866
12
12
  enap_designsystem/blocks/chatbot_blocks.py,sha256=YeCznrXMbFa9MP9vjdTYl53ZhKsywkGOXvFK2bwcqW0,1133
13
13
  enap_designsystem/blocks/content_blocks.py,sha256=4oWDtY0zmvC6k7v_WduCTAyGapJuQTsfJ9ij_vJZXxY,16549
14
- enap_designsystem/blocks/form.py,sha256=FHRrDuDHhZeI0qNUrJaKa_dzTWqNA78yDEqMwiI4Usw,54954
15
- enap_designsystem/blocks/html_blocks.py,sha256=bIqXXFoHmWg_rbfx283OF7eEqOq6F47SZfxEYu6m_t0,230441
14
+ enap_designsystem/blocks/form.py,sha256=5lpVRA-pB7SdAKOLF8gRwhinqgtE9tSucoKiRxWJWf8,58450
15
+ enap_designsystem/blocks/html_blocks.py,sha256=7sk-63AOK4qteAb9k9MAeHyJh1DO1Xf4-BNNpo843i0,234194
16
16
  enap_designsystem/blocks/layout_blocks.py,sha256=WyVt3nwYxA4Eqr6-MqQY7W-xtjh07ZhstM8aiQaHmLw,23388
17
17
  enap_designsystem/blocks/semana_blocks.py,sha256=tJ8bFvW6lTSnLp2Wf1CARNSM4UoGl95lvYmxik5g0GA,70251
18
- enap_designsystem/blocks/semana_inovacao.py,sha256=7AKQ-3huoTqIix3I_Xi-nwWdw8Qo7m9sXQzOnz-lREI,46982
18
+ enap_designsystem/blocks/semana_inovacao.py,sha256=u2GivQWRvRbry21fPTgy1BPrmWGfrXDAaiG8bpqcDSY,46989
19
19
  enap_designsystem/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ enap_designsystem/middleware/aluno_sso.py,sha256=baitPngI34eKwHKaku-5JIbDAnXpEHPvRFTs9AY1K6o,542
20
21
  enap_designsystem/middleware/wagtail_userbar_safe.py,sha256=5A_bmUqL7DtVb2LNs9yyo9BZ4lasQTVVY8fOYnwU8ZI,633
21
22
  enap_designsystem/migrations/0001_initial.py,sha256=GmnE8N8hBKLlCNabhOjpzhNMSoHsPqy-ZUsojyCvKO0,154972
22
23
  enap_designsystem/migrations/0002_alter_enapformacao_accordion_cursos.py,sha256=3oOLLXyNNRTdM6SJ46W6s8mhCftkd0v1fOJiXeyiTdI,7137
@@ -416,6 +417,11 @@ enap_designsystem/migrations/0378_mbaespecializacao_cards_alter_areaaluno_body_a
416
417
  enap_designsystem/migrations/0379_categoriavotacao_sistemavotacaopage_and_more.py,sha256=vAmb9dkeGGmSwR8K7O2rSUQ7evCpCXNAMQfDrF9IALM,2296363
417
418
  enap_designsystem/migrations/0380_sistemavotacaopage_imagem_fundo.py,sha256=m0lVQcdHUJ2MVcSwd5OaWgcfJGSlL4CvItex707u9wU,959
418
419
  enap_designsystem/migrations/0381_sistemavotacaopage_footer_sistemavotacaopage_navbar.py,sha256=neUnvRYwPpQhnr1-1SrQb0HgGZz4WmBuzAmSsX28WgM,1035
420
+ enap_designsystem/migrations/0382_alter_areaaluno_body_alter_cursoeadpage_curso_and_more.py,sha256=NbP72JLDfCdDDRhjpFM8BTvCxJIu7KRZZ-qIJcLduF4,2281660
421
+ enap_designsystem/migrations/0383_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py,sha256=QmmkrNJkD2_9_x4k4u9O2cIvmAva2Q8zNj0Yk68ZJFg,2281760
422
+ enap_designsystem/migrations/0384_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py,sha256=UODXt074Jel7ZJNx2QaGtxFZggk5axmbPA5j0waDQh8,2315650
423
+ enap_designsystem/migrations/0385_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py,sha256=cYVZcJXRACtKLN32YQKeZPL5bMpmm1t7EhjKF6b7hyM,2331665
424
+ enap_designsystem/migrations/0386_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py,sha256=OkDn4fsaj9pOIucZ5ZaXO6zDJm0-MSPeyfOV5CItrHM,2324369
419
425
  enap_designsystem/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
420
426
  enap_designsystem/search_backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
421
427
  enap_designsystem/search_backends/custom_elasticsearch.py,sha256=LeQT0_dJmNMTY7l3jOJ_7mJ9-2X0oXVqvxRiXEA0qGY,988
@@ -577,7 +583,7 @@ enap_designsystem/static/imagens/todos.jpg,sha256=5iX0s0IkFhz2e-ysQ3Iu1qKp5auSz5
577
583
  enap_designsystem/static/imagens/trilhas.jpg,sha256=lF_FmSDFIbXCcc1uar5-2KmHHKBYMjXpoj9QtGEMiJw,53976
578
584
  enap_designsystem/templates/404.html,sha256=zWLrPMFuUT8N4XZhhApJlV8Qp74j24pNuPek3sxMyxs,9831
579
585
  enap_designsystem/templates/area_do_aluno.html,sha256=OOgmzgTuCz9ApYlabb2eYuMd3D2Jyt4JUjmH3u50tic,217
580
- enap_designsystem/templates/custom_404.html,sha256=gsJpZL9EK1l1GwIkFdCNHLLjA2v3QS_w7ozwWbuoA88,9798
586
+ enap_designsystem/templates/custom_404.html,sha256=zWLrPMFuUT8N4XZhhApJlV8Qp74j24pNuPek3sxMyxs,9831
581
587
  enap_designsystem/templates/logout_intermediario.html,sha256=3omva26SjLgi7LULnPER79EmMofm5JICKiy--1D63Jk,665
582
588
  enap_designsystem/templates/teste_login_sso.html,sha256=ThGCDsq3b1aEgsp24O9FpmCAaz0ijtW2seXkQzQPd3M,557
583
589
  enap_designsystem/templates/Holofote/draft_holofote.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -586,10 +592,12 @@ enap_designsystem/templates/admin/exportar_respostas.html,sha256=jF7hGJ6LkbKo536
586
592
  enap_designsystem/templates/admin/meta_tags_manager.html,sha256=jXNvT9etPN88TNT8Ou8ko-AHComioM9p8iU1lpW5m3k,11826
587
593
  enap_designsystem/templates/enap_designsystem/accordion_v2.html,sha256=SE-72OoHu-WucITL-CPR4XJzfLHrq78kmiytaSJB3Lc,4228
588
594
  enap_designsystem/templates/enap_designsystem/base.html,sha256=bBWBjIUwzIqbTf5wIqajFNgloN38XajTFakWfb0GfCM,12712
589
- enap_designsystem/templates/enap_designsystem/sistema_votacao_page.html,sha256=lzpf2zRB-92V5XJrX3Gv9nqLP9Z0tLObMFyeMw0s2FQ,54488
595
+ enap_designsystem/templates/enap_designsystem/sistema_votacao_page.html,sha256=QrM1VPWVmeeISJO3vEOSt9HlHzfuwuWirivsUweUlx4,53103
590
596
  enap_designsystem/templates/enap_designsystem/blocks/accordions.html,sha256=WXBQrkO4U0R8SDbdbFRWBx742gdpiYiKEviiyQURZMk,2940
591
597
  enap_designsystem/templates/enap_designsystem/blocks/accordionsv2.html,sha256=-WXIV6zFjdbRAylWhF9mQkMxUr1Df4-d3OazVm1xT9s,5186
592
598
  enap_designsystem/templates/enap_designsystem/blocks/alerts.html,sha256=_lbwHiFS4eauJtlQB6j-xWR31sKH7lv1EKD9oI2cki4,2067
599
+ enap_designsystem/templates/enap_designsystem/blocks/apresentacao_block.html,sha256=DhS7ENEu-t2Qg4HaF77eMrye4NEfKnSKLPCNrygrTk8,3444
600
+ enap_designsystem/templates/enap_designsystem/blocks/apresentacao_simple_block.html,sha256=AgXl02G029uWa5Ce-LNGt98iW6wjRrl_RkAwnwyUgDA,6050
593
601
  enap_designsystem/templates/enap_designsystem/blocks/article_grid_block.html,sha256=MkfZ86H3_0MjQlY42VH_KxxRkherRA9qWBR560Ya6Fs,5847
594
602
  enap_designsystem/templates/enap_designsystem/blocks/article_page.html,sha256=fgszv3Oa8c56euX0RM15RhJXFZPwGu3t3ZPJ26EsyrA,1406
595
603
  enap_designsystem/templates/enap_designsystem/blocks/auto_breadcrumb_block.html,sha256=mhswvCGpN_c5N9pvGl1Ce19iCaippnfKKEAQzgI873s,1028
@@ -721,7 +729,7 @@ enap_designsystem/templates/enap_designsystem/blocks/suap/apisuap_courses_block.
721
729
  enap_designsystem/templates/enap_designsystem/blocks/suap/suap_courses_block.html,sha256=6F3cJ2O_juoc1TZkh7qL1MFfPGQGzOtrzDDWJqb52io,15690
722
730
  enap_designsystem/templates/enap_designsystem/blocks/suap/suap_events_block.html,sha256=mL2DFQeAuDIx_GyCoEURKmME-Mmd-zQ_NZkO7YW9Z2k,20182
723
731
  enap_designsystem/templates/enap_designsystem/form_templates/form_report.html,sha256=WXf4HgNQY0M6zZ-tERqf01mHbGflqWXT96RaJYjCxFA,16081
724
- enap_designsystem/templates/enap_designsystem/form_templates/formulario_page.html,sha256=fWNpSB5IniMyiV3Y0G69zPXdlQtw71vetlgH-7OLAX4,63466
732
+ enap_designsystem/templates/enap_designsystem/form_templates/formulario_page.html,sha256=CljK7_4-nnzJByQ10OG4palHxYGSmrKLOmK-0rt-0Wk,81387
725
733
  enap_designsystem/templates/enap_designsystem/form_templates/formulario_page_landing.html,sha256=YsxUFe2U7aQHY8Xb_WeCjwQZWJOpLVlhS8Q3HpCMNug,7670
726
734
  enap_designsystem/templates/enap_designsystem/form_templates/formulario_page_success.html,sha256=c4w6PvTR5_g8P5wCxs_Xu235JyHRgLNtM0eD33XcVTI,9435
727
735
  enap_designsystem/templates/enap_designsystem/form_templates/home_page.html,sha256=BYV5TV6xp0uY3SWtNsAf8p-aDqPiHfM8j4pWbqTUV2M,42329
@@ -730,7 +738,7 @@ enap_designsystem/templates/enap_designsystem/form_templates/welcome_page.html,s
730
738
  enap_designsystem/templates/enap_designsystem/includes/chatbot_global.html,sha256=CO7wXrGx1l_icY8vb9OdrILCUXEFBomJPPxQz_e9hq4,12308
731
739
  enap_designsystem/templates/enap_designsystem/includes/cookie_banner.html,sha256=vyrvj1W_haSA4oKmQiyjFpjoTFqjPSZfz3u5nfr-P2g,10871
732
740
  enap_designsystem/templates/enap_designsystem/includes/footer.html,sha256=qsDmN413A_NNOhRFZz1Uxym1j5UPVhEDuRRDLTgRMPA,4063
733
- enap_designsystem/templates/enap_designsystem/includes/form_field.html,sha256=B19SZzXQg-blqcv2F4D5aATru7U-OQyvJ7BSBrM9QuQ,40415
741
+ enap_designsystem/templates/enap_designsystem/includes/form_field.html,sha256=vdNFrwF21Y8eVDcz4PvJ-yg0H5r87OGREFxJy0U_ycg,64479
734
742
  enap_designsystem/templates/enap_designsystem/pages/404.html,sha256=yibkQlRTOZdyOVsDcNdqXjzmQwVq3QH5ztf0gNtbt58,2885
735
743
  enap_designsystem/templates/enap_designsystem/pages/area_aluno.html,sha256=lpHBVsnuZ0kARnH10xfFBPldABAvLGNMnVuvPACP3FU,15783
736
744
  enap_designsystem/templates/enap_designsystem/pages/article_index_page.html,sha256=6VjJ3_EroEPCidFCW5gBDzvbi81UcFX9lGpbc4j6r9U,11482
@@ -739,7 +747,7 @@ enap_designsystem/templates/enap_designsystem/pages/curso_ead.html,sha256=DGnfwO
739
747
  enap_designsystem/templates/enap_designsystem/pages/durante_evento.html,sha256=cp5Z9KHmNvj5nAMVuUJWxu6lPqjs5GRP8raASp5Tw6U,9876
740
748
  enap_designsystem/templates/enap_designsystem/pages/enap_layout.html,sha256=nZV71dI5MiM2CC6vbcKAX2H0fuqBsz2jvSOwtODEluU,1969
741
749
  enap_designsystem/templates/enap_designsystem/pages/enap_layout_semana.html,sha256=nZV71dI5MiM2CC6vbcKAX2H0fuqBsz2jvSOwtODEluU,1969
742
- enap_designsystem/templates/enap_designsystem/pages/mba_especializacao.html,sha256=V9wLI-dfDXw66mO8pkd34tuJTbn0iW6BziGBuInr-nc,6136
750
+ enap_designsystem/templates/enap_designsystem/pages/mba_especializacao.html,sha256=RvVB5sdS6EJa5WUvvGgcSnr_Ax_DUw4ALEjlXefFQz0,6339
743
751
  enap_designsystem/templates/enap_designsystem/pages/page_search.html,sha256=UXdIjKfcRVuf5B1MlJAOUSoUOMZlUdO1Xs5YnhUfRxE,49824
744
752
  enap_designsystem/templates/enap_designsystem/pages/pagepreview_block.html,sha256=RBqtL0rphuSh5Bi4XPPtXlGUf_zyWFPZY3xwJb8hhZM,235
745
753
  enap_designsystem/templates/enap_designsystem/pages/pos_evento.html,sha256=Y5dgwbLLbE4SmXdt493RcQQpsMqjP3zF5xXxjFXTfrs,3281
@@ -816,8 +824,8 @@ enap_designsystem/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
816
824
  enap_designsystem/utils/decorators.py,sha256=aq6SbLn0LcH2rfE3ZFit8jkD7pSx9fLVBUUwVB747hg,335
817
825
  enap_designsystem/utils/services.py,sha256=6dG5jLSbwH49jpZV9ZNpWlaZqI49gTlwlr1vaerxdiU,5824
818
826
  enap_designsystem/utils/sso.py,sha256=vjAuoYgoLeQAa_dkkyQ6-LmHvKMaVCxizNFpe5y3iUA,1145
819
- wagtail_enap_designsystem-1.2.1.121.dist-info/licenses/LICENSE,sha256=Btzdu2kIoMbdSp6OyCLupB1aRgpTCJ_szMimgEnpkkE,1056
820
- wagtail_enap_designsystem-1.2.1.121.dist-info/METADATA,sha256=eIAyf3PzRZWnhMQROTsxWuPo9MjLAJbE43E3vDaFf_U,3651
821
- wagtail_enap_designsystem-1.2.1.121.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
822
- wagtail_enap_designsystem-1.2.1.121.dist-info/top_level.txt,sha256=RSFgMASxoA-hVftm5i4Qd0rArlX4Dq08lLv5G4sYD-g,18
823
- wagtail_enap_designsystem-1.2.1.121.dist-info/RECORD,,
827
+ wagtail_enap_designsystem-1.2.1.123.dist-info/licenses/LICENSE,sha256=Btzdu2kIoMbdSp6OyCLupB1aRgpTCJ_szMimgEnpkkE,1056
828
+ wagtail_enap_designsystem-1.2.1.123.dist-info/METADATA,sha256=C9IQxjF2QGsmSw1QQv9vVb33IRbBr-FoSALWjREvYN0,3651
829
+ wagtail_enap_designsystem-1.2.1.123.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
830
+ wagtail_enap_designsystem-1.2.1.123.dist-info/top_level.txt,sha256=RSFgMASxoA-hVftm5i4Qd0rArlX4Dq08lLv5G4sYD-g,18
831
+ wagtail_enap_designsystem-1.2.1.123.dist-info/RECORD,,