|
@ -13,13 +13,20 @@ from tinymce.models import HTMLField |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TipoEvento(models.Model): |
|
|
class TipoEvento(models.Model): |
|
|
|
|
|
CATEGORIA_CURSO = "C" |
|
|
|
|
|
CATEGORIA_ENCONTRO = "E" |
|
|
|
|
|
CATEGORIA_OFICINA = "O" |
|
|
|
|
|
CATEGORIA_SEMINARIO = "S" |
|
|
|
|
|
CATEGORIA_VISITA = "V" |
|
|
|
|
|
|
|
|
CATEGORIA_CHOICES = ( |
|
|
CATEGORIA_CHOICES = ( |
|
|
("C", _("Curso")), |
|
|
(CATEGORIA_CURSO, _("Curso")), |
|
|
("E", _("Encontro")), |
|
|
(CATEGORIA_ENCONTRO, _("Encontro")), |
|
|
("O", _("Oficina")), |
|
|
(CATEGORIA_OFICINA, _("Oficina")), |
|
|
("S", _("Seminário")), |
|
|
(CATEGORIA_SEMINARIO, _("Seminário")), |
|
|
("V", _("Visita")), |
|
|
(CATEGORIA_VISITA, _("Visita")), |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
nome = models.CharField(_("Nome"), max_length=100) |
|
|
nome = models.CharField(_("Nome"), max_length=100) |
|
|
categoria = models.CharField( |
|
|
categoria = models.CharField( |
|
|
_("Categoaria"), max_length=1, choices=CATEGORIA_CHOICES |
|
|
_("Categoaria"), max_length=1, choices=CATEGORIA_CHOICES |
|
@ -36,15 +43,24 @@ class TipoEvento(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Evento(models.Model): |
|
|
class Evento(models.Model): |
|
|
|
|
|
STATUS_PLANEJAMENTO = "E" |
|
|
|
|
|
STATUS_AGUARDANDOSIGAD = "G" |
|
|
|
|
|
STATUS_PREVISAO = "P" |
|
|
|
|
|
STATUS_ACONFIRMAR = "A" |
|
|
|
|
|
STATUS_CONFIRMADO = "O" |
|
|
|
|
|
STATUS_REALIZADO = "R" |
|
|
|
|
|
STATUS_CANCELADO = "C" |
|
|
|
|
|
STATUS_ARQUIVADO = "Q" |
|
|
|
|
|
|
|
|
STATUS_CHOICES = ( |
|
|
STATUS_CHOICES = ( |
|
|
("E", _("Em planejamento")), |
|
|
(STATUS_PLANEJAMENTO, _("Em planejamento")), |
|
|
("G", _("Aguardando abertura SIGAD")), |
|
|
(STATUS_AGUARDANDOSIGAD, _("Aguardando abertura SIGAD")), |
|
|
("P", _("Previsão")), |
|
|
(STATUS_PREVISAO, _("Previsão")), |
|
|
("A", _("A confirmar")), |
|
|
(STATUS_ACONFIRMAR, _("A confirmar")), |
|
|
("O", _("Confirmado")), |
|
|
(STATUS_CONFIRMADO, _("Confirmado")), |
|
|
("R", _("Realizado")), |
|
|
(STATUS_REALIZADO, _("Realizado")), |
|
|
("C", _("Cancelado")), |
|
|
(STATUS_CANCELADO, _("Cancelado")), |
|
|
("Q", _("Arquivado")), |
|
|
(STATUS_ARQUIVADO, _("Arquivado")), |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
tipo_evento = models.ForeignKey( |
|
|
tipo_evento = models.ForeignKey( |
|
@ -133,7 +149,7 @@ class Evento(models.Model): |
|
|
return self.num_processo |
|
|
return self.num_processo |
|
|
|
|
|
|
|
|
def save(self, *args, **kwargs): |
|
|
def save(self, *args, **kwargs): |
|
|
if self.status != "C": |
|
|
if self.status != Evento.STATUS_CANCELADO: |
|
|
self.data_cancelamento = None |
|
|
self.data_cancelamento = None |
|
|
self.motivo_cancelamento = "" |
|
|
self.motivo_cancelamento = "" |
|
|
if self.data_inicio > self.data_termino: |
|
|
if self.data_inicio > self.data_termino: |
|
@ -144,6 +160,12 @@ class Evento(models.Model): |
|
|
total = total["total"] |
|
|
total = total["total"] |
|
|
if total and total > 0: |
|
|
if total and total > 0: |
|
|
self.total_participantes = total |
|
|
self.total_participantes = total |
|
|
|
|
|
if self.status in [ |
|
|
|
|
|
Evento.STATUS_PLANEJAMENTO, |
|
|
|
|
|
Evento.STATUS_AGUARDANDOSIGAD, |
|
|
|
|
|
Evento.STATUS_PREVISAO, |
|
|
|
|
|
Evento.STATUS_ACONFIRMAR, |
|
|
|
|
|
]: |
|
|
if ( |
|
|
if ( |
|
|
self.cronograma_set.count() == 0 |
|
|
self.cronograma_set.count() == 0 |
|
|
and self.tipo_evento.checklist_set.count() > 0 |
|
|
and self.tipo_evento.checklist_set.count() > 0 |
|
@ -272,10 +294,14 @@ class Convite(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Modulo(models.Model): |
|
|
class Modulo(models.Model): |
|
|
|
|
|
TIPO_AULA = "A" |
|
|
|
|
|
TIPO_PALESTRA = "P" |
|
|
|
|
|
TIPO_APRESENTACAO = "R" |
|
|
|
|
|
|
|
|
TIPO_CHOICES = ( |
|
|
TIPO_CHOICES = ( |
|
|
("A", _("Aula")), |
|
|
(TIPO_AULA, _("Aula")), |
|
|
("P", _("Palestra")), |
|
|
(TIPO_PALESTRA, _("Palestra")), |
|
|
("R", _("Apresentação")), |
|
|
(TIPO_APRESENTACAO, _("Apresentação")), |
|
|
) |
|
|
) |
|
|
evento = models.ForeignKey( |
|
|
evento = models.ForeignKey( |
|
|
Evento, verbose_name=_("Evento"), on_delete=models.CASCADE |
|
|
Evento, verbose_name=_("Evento"), on_delete=models.CASCADE |
|
|