Browse Source

Semi-merge

pull/529/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
d85778a941
  1. 4
      sapl/base/urls.py
  2. 16
      sapl/materia/migrations/0044_merge.py
  3. 9
      sapl/materia/urls.py
  4. 24
      sapl/materia/views.py
  5. 15
      sapl/protocoloadm/urls.py
  6. 81
      sapl/protocoloadm/views.py
  7. 183
      sapl/sessao/views.py
  8. 1
      sapl/utils.py

4
sapl/base/urls.py

@ -10,12 +10,8 @@ app_name = AppConfig.name
urlpatterns = [
<<<<<<< HEAD
url(r'^sistema/', SistemaView.as_view()),
=======
url(r'^sistema/', TemplateView.as_view(template_name='sistema.html')),
url(r'^ajuda/', TemplateView.as_view(template_name='ajuda.html')),
>>>>>>> master
url(r'^ajuda/(?P<topic>\w+)$', HelpView.as_view(), name='help_topic'),
url(r'^ajuda/', TemplateView.as_view(template_name='ajuda/index.html'),
name='help_base'),

16
sapl/materia/migrations/0044_merge.py

@ -0,0 +1,16 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-08-22 20:18
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('materia', '0039_auto_20160628_1251'),
('materia', '0043_auto_20160810_1738'),
]
operations = [
]

9
sapl/materia/urls.py

