Browse Source

Fix #23

pull/66/head
Sesostris Vieira 4 years ago
parent
commit
aaf8986965
  1. 22
      sigi/apps/eventos/admin.py
  2. 38
      sigi/apps/eventos/migrations/0007_auto_20210417_0744.py
  3. 14
      sigi/apps/eventos/models.py

22
sigi/apps/eventos/admin.py

@ -26,9 +26,10 @@ from sigi.apps.eventos.models import TipoEvento, Funcao, Evento, Equipe, Convite
class EventoAdminForm(forms.ModelForm): class EventoAdminForm(forms.ModelForm):
class Meta: class Meta:
model = Evento model = Evento
fields = ('tipo_evento', 'nome', 'descricao', 'solicitante', 'data_inicio', 'data_termino', fields = ('tipo_evento', 'nome', 'descricao', 'virtual', 'solicitante',
'casa_anfitria', 'municipio', 'local', 'publico_alvo', 'status', 'data_inicio', 'data_termino', 'carga_horaria',
'data_cancelamento', 'motivo_cancelamento', ) 'casa_anfitria', 'municipio', 'local', 'publico_alvo',
'status', 'data_cancelamento', 'motivo_cancelamento', )
def clean(self): def clean(self):
cleaned_data = super(EventoAdminForm, self).clean() cleaned_data = super(EventoAdminForm, self).clean()
@ -36,8 +37,10 @@ class EventoAdminForm(forms.ModelForm):
data_termino = cleaned_data.get("data_termino") data_termino = cleaned_data.get("data_termino")
if data_inicio > data_termino: if data_inicio > data_termino:
raise forms.ValidationError(_(u"Data término deve ser posterior à data inicio"), raise forms.ValidationError(
code="invalid_period" ) _(u"Data término deve ser posterior à data inicio"),
code="invalid_period"
)
@admin.register(TipoEvento) @admin.register(TipoEvento)
class TipoEventAdmin(admin.ModelAdmin): class TipoEventAdmin(admin.ModelAdmin):
@ -59,12 +62,11 @@ class ConviteInline(admin.TabularInline):
class EventoAdmin(admin.ModelAdmin): class EventoAdmin(admin.ModelAdmin):
form = EventoAdminForm form = EventoAdminForm
date_hierarchy = 'data_inicio' date_hierarchy = 'data_inicio'
list_display = ('nome', 'tipo_evento', 'status', 'data_inicio', 'data_termino', 'municipio', list_display = ('nome', 'tipo_evento', 'status', 'data_inicio',
'solicitante') 'data_termino', 'municipio', 'solicitante')
list_filter = ('status', 'tipo_evento', 'municipio__uf', 'solicitante') list_filter = ('status', 'tipo_evento', 'virtual', 'municipio__uf',
'solicitante')
raw_id_fields = ('casa_anfitria', 'municipio',) raw_id_fields = ('casa_anfitria', 'municipio',)
search_fields = ('nome', 'tipo_evento__nome', 'casa_anfitria__search_text', search_fields = ('nome', 'tipo_evento__nome', 'casa_anfitria__search_text',
'municipio__search_text', 'solicitante') 'municipio__search_text', 'solicitante')
inlines = (EquipeInline, ConviteInline) inlines = (EquipeInline, ConviteInline)

38
sigi/apps/eventos/migrations/0007_auto_20210417_0744.py

@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('eventos', '0006_auto_20210416_0841'),
]
operations = [
migrations.AddField(
model_name='convite',
name='nomes_participantes',
field=models.TextField(help_text='Favor colocar um participante por linha', verbose_name='nome dos participantes', blank=True),
preserve_default=True,
),
migrations.AddField(
model_name='convite',
name='qtde_participantes',
field=models.PositiveIntegerField(default=0, verbose_name='n\xfamero de participantes'),
preserve_default=True,
),
migrations.AddField(
model_name='evento',
name='carga_horaria',
field=models.PositiveIntegerField(default=0, verbose_name='carga hor\xe1ria'),
preserve_default=True,
),
migrations.AddField(
model_name='evento',
name='virtual',
field=models.BooleanField(default=False, verbose_name='Virtual'),
preserve_default=True,
),
]

14
sigi/apps/eventos/models.py

@ -33,9 +33,14 @@ class Evento(models.Model):
) )
nome = models.CharField(_(u"Nome do evento"), max_length=100) nome = models.CharField(_(u"Nome do evento"), max_length=100)
descricao = models.TextField(_(u"Descrição do evento")) descricao = models.TextField(_(u"Descrição do evento"))
virtual = models.BooleanField(_("Virtual"), default=False)
solicitante = models.CharField(_(u"Solicitante"), max_length=100) solicitante = models.CharField(_(u"Solicitante"), max_length=100)
data_inicio = models.DateField(_(u"Data de início")) data_inicio = models.DateField(_(u"Data de início"))
data_termino = models.DateField(_(u"Data de término")) data_termino = models.DateField(_(u"Data de término"))
carga_horaria = models.PositiveIntegerField(
_(u"carga horária"),
default=0
)
casa_anfitria = models.ForeignKey( casa_anfitria = models.ForeignKey(
Orgao, Orgao,
on_delete=models.PROTECT, on_delete=models.PROTECT,
@ -125,6 +130,15 @@ class Convite(models.Model):
data_convite = models.DateField(_(u"Data do convite")) data_convite = models.DateField(_(u"Data do convite"))
aceite = models.BooleanField(_("Aceitou o convite"), default=False) aceite = models.BooleanField(_("Aceitou o convite"), default=False)
participou = models.BooleanField(_(u"Participou do evento"), default=False) participou = models.BooleanField(_(u"Participou do evento"), default=False)
qtde_participantes = models.PositiveIntegerField(
_(u"número de participantes"),
default=0
)
nomes_participantes = models.TextField(
_(u"nome dos participantes"),
blank=True,
help_text=_(u"Favor colocar um participante por linha")
)
class Meta: class Meta:
ordering = ('evento', 'casa', '-data_convite') ordering = ('evento', 'casa', '-data_convite')

Loading…
Cancel
Save