Browse Source

Add EditView to Autoria in Materia

pull/11/merge
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
c58217a7d4
  1. 10
      materia/urls.py
  2. 75
      materia/views.py
  3. 2
      protocoloadm/urls.py
  4. 4
      templates/materia/autoria.html
  5. 61
      templates/materia/autoria_edit.html

10
materia/urls.py

@ -1,8 +1,8 @@
from django.conf.urls import include, url
from materia.views import (AutoriaView, DespachoInicialEditView,
DespachoInicialView, DocumentoAcessorioEditView,
DocumentoAcessorioView, FormularioCadastroView,
FormularioSimplificadoView,
from materia.views import (AutoriaEditView, AutoriaView,
DespachoInicialEditView, DespachoInicialView,
DocumentoAcessorioEditView, DocumentoAcessorioView,
FormularioCadastroView, FormularioSimplificadoView,
LegislacaoCitadaEditView, LegislacaoCitadaView,
MateriaAnexadaEditView, MateriaAnexadaView,
NumeracaoEditView, NumeracaoView, RelatoriaView,
@ -66,4 +66,6 @@ urlpatterns = [
TramitacaoEditView.as_view(), name='tramitacao_edit'),
url(r'^materia/(?P<pk>\d+)/autoria$',
AutoriaView.as_view(), name='autoria'),
url(r'^materia/(?P<pk>\d+)/autoria/(?P<id>\d+)/edit$',
AutoriaEditView.as_view(), name='autoria_edit'),
]

75
materia/views.py

@ -1433,3 +1433,78 @@ class AutoriaView(GenericView):
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('autoria', kwargs={'pk': pk})
class AutoriaEditView(GenericView):
template_name = "materia/autoria_edit.html"
def get(self, request, *args, **kwargs):
materia = MateriaLegislativa.objects.get(id=kwargs['pk'])
autorias = Autoria.objects.filter(materia=materia)
autor = Autor.objects.get(id=self.kwargs['id'])
form = AutoriaForm()
return self.render_to_response(
{'materia': materia,
'form': form,
'autorias': autorias,
'tipo_autores': TipoAutor.objects.all(),
'autores': Autor.objects.all(),
'tipo_autor_id': autor.tipo.id,
'autor_id': autor.id})
def post(self, request, *args, **kwargs):
materia = MateriaLegislativa.objects.get(id=kwargs['pk'])
autorias = Autoria.objects.filter(materia=materia)
form = AutoriaForm(request.POST)
if 'salvar' in request.POST:
if int(form.data['primeiro_autor']) == 1:
primeiro = True
else:
primeiro = False
autor = Autor.objects.get(
id=int(form.data['nome_autor']))
try:
autoria = Autoria.objects.get(
autor=autor,
materia=materia
)
except ObjectDoesNotExist:
autoria = Autoria()
autoria.autor = autor
autoria.materia = materia
autoria.primeiro_autor = primeiro
autoria.save()
return self.render_to_response(
{'materia': materia,
'form': form,
'autorias': autorias,
'tipo_autores': TipoAutor.objects.all(),
'autores': Autor.objects.all(),
'tipo_autor_id': int(form.data['tipo_autor'])})
else:
return self.render_to_response(
{'materia': materia,
'form': form,
'autorias': autorias,
'tipo_autores': TipoAutor.objects.all(),
'autores': Autor.objects.all(),
'tipo_autor_id': int(form.data['tipo_autor']),
'error': 'Essa autoria já foi adicionada!'})
else:
return self.render_to_response(
{'materia': materia,
'form': form,
'autorias': autorias,
'tipo_autores': TipoAutor.objects.all(),
'autores': Autor.objects.all(),
'tipo_autor_id': int(form.data['tipo_autor'])})
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('autoria', kwargs={'pk': pk})

2
protocoloadm/urls.py

@ -49,7 +49,7 @@ urlpatterns = [
ProtocoloMateriaView.as_view(), name='protocolar_mat'),
url(r'^protocoloadm/pesq-doc-adm',
PesquisarDocumentoAdministrativo.as_view(), name='pesq_doc_adm'),
url(r'^protocoloadm/doc-adm/(?P<pk>\d+)',
url(r'^protocoloadm/doc-adm/(?P<pk>\d+)$',
DetailDocumentoAdministrativo.as_view(), name='detail_doc_adm'),
url(r'^protocoloadm/doc-ace-adm/(?P<pk>\d+)',
DocumentoAcessorioAdministrativoView.as_view(), name='doc_ace_adm'),

4
templates/materia/autoria.html

@ -22,7 +22,7 @@
</tr>
{% for a in autorias %}
<tr>
<td><a href="">{{a.autor}}</a></td>
<td><a href="{% url 'autoria_edit' materia.id a.autor.id %}">{{a.autor}}</a></td>
<td>{{a.autor.tipo.descricao}}</td>
<td>{{a.primeiro_autor|yesno:"Sim,Não"}}</td>
</tr>
@ -56,7 +56,7 @@
<li>
<select name="nome_autor">
{% for a in autores %}
{% if a.tipo.id == tipo_autor_id %}
{% if a.tipo_id == tipo_autor_id %}
<option value="{{a.id}}">
{{a}}
</option>

61
templates/materia/autoria_edit.html

@ -0,0 +1,61 @@
{% extends "materia/materia_detail.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% block detail_content %}
<fieldset>
<legend>Matéria Legislativa</legend>
<ul class="small-block-grid-3 medium-block-grid-3 large-block-grid-3">
<li>Tipo: <b>{{materia.tipo.sigla}}</b></li>
<li>Número: <b>{{materia.numero}}</b></li>
<li>Ano: <b>{{materia.ano}}</b></li>
</ul>
Ementa: <b>{{materia.ementa}}</b>
<fieldset>
<legend>Editar Autoria</legend>
{% if error %} <h5 align="center"><font color="#FF0000">{{ error }}</font></h5> {% endif %}
<ul class="small-block-grid-3 medium-block-grid-3 large-block-grid-3">
<li>Tipo do Autor</li>
<li>Nome Autor</li>
<li>Primeiro Autor</li>
</ul>
<form method="POST">
{% csrf_token %}
<ul class="small-block-grid-3 medium-block-grid-3 large-block-grid-3">
<li>
<select name="tipo_autor" onChange="form.submit();">
{% for tipo in tipo_autores %}
<option value="{{tipo.id}}" {% if tipo.id == tipo_autor_id %} selected {% endif %}>
{{tipo.descricao}}
</option>
{% endfor %}
</select>
</li>
<li>
<select name="nome_autor">
{% for a in autores %}
{% if a.tipo_id == tipo_autor_id %}
<option value="{{a.id}}" {% if a.id == autor_id%} selected {% endif %}>
{{a}}
</option>
{% endif %}
{% endfor %}
</select>
</li>
<li>
<select name="primeiro_autor">
<option value="1">Sim</option>
<option value="0" selected>Não</option>
</select>
</li>
</ul>
<input type="submit" name="salvar" value="Salvar" class="button primary">
</form>
</fieldset>
</fieldset>
{% endblock %}
Loading…
Cancel
Save