diff --git a/sapl/comissoes/forms.py b/sapl/comissoes/forms.py index 1ab887adc..dfc2f1221 100644 --- a/sapl/comissoes/forms.py +++ b/sapl/comissoes/forms.py @@ -154,6 +154,7 @@ class ReuniaoForm(ModelForm): def clean(self): super(ReuniaoForm, self).clean() + import ipdb; ipdb.set_trace() if not self.is_valid(): return self.cleaned_data @@ -185,5 +186,12 @@ class ReuniaoForm(ModelForm): else: # create raise error + if self.cleaned_data['hora_fim']: + if (self.cleaned_data['hora_fim'] < + self.cleaned_data['hora_inicio']): + msg = _('A hora de término não pode ser menor que a de início') + raise ValidationError(msg) + return self.cleaned_data + return self.cleaned_data diff --git a/sapl/comissoes/migrations/0006_auto_20180227_0842.py b/sapl/comissoes/migrations/0006_auto_20180227_0842.py new file mode 100644 index 000000000..ebe3e0029 --- /dev/null +++ b/sapl/comissoes/migrations/0006_auto_20180227_0842.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.13 on 2018-02-27 11:42 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('comissoes', '0005_merge'), + ] + + operations = [ + migrations.AlterField( + model_name='reuniao', + name='url_audio', + field=models.URLField(blank=True, max_length=150, null=True, verbose_name='URL Arquivo Áudio (Formatos MP3 / AAC)'), + ), + migrations.AlterField( + model_name='reuniao', + name='url_video', + field=models.URLField(blank=True, max_length=150, null=True, verbose_name='URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)'), + ), + ] diff --git a/sapl/comissoes/models.py b/sapl/comissoes/models.py index 55776ec8c..494418c11 100644 --- a/sapl/comissoes/models.py +++ b/sapl/comissoes/models.py @@ -231,10 +231,10 @@ class Reuniao(models.Model): observacao = models.CharField( max_length=150, blank=True, verbose_name=_('Observação')) url_audio = models.URLField( - max_length=150, blank=True, + max_length=150, blank=True, null=True, verbose_name=_('URL Arquivo Áudio (Formatos MP3 / AAC)')) url_video = models.URLField( - max_length=150, blank=True, + max_length=150, blank=True, null=True, verbose_name=_('URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)')) upload_pauta = models.FileField( blank=True, diff --git a/sapl/comissoes/views.py b/sapl/comissoes/views.py index d22eaff31..1f7b529c0 100644 --- a/sapl/comissoes/views.py +++ b/sapl/comissoes/views.py @@ -164,45 +164,36 @@ class ReuniaoCrud(MasterDetailCrud): template_name = "comissoes/reuniao_list.html" paginate_by = None - def take_reuniao_pk(self): - try: - return int(self.request.GET['pk']) - except: - return 0 - def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - - reuniao_pk = self.take_reuniao_pk() - - if reuniao_pk == 0: - ultima_reuniao = context['reuniao_list'].last() - if ultima_reuniao: - context['reuniao_pk'] = ultima_reuniao.pk - else: - context['reuniao_pk'] = 0 - else: - context['reuniao_pk'] = reuniao_pk + self.reuniao_pk = context['root_pk'] return context - class UpdateView(MasterDetailCrud.UpdateView): + def get_rows(self, object_list): + for obj in object_list: + class UpdateView(MasterDetailCrud.UpdateView): form_class = ReuniaoForm def get_initial(self): return {'comissao': self.object.comissao} - class CreateView(MasterDetailCrud.CreateView): + class CreateView(MasterDetailCrud.CreateView): form_class = ReuniaoForm def get_initial(self): - def get_initial(self): - initial = super().get_initial() - initial['parent_pk'] = self.kwargs['pk'] - return initial - + comissao = Comissao.objects.order_by('data_criacao').first() + if comissao: + return { + 'comissao': comissao + } + else: + msg = _('Cadastre alguma comissão antes de adicionar ' + 'uma reunião!') + messages.add_message(self.request, messagesself.ERROR, msg) + return {} class DeleteView(MasterDetailCrud.DeleteView, RedirectView): diff --git a/sapl/templates/comissoes/layouts.yaml b/sapl/templates/comissoes/layouts.yaml index 4ca5041db..0c104ee1c 100644 --- a/sapl/templates/comissoes/layouts.yaml +++ b/sapl/templates/comissoes/layouts.yaml @@ -49,6 +49,9 @@ Reuniao: - periodo comissao - numero nome - tema + - tipo - data hora_inicio hora_fim - - local_reuniao:4 + - url_video url_audio + - local_reuniao:4 observacao + - upload_pauta upload_ata upload_anexo diff --git a/sapl/templates/comissoes/reuniao_list.html b/sapl/templates/comissoes/reuniao_list.html index cdecd459e..2321a9c78 100644 --- a/sapl/templates/comissoes/reuniao_list.html +++ b/sapl/templates/comissoes/reuniao_list.html @@ -1,7 +1,7 @@ {% extends "crud/list.html" %} {% load i18n %} {% load crispy_forms_tags %} -{% block base_content %} +{% block detail_content %} {% if user.is_authenticated and perms.comissoes.add_composicao %}
@@ -16,6 +16,5 @@
{% endblock actions %} - {% endif %} - -{% endblock base_content %} + {% endif %} +{% endblock detail_content %}