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