Browse Source

Adding anexo on justificativa sessao

pull/2260/head
Mariana Mendes 7 years ago
parent
commit
290e78255c
  1. 2
      sapl/sessao/forms.py
  2. 6
      sapl/sessao/migrations/0027_auto_20181023_0843.py
  3. 32
      sapl/sessao/models.py
  4. 1
      sapl/templates/sessao/layouts.yaml

2
sapl/sessao/forms.py

@ -697,7 +697,7 @@ class JustificativaAusenciaForm(ModelForm):
class Meta:
model = JustificativaAusencia
fields = ['sessao_plenaria', 'tipo_ausencia', 'hora',
'data', 'ausencia', 'parlamentar', 'observacao']
'data', 'upload_anexo', 'ausencia', 'parlamentar', 'observacao']
def clean(self):
cleaned_data = super(JustificativaAusenciaForm, self).clean()

6
sapl/sessao/migrations/0024_auto_20181004_1126.py → sapl/sessao/migrations/0027_auto_20181023_0843.py

@ -1,16 +1,17 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.13 on 2018-10-04 14:26
# Generated by Django 1.9.13 on 2018-10-23 10:43
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
import sapl.sessao.models
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0025_auto_20180924_1724'),
('sessao', '0023_auto_20180914_1315'),
('sessao', '0026_auto_20181016_1944'),
]
operations = [
@ -22,6 +23,7 @@ class Migration(migrations.Migration):
('hora', models.CharField(max_length=5, verbose_name='Horário (hh:mm)')),
('observacao', models.TextField(blank=True, max_length=150, verbose_name='Observação')),
('ausencia', models.PositiveIntegerField(choices=[(1, 'Matéria'), (2, 'Sessão')], default=1, verbose_name='Ausente em')),
('upload_anexo', models.FileField(blank=True, null=True, upload_to=sapl.sessao.models.anexo_upload_path, verbose_name='Anexo de Justificativa')),
('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')),
('sessao_plenaria', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='sessao.SessaoPlenaria', verbose_name='Sessão Plenária')),
],

32
sapl/sessao/models.py

@ -614,10 +614,40 @@ class JustificativaAusencia(models.Model):
max_length=150, blank=True, verbose_name=_('Observação'))
ausencia = models.PositiveIntegerField(
verbose_name=_('Ausente em'), choices=TIPO_AUSENCIA_CHOICES, default=1)
upload_anexo = models.FileField(
blank=True,
null=True,
upload_to=anexo_upload_path,
verbose_name=_('Anexo de Justificativa'))
class Meta:
verbose_name = _('Justificativa de Ausência')
verbose_name_plural = _('Justificativas de Ausências')
def __str__(self):
return 'Justificativa de Ausência'
return 'Justificativa de Ausência'
def delete(self, using=None, keep_parents=False):
if self.upload_anexo:
self.upload_anexo.delete()
return models.Model.delete(
self, using=using, keep_parents=keep_parents)
def save(self, force_insert=False, force_update=False, using=None,
update_fields=None):
if not self.pk and self.upload_anexo:
upload_anexo = self.upload_anexo
self.upload_anexo = None
models.Model.save(self, force_insert=force_insert,
force_update=force_update,
using=using,
update_fields=update_fields)
self.upload_anexo = upload_anexo
return models.Model.save(self, force_insert=force_insert,
force_update=force_update,
using=using,
update_fields=update_fields)

1
sapl/templates/sessao/layouts.yaml

@ -93,6 +93,7 @@ JustificativaAusencia:
{% trans 'Justificativa de Ausência' %}:
- parlamentar
- data hora
- upload_anexo
- tipo_ausencia
- ausencia
- observacao

Loading…
Cancel
Save