@ -3,13 +3,10 @@ from django.conf.urls import include, url
from sapl.materia.views import (AcompanhamentoConfirmarView,
AcompanhamentoExcluirView,
AcompanhamentoMateriaView, AnexadaCrud,
<<<<<<< HEAD
AutorCrud, AutoriaCrud, ConfirmarEmailView,
=======
AutorCrud, AutoriaCrud, ConfirmarProposicao,
>>>>>>> master
DespachoInicialCrud, DocumentoAcessorioCrud,
LegislacaoCitadaCrud, MateriaLegislativaCrud,
ConfirmarProposicao, DespachoInicialCrud,
DocumentoAcessorioCrud, LegislacaoCitadaCrud,
MateriaLegislativaCrud,
MateriaLegislativaPesquisaView, MateriaTaView,
NumeracaoCrud, OrgaoCrud, OrigemCrud,
ProposicaoCrud, ProposicaoDevolvida,

24
sapl/materia/views.py

@ -29,27 +29,16 @@ from sapl.crud.base import (Crud, CrudBaseMixin, CrudCreateView,
CrudUpdateView, make_pagination)
from sapl.crud.masterdetail import MasterDetailCrud
from sapl.norma.models import LegislacaoCitada
<<<<<<< HEAD
from sapl.utils import (autor_label, autor_modal, get_base_url,
permissao_tb_aux, permissoes_autor, permissoes_materia)
from .forms import (AcompanhamentoMateriaForm, AnexadaForm, AutorForm,
AutoriaForm, DespachoInicialForm, DocumentoAcessorioForm,
LegislacaoCitadaForm, MateriaLegislativaFilterSet,
NumeracaoForm, ProposicaoForm, RelatoriaForm,
TramitacaoForm, UnidadeTramitacaoForm,
filtra_tramitacao_destino,
=======
from sapl.utils import (autor_label, autor_modal, gerar_hash_arquivo,
get_base_url)
get_base_url, permissao_tb_aux, permissoes_autor,
permissoes_materia)
from .forms import (AcompanhamentoMateriaForm, AnexadaForm, AutoriaForm,
ConfirmarProposicaoForm, DespachoInicialForm,
from .forms import (AcompanhamentoMateriaForm, AnexadaForm, AutorForm,
AutoriaForm, ConfirmarProposicaoForm, DespachoInicialForm,
DocumentoAcessorioForm, LegislacaoCitadaForm,
MateriaLegislativaFilterSet, NumeracaoForm, ProposicaoForm,
ReceberProposicaoForm, RelatoriaForm, TramitacaoForm,
UnidadeTramitacaoForm, filtra_tramitacao_destino,
>>>>>>> master
filtra_tramitacao_destino_and_status,
filtra_tramitacao_status)
from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria,
@ -461,7 +450,6 @@ class ProposicaoCrud(Crud):
def layout_key(self):
return 'ProposicaoCreate'
<<<<<<< HEAD
def has_permission(self):
perms = self.get_permission_required()
if self.request.user.has_perms(perms):
@ -477,10 +465,6 @@ class ProposicaoCrud(Crud):
class ListView(PermissionRequiredMixin, CrudListView):
ordering = ['-data_envio', 'descricao']
permission_required = permissoes_autor()
=======
class ListView(CrudListView):
ordering = ['-data_envio', '-descricao']
>>>>>>> master
def get_rows(self, object_list):

15
sapl/protocoloadm/urls.py

@ -17,17 +17,7 @@ from sapl.protocoloadm.views import (AnularProtocoloAdmView,
ProtocoloPesquisaView,
StatusTramitacaoAdministrativoCrud,
TipoDocumentoAdministrativoCrud,
<<<<<<< HEAD
TipoInstituicaoCrud, TramitacaoAdmCrud,
get_nome_autor, pesquisa_autores)
=======
TipoInstituicaoCrud,
TramitacaoAdmDeleteView,
TramitacaoAdmEditView,
TramitacaoAdmIncluirView,
TramitacaoAdministrativoCrud,
TramitacaoAdmView)
>>>>>>> master
TipoInstituicaoCrud)
from .apps import AppConfig
@ -35,8 +25,7 @@ app_name = AppConfig.name
urlpatterns = [
url(r'^protocoloadm/docadm/',
include(DocumentoAdministrativoCrud.get_urls() +
TramitacaoAdmCrud.get_urls())),
include(DocumentoAdministrativoCrud.get_urls())),
url(r'^protocoloadm/tipo-documento-adm/',
include(TipoDocumentoAdministrativoCrud.get_urls())),
url(r'^protocoloadm/doc-acessorio/',

81
sapl/protocoloadm/views.py

@ -13,31 +13,20 @@ from django.views.generic import CreateView, DetailView, FormView, ListView
from django.views.generic.base import TemplateView
from django_filters.views import FilterView
<<<<<<< HEAD
import sapl.crud.base
from sapl.crud.base import (Crud, CrudBaseMixin, CrudCreateView,
CrudDeleteView, CrudListView, CrudUpdateView,
make_pagination)
from sapl.crud.masterdetail import MasterDetailCrud
from sapl.materia.models import Proposicao, TipoMateriaLegislativa
from sapl.materia.models import TipoMateriaLegislativa
from sapl.utils import (create_barcode, get_client_ip, permissoes_adm,
permissoes_protocoloadm)
from .forms import (AnularProcoloAdmForm, DocumentoAcessorioAdministrativoForm,
DocumentoAdministrativoFilterSet,
DocumentoAdministrativoForm, ProposicaoSimpleForm,
DocumentoAdministrativoForm,
ProtocoloDocumentForm, ProtocoloFilterSet,
ProtocoloMateriaForm, TramitacaoAdmEditForm,
=======
from sapl.crud.base import Crud, CrudBaseMixin, CrudListView, make_pagination
from sapl.materia.models import TipoMateriaLegislativa
from sapl.utils import create_barcode, get_client_ip
from .forms import (AnularProcoloAdmForm, DocumentoAcessorioAdministrativoForm,
DocumentoAdministrativoFilterSet,
DocumentoAdministrativoForm, ProtocoloDocumentForm,
ProtocoloFilterSet, ProtocoloMateriaForm,
>>>>>>> master
TramitacaoAdmForm)
from .models import (Autor, DocumentoAcessorioAdministrativo,
DocumentoAdministrativo, Protocolo,
@ -360,74 +349,8 @@ class ProtocoloMateriaView(PermissionRequiredMixin, CreateView):
return redirect(self.get_success_url())
<<<<<<< HEAD
# TODO: move to Proposicao app
class ProposicaoReceberView(TemplateView):
template_name = "protocoloadm/proposicao_receber.html"
class ProposicoesNaoRecebidasView(ListView):
template_name = "protocoloadm/proposicao_naorecebidas.html"
model = Proposicao
paginate_by = 10
def get_queryset(self):
return Proposicao.objects.filter(data_envio__isnull=False, status='E')
class ProposicoesNaoIncorporadasView(ListView):
template_name = "protocoloadm/proposicao_naoincorporadas.html"
model = Proposicao
paginate_by = 10
def get_queryset(self):
return Proposicao.objects.filter(data_envio__isnull=False,
data_devolucao__isnull=False,
status='D')
class ProposicoesIncorporadasView(ListView):
template_name = "protocoloadm/proposicao_incorporadas.html"
model = Proposicao
paginate_by = 10
def get_queryset(self):
return Proposicao.objects.filter(data_envio__isnull=False,
data_recebimento__isnull=False,
status='I')
class ProposicaoView(TemplateView):
template_name = "protocoloadm/proposicoes.html"
class ProposicaoDetailView(DetailView):
template_name = "protocoloadm/proposicao_view.html"
model = Proposicao
def get(self, request, *args, **kwargs):
proposicao = Proposicao.objects.get(id=kwargs['pk'])
data = { # 'ano': proposicao.ano, # TODO: FIX
'tipo': proposicao.tipo.descricao, # TODO: FIX
'materia': proposicao.materia,
'numero_proposicao': proposicao.numero_proposicao,
'data_envio': proposicao.data_envio,
'data_recebimento': proposicao.data_recebimento,
'descricao': proposicao.descricao}
form = ProposicaoSimpleForm(initial=data)
return self.render_to_response({'form': form})
def get_context_data(self, **kwargs):
context = super(ProposicaoView, self).get_context_data(**kwargs)
context['form'] = ProposicaoSimpleForm
return context
class PesquisarDocumentoAdministrativoView(PermissionRequiredMixin,
FilterView):
=======
class PesquisarDocumentoAdministrativoView(FilterView):
>>>>>>> master
model = DocumentoAdministrativo
filterset_class = DocumentoAdministrativoFilterSet
paginate_by = 10

183
sapl/sessao/views.py

@ -91,7 +91,6 @@ class BancadaCrud(Crud):
form_class = BancadaForm
<<<<<<< HEAD
class TipoSessaoCrud(Crud):
model = TipoSessaoPlenaria
help_path = 'tipo_sessao_plenaria'
@ -535,7 +534,6 @@ class PresencaOrdemDiaView(PermissionRequiredMixin,
return reverse('sapl.sessao:presencaordemdia', kwargs={'pk': pk})
<<<<<<< HEAD
class ListMateriaOrdemDiaView(FormMixin, SessaoCrud.CrudDetailView):
template_name = 'sessao/materia_ordemdia_list.html'
form_class = ListMateriaForm
@ -639,187 +637,6 @@ class ListMateriaOrdemDiaView(FormMixin, SessaoCrud.CrudDetailView):
return self.get(self, request, args, kwargs)
class MateriaOrdemDiaView(PermissionRequiredMixin,
FormMixin,
SessaoCrud.CrudDetailView):
template_name = 'sessao/materia_ordemdia.html'
form_class = MateriaOrdemDiaForm
permission_required = permissoes_sessao()
def get(self, request, *args, **kwargs):
self.object = self.get_object()
context = self.get_context_data(object=self.object)
now = datetime.now()
tipo_materia = TipoMateriaLegislativa.objects.all()
data_sessao = now
tipo_sessao = TipoSessaoPlenaria.objects.all()
tipo_votacao = ExpedienteMateria.TIPO_VOTACAO_CHOICES
ano_materia = now.year
context.update({'data_sessao': data_sessao,
'tipo_sessao': tipo_sessao,
'tipo_materia': tipo_materia,
'tipo_votacao': tipo_votacao,
'ano_materia': ano_materia,
'error_message': '', })
return self.render_to_response(context)
def post(self, request, *args, **kwargs):
self.object = self.get_object()
context = self.get_context_data(object=self.object)
form = MateriaOrdemDiaForm(request.POST)
if form.is_valid():
try:
materia = MateriaLegislativa.objects.get(
numero=request.POST['numero_materia'],
tipo_id=request.POST['tipo_materia'],
ano=request.POST['ano_materia'])
except ObjectDoesNotExist:
form._errors["error_message"] = ErrorList([u""])
context.update({'form': form})
return self.render_to_response(context)
# TODO: barrar matérias não existentes
# TODO: barrar criação de ordemdia para materias já incluídas
ordemdia = OrdemDia()
ordemdia.sessao_plenaria_id = self.object.id
ordemdia.materia_id = materia.id
ordemdia.numero_ordem = request.POST['numero_ordem']
ordemdia.data_ordem = datetime.now()
ordemdia.observacao = sub('&nbsp;', ' ',
strip_tags(request.POST['observacao']))
ordemdia.tipo_votacao = request.POST['tipo_votacao']
ordemdia.save()
return self.form_valid(form)
else:
return self.form_invalid(form)
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sapl.sessao:materiaordemdia_list',
kwargs={'pk': pk})
class EditMateriaOrdemDiaView(PermissionRequiredMixin,
FormMixin,
SessaoCrud.CrudDetailView):
template_name = 'sessao/materia_ordemdia_edit.html'
form_class = MateriaOrdemDiaForm
permission_required = permissoes_sessao()
def get(self, request, *args, **kwargs):
self.object = self.get_object()
context = self.get_context_data(object=self.object)
pk = kwargs['pk']
oid = kwargs['oid']
ordem = OrdemDia.objects.get(sessao_plenaria_id=pk, materia_id=oid)
materia = MateriaLegislativa.objects.get(
id=ordem.materia_id)
data_ordem = ordem.data_ordem
tipo_votacao = ExpedienteMateria.TIPO_VOTACAO_CHOICES
tipo_sessao = TipoSessaoPlenaria.objects.all()
tipo_materia = TipoMateriaLegislativa.objects.all()
context.update({'data_sessao': data_ordem,
'tipo_sessao': tipo_sessao,
'tipo_sessao_selected': self.object.tipo,
'tipo_materia': tipo_materia,
'tipo_materia_selected': materia.tipo,
'tipo_votacao': tipo_votacao,
'tipo_votacao_selected': ordem.tipo_votacao,
'ano_materia': materia.ano,
'numero_ordem': ordem.numero_ordem,
'numero_materia': materia.numero,
'ordem_id': oid,
'oid': '',
'observacao': sub(
'&nbsp;', ' ', strip_tags(ordem.observacao)),
'error_message': '', })
return self.render_to_response(context)
def post(self, request, *args, **kwargs):
self.object = self.get_object()
context = self.get_context_data(object=self.object)
form = MateriaOrdemDiaForm(request.POST)
pk = kwargs['pk']
oid = kwargs['oid']
ordemdia = OrdemDia.objects.get(sessao_plenaria_id=pk, materia_id=oid)
if 'update-ordemdia' in request.POST:
if form.is_valid():
try:
materia = MateriaLegislativa.objects.get(
numero=request.POST['numero_materia'],
tipo_id=request.POST['tipo_materia'],
ano=request.POST['ano_materia'])
except ObjectDoesNotExist:
context.update(
{'error_message': _("Matéria inexistente!")})
return self.form_invalid(form)
ordemdia.materia_id = materia.id
ordemdia.numero_ordem = request.POST['numero_ordem']
ordemdia.tipo_votacao = request.POST['tipo_votacao']
obs = strip_tags(request.POST['observacao'])
ordemdia.observacao = sub('&nbsp;', ' ', obs)
ordemdia.save()
return self.form_valid(form)
else:
context = self.get_context_data(object=self.object)
pk = kwargs['pk']
oid = kwargs['oid']
ordem = OrdemDia.objects.get(
sessao_plenaria_id=pk,
materia_id=oid)
materia = MateriaLegislativa.objects.get(
id=ordem.materia_id)
data_ordem = ordem.data_ordem
tipo_votacao = ExpedienteMateria.TIPO_VOTACAO_CHOICES
tipo_sessao = TipoSessaoPlenaria.objects.all()
tipo_materia = TipoMateriaLegislativa.objects.all()
context.update({'data_sessao': data_ordem,
'tipo_sessao': tipo_sessao,
'tipo_sessao_selected': self.object.tipo,
'tipo_materia': tipo_materia,
'tipo_materia_selected': materia.tipo,
'tipo_votacao': tipo_votacao,
'tipo_votacao_selected': ordem.tipo_votacao,
'ano_materia': materia.ano,
'numero_ordem': ordem.numero_ordem,
'numero_materia': materia.numero,
'ordem_id': oid,
'oid': '',
'observacao': sub(
'&nbsp;', ' ',
strip_tags(ordem.observacao)),
'error_message': '', })
context.update({'form': form})
return self.render_to_response(context)
elif 'delete-ordemdia' in request.POST:
ordemdia.delete()
return self.form_valid(form)
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sapl.sessao:materiaordemdia_list',
kwargs={'pk': pk})
class MesaView(PermissionRequiredMixin, FormMixin, SessaoCrud.CrudDetailView):
template_name = 'sessao/mesa.html'
form_class = MesaForm

1
sapl/utils.py

@ -222,7 +222,6 @@ def intervalos_tem_intersecao(a_inicio, a_fim, b_inicio, b_fim):
return maior_inicio <= menor_fim
<<<<<<< HEAD
def permissoes_materia():
lista_permissoes = []
cts = ContentType.objects.filter(app_label='materia')

Loading…
Cancel
Save