Browse Source

Corrige Createview e Listview

pull/1614/head
Mariana Mendes 8 years ago
parent
commit
868dd464d3
  1. 8
      sapl/comissoes/forms.py
  2. 25
      sapl/comissoes/migrations/0006_auto_20180227_0842.py
  3. 4
      sapl/comissoes/models.py
  4. 39
      sapl/comissoes/views.py
  5. 5
      sapl/templates/comissoes/layouts.yaml
  6. 5
      sapl/templates/comissoes/reuniao_list.html

8
sapl/comissoes/forms.py

@ -154,6 +154,7 @@ class ReuniaoForm(ModelForm):
def clean(self): def clean(self):
super(ReuniaoForm, self).clean() super(ReuniaoForm, self).clean()
import ipdb; ipdb.set_trace()
if not self.is_valid(): if not self.is_valid():
return self.cleaned_data return self.cleaned_data
@ -185,5 +186,12 @@ class ReuniaoForm(ModelForm):
else: # create else: # create
raise error 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 return self.cleaned_data

25
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)'),
),
]

4
sapl/comissoes/models.py

@ -231,10 +231,10 @@ class Reuniao(models.Model):
observacao = models.CharField( observacao = models.CharField(
max_length=150, blank=True, verbose_name=_('Observação')) max_length=150, blank=True, verbose_name=_('Observação'))
url_audio = models.URLField( url_audio = models.URLField(
max_length=150, blank=True, max_length=150, blank=True, null=True,
verbose_name=_('URL Arquivo Áudio (Formatos MP3 / AAC)')) verbose_name=_('URL Arquivo Áudio (Formatos MP3 / AAC)'))
url_video = models.URLField( 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)')) verbose_name=_('URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)'))
upload_pauta = models.FileField( upload_pauta = models.FileField(
blank=True, blank=True,

39
sapl/comissoes/views.py

@ -164,45 +164,36 @@ class ReuniaoCrud(MasterDetailCrud):
template_name = "comissoes/reuniao_list.html" template_name = "comissoes/reuniao_list.html"
paginate_by = None paginate_by = None
def take_reuniao_pk(self):
try:
return int(self.request.GET['pk'])
except:
return 0
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
self.reuniao_pk = context['root_pk']
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
return context return context
class UpdateView(MasterDetailCrud.UpdateView): def get_rows(self, object_list):
for obj in object_list:
class UpdateView(MasterDetailCrud.UpdateView):
form_class = ReuniaoForm form_class = ReuniaoForm
def get_initial(self): def get_initial(self):
return {'comissao': self.object.comissao} return {'comissao': self.object.comissao}
class CreateView(MasterDetailCrud.CreateView):
class CreateView(MasterDetailCrud.CreateView):
form_class = ReuniaoForm form_class = ReuniaoForm
def get_initial(self): def get_initial(self):
def get_initial(self): comissao = Comissao.objects.order_by('data_criacao').first()
initial = super().get_initial() if comissao:
initial['parent_pk'] = self.kwargs['pk'] return {
return initial '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): class DeleteView(MasterDetailCrud.DeleteView, RedirectView):

5
sapl/templates/comissoes/layouts.yaml

@ -49,6 +49,9 @@ Reuniao:
- periodo comissao - periodo comissao
- numero nome - numero nome
- tema - tema
- tipo
- data hora_inicio hora_fim - data hora_inicio hora_fim
- local_reuniao:4 - url_video url_audio
- local_reuniao:4 observacao
- upload_pauta upload_ata upload_anexo

5
sapl/templates/comissoes/reuniao_list.html

@ -1,7 +1,7 @@
{% extends "crud/list.html" %} {% extends "crud/list.html" %}
{% load i18n %} {% load i18n %}
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block base_content %} {% block detail_content %}
{% if user.is_authenticated and perms.comissoes.add_composicao %} {% if user.is_authenticated and perms.comissoes.add_composicao %}
<div class="context-actions clearfix"> <div class="context-actions clearfix">
@ -17,5 +17,4 @@
{% endblock actions %} {% endblock actions %}
</div> </div>
{% endif %} {% endif %}
{% endblock detail_content %}
{% endblock base_content %}

Loading…
Cancel
Save