Browse Source

Atendimento gertiqs #165751 e #165984 (3)

pull/167/head
Sesóstris Vieira 1 year ago
parent
commit
81dea10d04
  1. 37
      sigi/apps/eventos/migrations/0053_visita_anfitria_senado_oficina_remove_convite.py
  2. 12
      sigi/apps/eventos/models.py

37
sigi/apps/eventos/migrations/0053_visita_anfitria_senado_oficina_remove_convite.py

@ -0,0 +1,37 @@
# Generated by Django 4.2.4 on 2023-10-25 13:51
from django.db import migrations
def forwards(apps, schema_editor):
Evento = apps.get_model("eventos", "Evento")
Orgao = apps.get_model("casas", "orgao")
# Define casa_anfitria = senado para todas as visitas
# Gertik #165751 (2)
senado = Orgao.objects.get(tipo__sigla="SF")
Evento.objects.filter(tipo_evento__categoria="V").update(
casa_anfitria=senado
)
# Deletar todos os convites (casas convidadas) das oficinas que têm vínculo
# com o saberes moodle_courseid not NULL
# Gertik #165984: https://gertiq.senado.leg.br/redmine/issues/165984#3em-seguida-DELETAR-as-Casas-convidadas-DOS-registros-de-OFICINAS
for oficina in Evento.objects.filter(tipo_evento__categoria="O").exclude(
moodle_courseid=None
):
oficina.convite_set.all().delete()
class Migration(migrations.Migration):
dependencies = [
(
"eventos",
"0052_alter_evento_status_alter_itemsolicitado_status_and_more",
),
]
operations = [migrations.RunPython(forwards, migrations.RunPython.noop)]

12
sigi/apps/eventos/models.py

@ -634,6 +634,18 @@ class Evento(models.Model):
self.save() self.save()
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
# Força que a casa anfitriã de todas as visitas seja Senado
# Gertik #165751
if self.tipo_evento.categoria == TipoEvento.CATEGORIA_VISITA:
self.casa_anfitria = Orgao.objects.get(tipo__sigla="SF")
# Limpa casas convidadas se a categoria do evento for Oficina
# e está vinculado com um curso no Saberes.
# Gertik #165984: https://gertiq.senado.leg.br/redmine/issues/165984#3em-seguida-DELETAR-as-Casas-convidadas-DOS-registros-de-OFICINAS
if (
self.tipo_evento.categoria == TipoEvento.CATEGORIA_OFICINA
and self.moodle_courseid is not None
):
self.convite_set.all().delete()
if self.status != Evento.STATUS_CANCELADO: if self.status != Evento.STATUS_CANCELADO:
self.data_cancelamento = None self.data_cancelamento = None
self.motivo_cancelamento = "" self.motivo_cancelamento = ""

Loading…
Cancel
Save