mirror of https://github.com/interlegis/sigi.git
Sesóstris Vieira
1 year ago
11 changed files with 331 additions and 201 deletions
@ -0,0 +1,15 @@ |
|||||
|
from django.urls import path, include |
||||
|
from sigi.apps.eventos import views |
||||
|
|
||||
|
urlpatterns = [ |
||||
|
path( |
||||
|
"evento/<int:pk>/", |
||||
|
views.ApiEventoRetrieve.as_view(), |
||||
|
name="api_eventos_evento_view", |
||||
|
), |
||||
|
path( |
||||
|
"evento/", |
||||
|
views.ApiEventoList.as_view(), |
||||
|
name="api_eventos_evento_list", |
||||
|
), |
||||
|
] |
@ -0,0 +1,77 @@ |
|||||
|
# Generated by Django 4.2.4 on 2023-09-19 11:55 |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
dependencies = [ |
||||
|
("eventos", "0043_alter_solicitacao_estimativa_casas_and_more"), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AddField( |
||||
|
model_name="evento", |
||||
|
name="chave_inscricao", |
||||
|
field=models.CharField( |
||||
|
blank=True, max_length=100, verbose_name="chave de inscrição" |
||||
|
), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name="evento", |
||||
|
name="contato_inscricao", |
||||
|
field=models.CharField( |
||||
|
blank=True, |
||||
|
help_text="pessoa ou setor responsável por dar suporte aos alunos no processo de inscrição", |
||||
|
max_length=100, |
||||
|
verbose_name="contato para inscrição", |
||||
|
), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name="evento", |
||||
|
name="observacao_inscricao", |
||||
|
field=models.TextField( |
||||
|
blank=True, |
||||
|
help_text="Mais detalhes para ajudar o aluno a se inscrever no curso", |
||||
|
verbose_name="Observações para inscrição", |
||||
|
), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name="evento", |
||||
|
name="perfil_aluno", |
||||
|
field=models.URLField( |
||||
|
blank=True, |
||||
|
help_text="Link completo da página de perfil do aluno deste curso no Saberes", |
||||
|
verbose_name="Link do perfil do aluno", |
||||
|
), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name="evento", |
||||
|
name="telefone_inscricao", |
||||
|
field=models.CharField( |
||||
|
blank=True, |
||||
|
help_text="telefone da pessoa ou setor responsável por dar suporte aos alunos no processo de inscrição", |
||||
|
max_length=30, |
||||
|
verbose_name="telefone do contato", |
||||
|
), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name="evento", |
||||
|
name="contato", |
||||
|
field=models.CharField( |
||||
|
blank=True, |
||||
|
help_text="pessoa de contato na casa anfitriã", |
||||
|
max_length=100, |
||||
|
verbose_name="contato", |
||||
|
), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name="evento", |
||||
|
name="telefone", |
||||
|
field=models.CharField( |
||||
|
blank=True, |
||||
|
help_text="telefone da pessoa de contato na casa anfitriã", |
||||
|
max_length=30, |
||||
|
verbose_name="tefone de contato", |
||||
|
), |
||||
|
), |
||||
|
] |
@ -0,0 +1,67 @@ |
|||||
|
from rest_framework import serializers |
||||
|
from sigi.apps.eventos.models import Evento |
||||
|
|
||||
|
|
||||
|
class EventoSerializer(serializers.ModelSerializer): |
||||
|
casa_nome = serializers.SerializerMethodField("get_casa_nome") |
||||
|
casa_logradouro = serializers.SerializerMethodField("get_casa_logradouro") |
||||
|
casa_bairro = serializers.SerializerMethodField("get_casa_bairro") |
||||
|
casa_municipio = serializers.SerializerMethodField("get_casa_municipio") |
||||
|
casa_uf = serializers.SerializerMethodField("get_casa_uf") |
||||
|
casa_cep = serializers.SerializerMethodField("get_casa_cep") |
||||
|
|
||||
|
class Meta: |
||||
|
model = Evento |
||||
|
fields = [ |
||||
|
"id", |
||||
|
"nome", |
||||
|
"turma", |
||||
|
"publico_alvo", |
||||
|
"data_inicio", |
||||
|
"data_termino", |
||||
|
"carga_horaria", |
||||
|
"local", |
||||
|
"casa_nome", |
||||
|
"casa_logradouro", |
||||
|
"casa_bairro", |
||||
|
"casa_municipio", |
||||
|
"casa_uf", |
||||
|
"casa_cep", |
||||
|
"link_inscricao", |
||||
|
"chave_inscricao", |
||||
|
"perfil_aluno", |
||||
|
"observacao_inscricao", |
||||
|
"contato_inscricao", |
||||
|
"telefone_inscricao", |
||||
|
"banner", |
||||
|
] |
||||
|
|
||||
|
def get_casa_nome(self, obj): |
||||
|
if obj.casa_anfitria: |
||||
|
return obj.casa_anfitria.nome |
||||
|
return "" |
||||
|
|
||||
|
def get_casa_logradouro(self, obj): |
||||
|
if obj.casa_anfitria: |
||||
|
return obj.casa_anfitria.logradouro |
||||
|
return "" |
||||
|
|
||||
|
def get_casa_bairro(self, obj): |
||||
|
if obj.casa_anfitria: |
||||
|
return obj.casa_anfitria.bairro |
||||
|
return "" |
||||
|
|
||||
|
def get_casa_municipio(self, obj): |
||||
|
if obj.casa_anfitria: |
||||
|
return obj.casa_anfitria.municipio.nome |
||||
|
return "" |
||||
|
|
||||
|
def get_casa_uf(self, obj): |
||||
|
if obj.casa_anfitria: |
||||
|
return obj.casa_anfitria.municipio.uf.nome |
||||
|
return "" |
||||
|
|
||||
|
def get_casa_cep(self, obj): |
||||
|
if obj.casa_anfitria: |
||||
|
return obj.casa_anfitria.cep |
||||
|
return "" |
@ -0,0 +1,7 @@ |
|||||
|
from rest_framework.pagination import PageNumberPagination |
||||
|
from rest_framework.settings import api_settings |
||||
|
|
||||
|
|
||||
|
class SigiPageNumberPagination(PageNumberPagination): |
||||
|
page_size_query_param = "page_size" |
||||
|
max_page_size = 100 |
Loading…
Reference in new issue