diff --git a/sapl/base/urls.py b/sapl/base/urls.py index ee4a74d5e..05b977ffc 100644 --- a/sapl/base/urls.py +++ b/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\w+)$', HelpView.as_view(), name='help_topic'), url(r'^ajuda/', TemplateView.as_view(template_name='ajuda/index.html'), name='help_base'), diff --git a/sapl/materia/migrations/0044_merge.py b/sapl/materia/migrations/0044_merge.py new file mode 100644 index 000000000..43a6fdb36 --- /dev/null +++ b/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 = [ + ] diff --git a/sapl/materia/urls.py b/sapl/materia/urls.py index 0e2838d69..39d02776e 100644 --- a/sapl/materia/urls.py +++ b/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, diff --git a/sapl/materia/views.py b/sapl/materia/views.py index 3aa3b7bf7..fc5af0842 100644 --- a/sapl/materia/views.py +++ b/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): diff --git a/sapl/protocoloadm/urls.py b/sapl/protocoloadm/urls.py index 1ab3f2cb1..1c24d0e1a 100644 --- a/sapl/protocoloadm/urls.py +++ b/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/', diff --git a/sapl/protocoloadm/views.py b/sapl/protocoloadm/views.py index a281ef599..ca549aba3 100644 --- a/sapl/protocoloadm/views.py +++ b/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 diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index a78effc0d..8faef90f2 100644 --- a/sapl/sessao/views.py +++ b/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(' ', ' ', - 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( - ' ', ' ', 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(' ', ' ', 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( - ' ', ' ', - 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 diff --git a/sapl/utils.py b/sapl/utils.py index 88038e6e4..6d8a0c7f5 100644 --- a/sapl/utils.py +++ b/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')