Example #1
0
    def test_wkhtmltopdf(self):
        """Should run wkhtmltopdf to generate a PDF"""
        title = 'A test template.'
        response = PDFTemplateResponse(self.factory.get('/'),
                                       None,
                                       context={'title': title})
        temp_file = response.render_to_temporary_file('sample.html')
        try:
            # Standard call
            pdf_output = wkhtmltopdf(pages=[temp_file.name])
            self.assertTrue(pdf_output.startswith(b'%PDF'), pdf_output)

            # Single page
            pdf_output = wkhtmltopdf(pages=temp_file.name)
            self.assertTrue(pdf_output.startswith(b'%PDF'), pdf_output)

            # Unicode
            pdf_output = wkhtmltopdf(pages=[temp_file.name], title=u'♥')
            self.assertTrue(pdf_output.startswith(b'%PDF'), pdf_output)

            # Invalid arguments
            self.assertRaises(CalledProcessError,
                              wkhtmltopdf, pages=[])
        finally:
            temp_file.close()
Example #2
0
 def create_pdf(self):
     return_file = (
         "invoices/" + "Invoice_" +
         str(self.client.profile.last_name) + '_' +
         str(self.client.profile.first_name) + '_' +
         str(self.start_date.month) + '.pdf'
     )
     abs_return_file = settings.MEDIA_ROOT + return_file
     context = {
         'invoice' : self,
         'user' : User.objects.get(username='******'),
         'pdf' : True,
     }
     factory = RequestFactory()
     response = PDFTemplateResponse(
         request=factory.get('/admin/'), 
         context=context, 
         template=get_template('invoice.html'),
         cmd_options={
             'page-size': 'Letter',
             'quiet': False
         },
     )
     temp_file = response.render_to_temporary_file(
                         "invoice.html")
     try:
         wkhtmltopdf(pages=[temp_file.name], output=abs_return_file)
         self.pdf.name = return_file
     finally:
         temp_file.close()
     self.save()
Example #3
0
    def post(self, request, *args, **kwargs):

        uiu = {k:v for k, v in request.POST.iteritems() if 'uiu' in k}
        personal_data = {k:v for k, v in request.POST.iteritems() if
                         'urbutm' not in k and 'uiu' not in k}
        urbanistic_plans = [k for k, v in request.POST.iteritems() if
                            'urbutm' in k and v == 'on']

        cdu_doc = cdu.document.Document(uiu, urbanistic_plans, personal_data)
        html_template = cdu_doc.create_html_document()
        if html_template:
            context = {'urbanistic_names': urbanistic_plans}
            pdf = PDFTemplateResponse(request=request,
                                      template='cdu/'+html_template,
                                      filename="cdu.pdf",
                                      context=context,
                                      show_content_in_browser=False)
            pdf.render()
            cdu_doc.remove_html_document()
            response = HttpResponse(content=pdf, content_type='application/pdf')
            response['Content-Disposition'] = 'attachment; filename="cdu.pdf"'
            return response

        else:
            #TODO:: adjust not intersections response
            #return HttpResponse('Non ci sono intersezioni')
            response = HttpResponse(content='json',
                                    content_type='text/javascript')
            return response
Example #4
0
 def test_PDFTemplateResponse_render_to_temporary_file(self):
     """Should render a template to a temporary file."""
     title = 'A test template.'
     response = PDFTemplateResponse(self.factory.get('/'), None, context={'title': title})
     temp_file = response.render_to_temporary_file('sample.html')
     temp_file.seek(0)
     saved_content = temp_file.read()
     self.assertTrue(title in saved_content)
     temp_file.close()
Example #5
0
 def test_wkhtmltopdf_with_unicode_content(self):
     """A wkhtmltopdf call should render unicode content properly"""
     title = u'♥'
     response = PDFTemplateResponse(self.factory.get('/'),
                                    None,
                                    context={'title': title})
     temp_file = response.render_to_temporary_file('unicode.html')
     try:
         pdf_output = wkhtmltopdf(pages=[temp_file.name])
         self.assertTrue(pdf_output.startswith(b'%PDF'), pdf_output)
     finally:
         temp_file.close()
Example #6
0
    def test_pdf_template_response(self, show_content=False):
        """Test PDFTemplateResponse."""

        context = {'title': 'Heading'}
        request = RequestFactory().get('/')
        response = PDFTemplateResponse(request=request,
                                       template=self.template,
                                       context=context,
                                       show_content_in_browser=show_content)
        self.assertEqual(response._request, request)
        self.assertEqual(response.template_name, self.template)
        self.assertEqual(response.context_data, context)
        self.assertEqual(response.filename, None)
        self.assertEqual(response.header_template, None)
        self.assertEqual(response.footer_template, None)
        self.assertEqual(response.cmd_options, {})
        self.assertFalse(response.has_header('Content-Disposition'))

        # Render to temporary file
        tempfile = response.render_to_temporary_file(self.template)
        tempfile.seek(0)
        html_content = smart_str(tempfile.read())
        self.assertTrue(html_content.startswith('<html>'))
        self.assertTrue('<h1>{title}</h1>'.format(**context)
                        in html_content)

        pdf_content = response.rendered_content
        self.assertTrue(pdf_content.startswith(b'%PDF-'))
        self.assertTrue(pdf_content.endswith(b'%%EOF\n'))

        # Footer
        cmd_options = {'title': 'Test PDF'}
        response = PDFTemplateResponse(request=request,
                                       template=self.template,
                                       context=context,
                                       filename=self.pdf_filename,
                                       show_content_in_browser=show_content,
                                       footer_template=self.footer_template,
                                       cmd_options=cmd_options)
        self.assertEqual(response.filename, self.pdf_filename)
        self.assertEqual(response.header_template, None)
        self.assertEqual(response.footer_template, self.footer_template)
        self.assertEqual(response.cmd_options, cmd_options)
        self.assertTrue(response.has_header('Content-Disposition'))

        tempfile = response.render_to_temporary_file(self.footer_template)
        tempfile.seek(0)
        footer_content = smart_str(tempfile.read())
        footer_content = make_absolute_paths(footer_content)

        media_url = 'file://{0}/'.format(settings.MEDIA_ROOT)
        self.assertTrue(media_url in footer_content, True)

        static_url = 'file://{0}/'.format(settings.STATIC_ROOT)
        self.assertTrue(static_url in footer_content, True)

        pdf_content = response.rendered_content
        title = '\0'.join(cmd_options['title'])
        self.assertIn(six.b(title), pdf_content)
Example #7
0
def listar(request, output=None):

    if request.user.has_perm('r2030.can_see_r2030infoRecurso'):

        filtrar = False

        dict_fields = {}
        show_fields = {
            'show_r2030_recursosrec': 1,
            'show_tprepasse': 1,
            'show_descrecurso': 1,
            'show_vlrbruto': 0,
            'show_vlrretapur': 0,
        }

        post = False

        if request.method == 'POST':

            post = True
            dict_fields = {
                'r2030_recursosrec__icontains': 'r2030_recursosrec__icontains',
                'tprepasse__icontains': 'tprepasse__icontains',
                'descrecurso__icontains': 'descrecurso__icontains',
                'vlrbruto__icontains': 'vlrbruto__icontains',
                'vlrretapur__icontains': 'vlrretapur__icontains',
            }

            for a in dict_fields:

                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:

                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':

                dict_fields = {
                    'r2030_recursosrec__icontains':
                    'r2030_recursosrec__icontains',
                    'tprepasse__icontains': 'tprepasse__icontains',
                    'descrecurso__icontains': 'descrecurso__icontains',
                    'vlrbruto__icontains': 'vlrbruto__icontains',
                    'vlrretapur__icontains': 'vlrretapur__icontains',
                }

                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)
        r2030_inforecurso_lista = r2030infoRecurso.objects.filter(
            **dict_qs).filter().exclude(id=0).all()

        if not post and len(r2030_inforecurso_lista) > 100:

            filtrar = True
            r2030_inforecurso_lista = None
            messages.warning(
                request,
                u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        r2030_recursosrec_lista = r2030recursosRec.objects.all()
        #r2030_inforecurso_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'r2030_inforecurso_lista': r2030_inforecurso_lista,
            'modulos': [
                'r2030',
            ],
            'paginas': [
                'r2030_inforecurso',
            ],
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'show_fields': show_fields,
            'filtrar': filtrar,
            'r2030_recursosrec_lista': r2030_recursosrec_lista,
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='r2030_inforecurso_listar.html',
                filename="r2030_inforecurso.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response
            response = render_to_response('r2030_inforecurso_listar.html',
                                          context)
            filename = "r2030_inforecurso.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response

        elif output == 'csv':

            from django.shortcuts import render_to_response
            response = render_to_response('csv/r2030_inforecurso.csv', context)
            filename = "r2030_inforecurso.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response

        else:

            return render(request, 'r2030_inforecurso_listar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'data': datetime.datetime.now(),
            'modulos': [
                'r2030',
            ],
            'paginas': [
                'r2030_inforecurso',
            ],
        }

        return render(request, 'permissao_negada.html', context)
Example #8
0
def verificar(request, pk, output=None):

    if request.user.has_perm('efdreinf.can_see_r2099evtFechaEvPer'):

        r2099_evtfechaevper = get_object_or_404(r2099evtFechaEvPer, id=pk)
        r2099_evtfechaevper_lista = r2099evtFechaEvPer.objects.filter(
            id=pk).all()

        r2099_iderespinf_lista = r2099ideRespInf.objects.filter(
            r2099_evtfechaevper_id__in=listar_ids(
                r2099_evtfechaevper_lista)).all()

        request.session['return_pk'] = pk
        request.session['return_page'] = request.META.get('HTTP_REFERER')

        context = {
            'r2099_evtfechaevper_lista': r2099_evtfechaevper_lista,
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'r2099_evtfechaevper': r2099_evtfechaevper,
            'r2099_iderespinf_lista': r2099_iderespinf_lista,
            'modulos': [
                'efdreinf',
            ],
            'paginas': [
                'r2099_evtfechaevper',
            ],
            'data': datetime.now(),
            'output': output,
        }

        if output == 'pdf':

            response = PDFTemplateResponse(
                request=request,
                template='r2099_evtfechaevper_verificar.html',
                filename="r2099_evtfechaevper.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 20,
                    'zoom': 1,
                    'viewport-size': '1366 x 513',
                    'javascript-delay': 1000,
                    'footer-center': u'Página [page]/[topage]',
                    'footer-font-size': 10,
                    'no-stop-slow-scripts': True
                })

            return response

        elif output == 'xls':

            response = render_to_response('r2099_evtfechaevper_verificar.html',
                                          context)
            filename = "%s.xls" % r2099_evtfechaevper.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            response = render_to_response('r2099_evtfechaevper_verificar.html',
                                          context)
            filename = "%s.csv" % r2099_evtfechaevper.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response

        else:

            return render(request, 'r2099_evtfechaevper_verificar.html',
                          context)

    else:

        context = {
            'modulos': [
                'efdreinf',
            ],
            'paginas': [
                'r2099_evtfechaevper',
            ],
            'data': datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
Example #9
0
    def test_pdf_template_response(self):
        """Test PDFTemplateResponse."""
        from django.conf import settings

        with override_settings(
            MEDIA_URL='/media/',
            MEDIA_ROOT='/tmp/media',
            STATIC_URL='/static/',
            STATIC_ROOT='/tmp/static',
            TEMPLATE_CONTEXT_PROCESSORS=[
                'django.core.context_processors.media',
                'django.core.context_processors.static',
            ],
            TEMPLATE_LOADERS=['django.template.loaders.filesystem.Loader'],
            TEMPLATE_DIRS=[os.path.join(os.path.dirname(__file__),
                                        '_testproject', 'templates')],
            WKHTMLTOPDF_DEBUG=False,
        ):
            # Setup sample.html
            template = 'sample.html'
            context = {'title': 'Heading'}
            request = RequestFactory().get('/')
            response = PDFTemplateResponse(request=request,
                                           template=template,
                                           context=context)
            self.assertEqual(response._request, request)
            self.assertEqual(response.template_name, template)
            self.assertEqual(response.context_data, context)
            self.assertEqual(response.filename, None)
            self.assertEqual(response.header_template, None)
            self.assertEqual(response.footer_template, None)
            self.assertEqual(response.cmd_options, {})
            self.assertFalse(response.has_header('Content-Disposition'))

            # Render to temporary file
            tempfile = response.render_to_temporary_file(template)
            tempfile.seek(0)
            html_content = tempfile.read()
            self.assertTrue(html_content.startswith('<html>'))
            self.assertTrue('<h1>{title}</h1>'.format(**context)
                            in html_content)

            pdf_content = response.rendered_content
            self.assertTrue(pdf_content.startswith('%PDF-'))
            self.assertTrue(pdf_content.endswith('%%EOF\n'))

            # Footer
            filename = 'output.pdf'
            footer_template = 'footer.html'
            cmd_options = {'title': 'Test PDF'}
            response = PDFTemplateResponse(request=request,
                                           template=template,
                                           context=context,
                                           filename=filename,
                                           footer_template=footer_template,
                                           cmd_options=cmd_options)
            self.assertEqual(response.filename, filename)
            self.assertEqual(response.header_template, None)
            self.assertEqual(response.footer_template, footer_template)
            self.assertEqual(response.cmd_options, cmd_options)
            self.assertTrue(response.has_header('Content-Disposition'))

            tempfile = response.render_to_temporary_file(footer_template)
            tempfile.seek(0)
            footer_content = tempfile.read()

            media_url = 'MEDIA_URL = file://{0}/'.format(settings.MEDIA_ROOT)
            self.assertTrue(
                media_url in footer_content,
                "{0!r} not in {1!r}".format(media_url, footer_content)
            )

            static_url = 'STATIC_URL = file://{0}/'.format(settings.STATIC_ROOT)
            self.assertTrue(
                static_url in footer_content,
                "{0!r} not in {1!r}".format(static_url, footer_content)
            )

            pdf_content = response.rendered_content
            self.assertTrue('\0'.join('{title}'.format(**cmd_options))
                            in pdf_content)

            # Override settings
            response = PDFTemplateResponse(request=request,
                                           template=template,
                                           context=context,
                                           filename=filename,
                                           footer_template=footer_template,
                                           cmd_options=cmd_options,
                                           override_settings={
                                               'STATIC_URL': 'file:///tmp/s/'
                                           })
            tempfile = response.render_to_temporary_file(footer_template)
            tempfile.seek(0)
            footer_content = tempfile.read()

            static_url = 'STATIC_URL = {0}'.format('file:///tmp/s/')
            self.assertTrue(
                static_url in footer_content,
                "{0!r} not in {1!r}".format(static_url, footer_content)
            )
            self.assertEqual(settings.STATIC_URL, '/static/')
Example #10
0
def salvar(request, pk=None, tab='master', output=None):

    from emensageriapro.esocial.models import STATUS_EVENTO_CADASTRADO

    evento_dados = {}
    evento_dados['status'] = STATUS_EVENTO_CADASTRADO

    if pk:

        s2200_ric = get_object_or_404(s2200RIC, id=pk)
        evento_dados = s2200_ric.evento()

    if request.user.has_perm('s2200.can_see_s2200RIC'):

        if pk:

            s2200_ric_form = form_s2200_ric(request.POST or None,
                                            instance=s2200_ric)

        else:

            s2200_ric_form = form_s2200_ric(request.POST or None)

        if request.method == 'POST':

            if s2200_ric_form.is_valid():

                obj = s2200_ric_form.save(request=request)
                messages.success(request, u'Salvo com sucesso!')

                if 'return_page' in request.session and request.session[
                        'return_page'] and 's2200-ric' not in request.session[
                            'return_page']:

                    return HttpResponseRedirect(request.session['return_page'])

                if pk != obj.id:

                    return redirect('s2200_ric_salvar', pk=obj.id)

            else:

                messages.error(request, u'Erro ao salvar!')

        s2200_ric_form = disabled_form_fields(
            s2200_ric_form, request.user.has_perm('s2200.change_s2200RIC'))

        if pk:

            if evento_dados['status'] != STATUS_EVENTO_CADASTRADO:

                s2200_ric_form = disabled_form_fields(s2200_ric_form, 0)

        if output:

            s2200_ric_form = disabled_form_for_print(s2200_ric_form)

        if pk:

            s2200_ric = get_object_or_404(s2200RIC, id=pk)

        else:

            s2200_ric = None

        tabelas_secundarias = []

        controle_alteracoes = Auditoria.objects.filter(
            identidade=pk, tabela='s2200_ric').all()

        if not request.POST:
            request.session['return_page'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'output': output,
            'evento_dados': evento_dados,
            'controle_alteracoes': controle_alteracoes,
            's2200_ric': s2200_ric,
            's2200_ric_form': s2200_ric_form,
            'modulos': [
                's2200',
            ],
            'paginas': [
                's2200_ric',
            ],
            'data': datetime.datetime.now(),
            'tabelas_secundarias': tabelas_secundarias,
            'tab': tab,
            #s2200_ric_salvar_custom_variaveis_context#
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='s2200_ric_salvar.html',
                filename="s2200_ric.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response

            response = render_to_response('s2200_ric_salvar.html', context)
            filename = "s2200_ric.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        else:

            return render(request, 's2200_ric_salvar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'output': output,
            'tab': tab,
            'modulos': [
                's2200',
            ],
            'paginas': [
                's2200_ric',
            ],
            'data': datetime.datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
Example #11
0
def salvar(request, pk=None, tab='master', output=None):

    from emensageriapro.efdreinf.models import STATUS_EVENTO_CADASTRADO

    evento_dados = {}
    evento_dados['status'] = STATUS_EVENTO_CADASTRADO

    if pk:

        r9012_totapurdec = get_object_or_404(r9012totApurDec, id=pk)
        evento_dados = r9012_totapurdec.evento()

    if request.user.has_perm('r9012.can_see_r9012totApurDec'):

        if pk:

            r9012_totapurdec_form = form_r9012_totapurdec(
                request.POST or None, instance=r9012_totapurdec)

        else:

            r9012_totapurdec_form = form_r9012_totapurdec(request.POST or None)

        if request.method == 'POST':

            if r9012_totapurdec_form.is_valid():

                obj = r9012_totapurdec_form.save(request=request)
                messages.success(request, u'Salvo com sucesso!')

                if not pk:

                    gravar_auditoria(
                        '{}',
                        json.dumps(model_to_dict(obj),
                                   indent=4,
                                   sort_keys=True,
                                   default=str), 'r9012_totapurdec', obj.id,
                        request.user.id, 1)

                else:

                    gravar_auditoria(
                        json.dumps(model_to_dict(r9012_totapurdec),
                                   indent=4,
                                   sort_keys=True,
                                   default=str),
                        json.dumps(model_to_dict(obj),
                                   indent=4,
                                   sort_keys=True,
                                   default=str), 'r9012_totapurdec', pk,
                        request.user.id, 2)

                if request.session['return_page'] not in (
                        'r9012_totapurdec_apagar', 'r9012_totapurdec_salvar',
                        'r9012_totapurdec'):

                    return redirect(request.session['return_page'],
                                    pk=request.session['return_pk'])

                if pk != obj.id:

                    return redirect('r9012_totapurdec_salvar', pk=obj.id)

            else:

                messages.error(request, u'Erro ao salvar!')

        r9012_totapurdec_form = disabled_form_fields(
            r9012_totapurdec_form,
            request.user.has_perm('r9012.change_r9012totApurDec'))

        if pk:

            if evento_dados['status'] != STATUS_EVENTO_CADASTRADO:

                r9012_totapurdec_form = disabled_form_fields(
                    r9012_totapurdec_form, 0)

        if output:

            r9012_totapurdec_form = disabled_form_for_print(
                r9012_totapurdec_form)

        if pk:

            r9012_totapurdec = get_object_or_404(r9012totApurDec, id=pk)

        else:

            r9012_totapurdec = None

        tabelas_secundarias = []

        if tab or 'r9012_totapurdec' in request.session['return_page']:

            request.session['return_pk'] = pk
            request.session['return_tab'] = tab
            request.session['return_page'] = 'r9012_totapurdec_salvar'

        controle_alteracoes = Auditoria.objects.filter(
            identidade=pk, tabela='r9012_totapurdec').all()

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'output': output,
            'evento_dados': evento_dados,
            'controle_alteracoes': controle_alteracoes,
            'r9012_totapurdec': r9012_totapurdec,
            'r9012_totapurdec_form': r9012_totapurdec_form,
            'modulos': [
                'r9012',
            ],
            'paginas': [
                'r9012_totapurdec',
            ],
            'data': datetime.datetime.now(),
            'tabelas_secundarias': tabelas_secundarias,
            'tab': tab,
            #r9012_totapurdec_salvar_custom_variaveis_context#
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='r9012_totapurdec_salvar.html',
                filename="r9012_totapurdec.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response

            response = render_to_response('r9012_totapurdec_salvar.html',
                                          context)
            filename = "r9012_totapurdec.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        else:

            return render(request, 'r9012_totapurdec_salvar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'output': output,
            'tab': tab,
            'modulos': [
                'r9012',
            ],
            'paginas': [
                'r9012_totapurdec',
            ],
            'data': datetime.datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
Example #12
0
def listar(request, hash):
    for_print = 0
    db_slug = 'default'
    try:
        usuario_id = request.user.id
        dict_hash = get_hash_url(hash)
        #retorno_pagina = dict_hash['retorno_pagina']
        #retorno_hash = dict_hash['retorno_hash']
        #s1202_infoperapur_itensremun_id = int(dict_hash['id'])
        for_print = int(dict_hash['print'])
    except:
        usuario_id = False
        return redirect('login')
    usuario = get_object_or_404(Usuarios.objects.using(db_slug),
                                excluido=False,
                                id=usuario_id)
    pagina = ConfigPaginas.objects.using(db_slug).get(
        excluido=False, endereco='s1202_infoperapur_itensremun')
    permissao = ConfigPermissoes.objects.using(db_slug).get(
        excluido=False,
        config_paginas=pagina,
        config_perfis=usuario.config_perfis)
    dict_permissoes = json_to_dict(usuario.config_perfis.permissoes)
    paginas_permitidas_lista = usuario.config_perfis.paginas_permitidas
    modulos_permitidos_lista = usuario.config_perfis.modulos_permitidos

    if permissao.permite_listar:
        filtrar = False
        dict_fields = {}
        show_fields = {
            'show_excluido': 0,
            'show_modificado_por': 0,
            'show_modificado_em': 0,
            'show_criado_por': 0,
            'show_criado_em': 0,
            'show_vrrubr': 1,
            'show_vrunit': 0,
            'show_fatorrubr': 0,
            'show_qtdrubr': 0,
            'show_idetabrubr': 1,
            'show_codrubr': 1,
            'show_s1202_infoperapur_remunperapur': 1,
        }
        post = False
        if request.method == 'POST':
            post = True
            dict_fields = {
                'vrrubr': 'vrrubr',
                'vrunit': 'vrunit',
                'fatorrubr': 'fatorrubr',
                'qtdrubr': 'qtdrubr',
                'idetabrubr__icontains': 'idetabrubr__icontains',
                'codrubr__icontains': 'codrubr__icontains',
                's1202_infoperapur_remunperapur':
                's1202_infoperapur_remunperapur',
            }
            for a in dict_fields:
                dict_fields[a] = request.POST.get(a or None)
            for a in show_fields:
                show_fields[a] = request.POST.get(a or None)
            if request.method == 'POST':
                dict_fields = {
                    'vrrubr':
                    'vrrubr',
                    'vrunit':
                    'vrunit',
                    'fatorrubr':
                    'fatorrubr',
                    'qtdrubr':
                    'qtdrubr',
                    'idetabrubr__icontains':
                    'idetabrubr__icontains',
                    'codrubr__icontains':
                    'codrubr__icontains',
                    's1202_infoperapur_remunperapur':
                    's1202_infoperapur_remunperapur',
                }
                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)
        dict_qs = clear_dict_fields(dict_fields)
        s1202_infoperapur_itensremun_lista = s1202infoPerApuritensRemun.objects.using(
            db_slug).filter(**dict_qs).filter(excluido=False).exclude(
                id=0).all()
        if not post and len(s1202_infoperapur_itensremun_lista) > 100:
            filtrar = True
            s1202_infoperapur_itensremun_lista = None
            messages.warning(
                request,
                'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        s1202_infoperapur_remunperapur_lista = s1202infoPerApurremunPerApur.objects.using(
            db_slug).filter(excluido=False).all()
        #s1202_infoperapur_itensremun_listar_custom
        request.session["retorno_hash"] = hash
        request.session["retorno_pagina"] = 's1202_infoperapur_itensremun'
        context = {
            's1202_infoperapur_itensremun_lista':
            s1202_infoperapur_itensremun_lista,
            'usuario':
            usuario,
            'modulos_permitidos_lista':
            modulos_permitidos_lista,
            'paginas_permitidas_lista':
            paginas_permitidas_lista,
            'permissao':
            permissao,
            'dict_fields':
            dict_fields,
            'data':
            datetime.datetime.now(),
            'pagina':
            pagina,
            'dict_permissoes':
            dict_permissoes,
            'show_fields':
            show_fields,
            'for_print':
            for_print,
            'hash':
            hash,
            'filtrar':
            filtrar,
            's1202_infoperapur_remunperapur_lista':
            s1202_infoperapur_remunperapur_lista,
        }
        if for_print in (0, 1):
            return render(request, 's1202_infoperapur_itensremun_listar.html',
                          context)
        elif for_print == 2:
            #return render_to_pdf('tables/s1000_evtinfoempregador_pdf_xls.html', context)
            from wkhtmltopdf.views import PDFTemplateResponse
            response = PDFTemplateResponse(
                request=request,
                template='s1202_infoperapur_itensremun_listar.html',
                filename="s1202_infoperapur_itensremun.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response
        elif for_print == 3:
            from django.shortcuts import render_to_response
            response = render_to_response(
                's1202_infoperapur_itensremun_listar.html', context)
            filename = "s1202_infoperapur_itensremun.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response
        elif for_print == 4:
            from django.shortcuts import render_to_response
            response = render_to_response(
                'tables/s1202_infoperapur_itensremun_csv.html', context)
            filename = "s1202_infoperapur_itensremun.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response
    else:
        context = {
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
        }
        return render(request, 'permissao_negada.html', context)
Example #13
0
def salvar(request, pk=None, tab='master', output=None):

    if pk:

        relatorios = get_object_or_404(Relatorios, id=pk)

    if request.user.has_perm('mensageiro.can_see_Relatorios'):

        if pk:

            relatorios_form = form_relatorios(request.POST or None,
                                              instance=relatorios)

        else:

            relatorios_form = form_relatorios(request.POST or None)

        if request.method == 'POST':

            if relatorios_form.is_valid():

                #relatorios_campos_multiple_passo1

                obj = relatorios_form.save(request=request)
                messages.success(request, 'Salvo com sucesso!')
                #relatorios_campos_multiple_passo2

                if 'return_page' in request.session and request.session[
                        'return_page'] and 'relatorios' not in request.session[
                            'return_page']:

                    return HttpResponseRedirect(request.session['return_page'])

                if pk != obj.id:

                    return redirect('relatorios_salvar', pk=obj.id)

            else:

                messages.error(request, 'Erro ao salvar!')

        relatorios_form = disabled_form_fields(
            relatorios_form,
            request.user.has_perm('mensageiro.change_Relatorios'))
        #relatorios_campos_multiple_passo3

        if output:

            relatorios_form = disabled_form_for_print(relatorios_form)

        if pk:

            relatorios = get_object_or_404(Relatorios, id=pk)

        else:

            relatorios = None

        #relatorios_salvar_custom_variaveis#
        tabelas_secundarias = []
        #[FUNCOES_ESPECIAIS_SALVAR]

        if not request.POST:
            request.session['return_page'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'output': output,
            'tab': tab,
            'relatorios': relatorios,
            'relatorios_form': relatorios_form,
            'modulos': [
                'mensageiro',
            ],
            'paginas': [
                'relatorios',
            ],
            'data': datetime.datetime.now(),
            'tabelas_secundarias': tabelas_secundarias,
            #relatorios_salvar_custom_variaveis_context#
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(request=request,
                                           template='relatorios_salvar.html',
                                           filename="relatorios.pdf",
                                           context=context,
                                           show_content_in_browser=True,
                                           cmd_options={
                                               'margin-top': 10,
                                               'margin-bottom': 10,
                                               'margin-right': 10,
                                               'margin-left': 10,
                                               'zoom': 1,
                                               'dpi': 72,
                                               'orientation': 'Landscape',
                                               "viewport-size": "1366 x 513",
                                               'javascript-delay': 1000,
                                               'footer-center':
                                               '[page]/[topage]',
                                               "no-stop-slow-scripts": True
                                           })

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response

            response = render_to_response('relatorios_salvar.html', context)
            filename = "relatorios.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        else:

            return render(request, 'relatorios_salvar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'output': output,
            'tab': tab,
            'modulos': [
                'mensageiro',
            ],
            'paginas': [
                'relatorios',
            ],
            'data': datetime.datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
Example #14
0
def listar(request, output=None):

    if request.user.has_perm('efdreinf.can_see_r2099evtFechaEvPer'):

        filtrar = False
        dict_fields = {}
        show_fields = {
            'show_reinf': 0,
            'show_evtfechaevper': 0,
            'show_identidade': 1,
            'show_ideevento': 0,
            'show_perapur': 1,
            'show_tpamb': 0,
            'show_procemi': 0,
            'show_verproc': 0,
            'show_idecontri': 0,
            'show_tpinsc': 1,
            'show_nrinsc': 0,
            'show_infofech': 0,
            'show_evtservtm': 0,
            'show_evtservpr': 0,
            'show_evtassdesprec': 0,
            'show_evtassdesprep': 0,
            'show_evtcomprod': 0,
            'show_evtcprb': 0,
            'show_evtpgtos': 0,
            'show_compsemmovto': 0,
            'show_versao': 0,
            'show_transmissor_lote_efdreinf': 0,
            'show_retornos_r5001': 0,
            'show_retornos_r5011': 0,
            'show_retornos_r9001': 0,
            'show_retornos_r9002': 0,
            'show_retornos_r9011': 0,
            'show_retornos_r9012': 0,
            'show_ocorrencias': 0,
            'show_validacao_precedencia': 0,
            'show_validacoes': 0,
            'show_arquivo_original': 0,
            'show_arquivo': 0,
            'show_status': 1,
            'show_cdretorno': 1,
            'show_descretorno': 0,
            'show_dhprocess': 0,
            'show_transmissor_lote_efdreinf_error': 0,
        }

        post = False

        if request.method == 'POST':

            post = True
            dict_fields = {
                'reinf': 'reinf',
                'evtfechaevper': 'evtfechaevper',
                'identidade__icontains': 'identidade__icontains',
                'ideevento': 'ideevento',
                'perapur__icontains': 'perapur__icontains',
                'tpamb__icontains': 'tpamb__icontains',
                'procemi__icontains': 'procemi__icontains',
                'verproc__icontains': 'verproc__icontains',
                'idecontri': 'idecontri',
                'tpinsc__icontains': 'tpinsc__icontains',
                'nrinsc__icontains': 'nrinsc__icontains',
                'infofech': 'infofech',
                'evtservtm__icontains': 'evtservtm__icontains',
                'evtservpr__icontains': 'evtservpr__icontains',
                'evtassdesprec__icontains': 'evtassdesprec__icontains',
                'evtassdesprep__icontains': 'evtassdesprep__icontains',
                'evtcomprod__icontains': 'evtcomprod__icontains',
                'evtcprb__icontains': 'evtcprb__icontains',
                'evtpgtos__icontains': 'evtpgtos__icontains',
                'compsemmovto__icontains': 'compsemmovto__icontains',
                'versao__icontains': 'versao__icontains',
                'transmissor_lote_efdreinf__icontains':
                'transmissor_lote_efdreinf__icontains',
                'status__icontains': 'status__icontains',
                'cdretorno__icontains': 'cdretorno__icontains',
            }

            for a in dict_fields:
                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:
                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':
                dict_fields = {
                    'reinf': 'reinf',
                    'evtfechaevper': 'evtfechaevper',
                    'identidade__icontains': 'identidade__icontains',
                    'ideevento': 'ideevento',
                    'perapur__icontains': 'perapur__icontains',
                    'tpamb__icontains': 'tpamb__icontains',
                    'procemi__icontains': 'procemi__icontains',
                    'verproc__icontains': 'verproc__icontains',
                    'idecontri': 'idecontri',
                    'tpinsc__icontains': 'tpinsc__icontains',
                    'nrinsc__icontains': 'nrinsc__icontains',
                    'infofech': 'infofech',
                    'evtservtm__icontains': 'evtservtm__icontains',
                    'evtservpr__icontains': 'evtservpr__icontains',
                    'evtassdesprec__icontains': 'evtassdesprec__icontains',
                    'evtassdesprep__icontains': 'evtassdesprep__icontains',
                    'evtcomprod__icontains': 'evtcomprod__icontains',
                    'evtcprb__icontains': 'evtcprb__icontains',
                    'evtpgtos__icontains': 'evtpgtos__icontains',
                    'compsemmovto__icontains': 'compsemmovto__icontains',
                    'versao__icontains': 'versao__icontains',
                    'transmissor_lote_efdreinf__icontains':
                    'transmissor_lote_efdreinf__icontains',
                    'status__icontains': 'status__icontains',
                    'cdretorno__icontains': 'cdretorno__icontains',
                }
                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)
        r2099_evtfechaevper_lista = r2099evtFechaEvPer.objects.filter(
            **dict_qs).filter().exclude(id=0).all()

        if not post and len(r2099_evtfechaevper_lista) > 100:
            filtrar = True
            r2099_evtfechaevper_lista = None
            messages.warning(
                request,
                u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        transmissor_lote_efdreinf_lista = TransmissorLoteEfdreinf.objects.all()
        retornos_r5001_lista = r5001evtTotal.objects.all()
        retornos_r5011_lista = r5011evtTotalContrib.objects.all()
        retornos_r9001_lista = r9001evtTotal.objects.all()
        retornos_r9002_lista = r9002evtRet.objects.all()
        retornos_r9011_lista = r9011evtTotalContrib.objects.all()
        retornos_r9012_lista = r9012evtRetCons.objects.all()
        transmissor_lote_efdreinf_error_lista = TransmissorLoteEfdreinf.objects.all(
        )
        #r2099_evtfechaevper_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario':
            Usuarios.objects.get(user_id=request.user.id),
            'output':
            output,
            'r2099_evtfechaevper_lista':
            r2099_evtfechaevper_lista,
            'dict_fields':
            dict_fields,
            'data':
            datetime.datetime.now(),
            'modulos': [
                'efdreinf',
            ],
            'paginas': [
                'r2099_evtfechaevper',
            ],
            'show_fields':
            show_fields,
            'filtrar':
            filtrar,
            'transmissor_lote_efdreinf_lista':
            transmissor_lote_efdreinf_lista,
            'retornos_r5001_lista':
            retornos_r5001_lista,
            'retornos_r5011_lista':
            retornos_r5011_lista,
            'retornos_r9001_lista':
            retornos_r9001_lista,
            'retornos_r9002_lista':
            retornos_r9002_lista,
            'retornos_r9011_lista':
            retornos_r9011_lista,
            'retornos_r9012_lista':
            retornos_r9012_lista,
            'transmissor_lote_efdreinf_error_lista':
            transmissor_lote_efdreinf_error_lista,
        }

        if output == 'pdf':

            from emensageriapro.functions import render_to_pdf
            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='r2099_evtfechaevper_listar.html',
                filename="r2099_evtfechaevper.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    'viewport-size': "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response

        elif output == 'xls':

            response = render_to_response('r2099_evtfechaevper_listar.html',
                                          context)
            filename = "r2099_evtfechaevper.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            response = render_to_response('csv/r2099_evtfechaevper.csv',
                                          context)
            filename = "r2099_evtfechaevper.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'

            return response

        else:

            return render(request, 'r2099_evtfechaevper_listar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'data': datetime.datetime.now(),
            'modulos': [
                'efdreinf',
            ],
            'paginas': [
                'r2099_evtfechaevper',
            ],
        }
        return render(request, 'permissao_negada.html', context)
Example #15
0
def listar(request, output=None):

    if request.user.has_perm('s1005.can_see_s1005inclusao'):

        filtrar = False

        dict_fields = {}
        show_fields = {
            'show_s1005_evttabestab': 1,
            'show_ideestab': 0,
            'show_tpinsc': 1,
            'show_nrinsc': 1,
            'show_inivalid': 0,
            'show_fimvalid': 0,
            'show_dadosestab': 0,
            'show_cnaeprep': 0,
            'show_aliqgilrat': 0,
            'show_aliqrat': 0,
            'show_fap': 0,
            'show_aliqratajust': 0,
            'show_infotrab': 0,
            'show_regpt': 0,
            'show_infoapr': 0,
            'show_contapr': 0,
            'show_nrprocjud': 0,
            'show_contented': 0,
        }

        post = False

        if request.method == 'POST':

            post = True
            dict_fields = {
                's1005_evttabestab__icontains': 's1005_evttabestab__icontains',
                'ideestab': 'ideestab',
                'tpinsc__icontains': 'tpinsc__icontains',
                'nrinsc__icontains': 'nrinsc__icontains',
                'inivalid__icontains': 'inivalid__icontains',
                'fimvalid__icontains': 'fimvalid__icontains',
                'dadosestab': 'dadosestab',
                'cnaeprep__icontains': 'cnaeprep__icontains',
                'aliqgilrat': 'aliqgilrat',
                'aliqrat__icontains': 'aliqrat__icontains',
                'fap__icontains': 'fap__icontains',
                'aliqratajust__icontains': 'aliqratajust__icontains',
                'infotrab': 'infotrab',
                'regpt__icontains': 'regpt__icontains',
                'infoapr': 'infoapr',
                'contapr__icontains': 'contapr__icontains',
                'nrprocjud__icontains': 'nrprocjud__icontains',
                'contented__icontains': 'contented__icontains',
            }

            for a in dict_fields:

                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:

                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':

                dict_fields = {
                    's1005_evttabestab__icontains':
                    's1005_evttabestab__icontains',
                    'ideestab': 'ideestab',
                    'tpinsc__icontains': 'tpinsc__icontains',
                    'nrinsc__icontains': 'nrinsc__icontains',
                    'inivalid__icontains': 'inivalid__icontains',
                    'fimvalid__icontains': 'fimvalid__icontains',
                    'dadosestab': 'dadosestab',
                    'cnaeprep__icontains': 'cnaeprep__icontains',
                    'aliqgilrat': 'aliqgilrat',
                    'aliqrat__icontains': 'aliqrat__icontains',
                    'fap__icontains': 'fap__icontains',
                    'aliqratajust__icontains': 'aliqratajust__icontains',
                    'infotrab': 'infotrab',
                    'regpt__icontains': 'regpt__icontains',
                    'infoapr': 'infoapr',
                    'contapr__icontains': 'contapr__icontains',
                    'nrprocjud__icontains': 'nrprocjud__icontains',
                    'contented__icontains': 'contented__icontains',
                }

                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)
        s1005_inclusao_lista = s1005inclusao.objects.filter(
            **dict_qs).filter().exclude(id=0).all()

        if not post and len(s1005_inclusao_lista) > 100:

            filtrar = True
            s1005_inclusao_lista = None
            messages.warning(
                request,
                u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        s1005_evttabestab_lista = s1005evtTabEstab.objects.all()
        #s1005_inclusao_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            's1005_inclusao_lista': s1005_inclusao_lista,
            'modulos': [
                's1005',
            ],
            'paginas': [
                's1005_inclusao',
            ],
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'show_fields': show_fields,
            'filtrar': filtrar,
            's1005_evttabestab_lista': s1005_evttabestab_lista,
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='s1005_inclusao_listar.html',
                filename="s1005_inclusao.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response
            response = render_to_response('s1005_inclusao_listar.html',
                                          context)
            filename = "s1005_inclusao.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response

        elif output == 'csv':

            from django.shortcuts import render_to_response
            response = render_to_response('csv/s1005_inclusao.csv', context)
            filename = "s1005_inclusao.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response

        else:

            return render(request, 's1005_inclusao_listar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'data': datetime.datetime.now(),
            'modulos': [
                's1005',
            ],
            'paginas': [
                's1005_inclusao',
            ],
        }

        return render(request, 'permissao_negada.html', context)
Example #16
0
def verificar(request, hash):
    for_print = 0
    db_slug = 'default'
    try:
        usuario_id = request.user.id
        dict_hash = get_hash_url( hash )
        r2070_evtpgtosdivs_id = int(dict_hash['id'])
        for_print = int(dict_hash['print'])
    except:
        usuario_id = False
        return redirect('login')
    usuario = get_object_or_404(Usuarios.objects.using( db_slug ), excluido = False, id = usuario_id)
    pagina = ConfigPaginas.objects.using( db_slug ).get(excluido = False, endereco='r2070_evtpgtosdivs')
    permissao = ConfigPermissoes.objects.using( db_slug ).get(excluido = False, config_paginas=pagina, config_perfis=usuario.config_perfis)
    dict_permissoes = json_to_dict(usuario.config_perfis.permissoes)
    paginas_permitidas_lista = usuario.config_perfis.paginas_permitidas
    modulos_permitidos_lista = usuario.config_perfis.modulos_permitidos

    if permissao.permite_listar:
        r2070_evtpgtosdivs = get_object_or_404(r2070evtPgtosDivs.objects.using( db_slug ), excluido = False, id = r2070_evtpgtosdivs_id)
        r2070_evtpgtosdivs_lista = r2070evtPgtosDivs.objects.using( db_slug ).filter(id=r2070_evtpgtosdivs_id, excluido = False).all()


        r2070_inforesidext_lista = r2070infoResidExt.objects.using(db_slug).filter(r2070_evtpgtosdivs_id__in = listar_ids(r2070_evtpgtosdivs_lista) ).filter(excluido=False).all()
        r2070_infomolestia_lista = r2070infoMolestia.objects.using(db_slug).filter(r2070_evtpgtosdivs_id__in = listar_ids(r2070_evtpgtosdivs_lista) ).filter(excluido=False).all()
        r2070_ideestab_lista = r2070ideEstab.objects.using(db_slug).filter(r2070_evtpgtosdivs_id__in = listar_ids(r2070_evtpgtosdivs_lista) ).filter(excluido=False).all()
        r2070_pgtopf_lista = r2070pgtoPF.objects.using(db_slug).filter(r2070_ideestab_id__in = listar_ids(r2070_ideestab_lista) ).filter(excluido=False).all()
        r2070_detdeducao_lista = r2070detDeducao.objects.using(db_slug).filter(r2070_pgtopf_id__in = listar_ids(r2070_pgtopf_lista) ).filter(excluido=False).all()
        r2070_rendisento_lista = r2070rendIsento.objects.using(db_slug).filter(r2070_pgtopf_id__in = listar_ids(r2070_pgtopf_lista) ).filter(excluido=False).all()
        r2070_detcompet_lista = r2070detCompet.objects.using(db_slug).filter(r2070_pgtopf_id__in = listar_ids(r2070_pgtopf_lista) ).filter(excluido=False).all()
        r2070_compjud_lista = r2070compJud.objects.using(db_slug).filter(r2070_pgtopf_id__in = listar_ids(r2070_pgtopf_lista) ).filter(excluido=False).all()
        r2070_inforra_lista = r2070infoRRA.objects.using(db_slug).filter(r2070_pgtopf_id__in = listar_ids(r2070_pgtopf_lista) ).filter(excluido=False).all()
        r2070_inforra_despprocjud_lista = r2070infoRRAdespProcJud.objects.using(db_slug).filter(r2070_inforra_id__in = listar_ids(r2070_inforra_lista) ).filter(excluido=False).all()
        r2070_inforra_ideadvogado_lista = r2070infoRRAideAdvogado.objects.using(db_slug).filter(r2070_inforra_despprocjud_id__in = listar_ids(r2070_inforra_despprocjud_lista) ).filter(excluido=False).all()
        r2070_infoprocjud_lista = r2070infoProcJud.objects.using(db_slug).filter(r2070_pgtopf_id__in = listar_ids(r2070_pgtopf_lista) ).filter(excluido=False).all()
        r2070_infoprocjud_despprocjud_lista = r2070infoProcJuddespProcJud.objects.using(db_slug).filter(r2070_infoprocjud_id__in = listar_ids(r2070_infoprocjud_lista) ).filter(excluido=False).all()
        r2070_infoprocjud_ideadvogado_lista = r2070infoProcJudideAdvogado.objects.using(db_slug).filter(r2070_infoprocjud_despprocjud_id__in = listar_ids(r2070_infoprocjud_despprocjud_lista) ).filter(excluido=False).all()
        r2070_infoprocjud_origemrecursos_lista = r2070infoProcJudorigemRecursos.objects.using(db_slug).filter(r2070_infoprocjud_id__in = listar_ids(r2070_infoprocjud_lista) ).filter(excluido=False).all()
        r2070_depjudicial_lista = r2070depJudicial.objects.using(db_slug).filter(r2070_pgtopf_id__in = listar_ids(r2070_pgtopf_lista) ).filter(excluido=False).all()
        r2070_pgtopj_lista = r2070pgtoPJ.objects.using(db_slug).filter(r2070_ideestab_id__in = listar_ids(r2070_ideestab_lista) ).filter(excluido=False).all()
        r2070_pgtopj_infoprocjud_lista = r2070pgtoPJinfoProcJud.objects.using(db_slug).filter(r2070_pgtopj_id__in = listar_ids(r2070_pgtopj_lista) ).filter(excluido=False).all()
        r2070_pgtopj_despprocjud_lista = r2070pgtoPJdespProcJud.objects.using(db_slug).filter(r2070_pgtopj_infoprocjud_id__in = listar_ids(r2070_pgtopj_infoprocjud_lista) ).filter(excluido=False).all()
        r2070_pgtopj_ideadvogado_lista = r2070pgtoPJideAdvogado.objects.using(db_slug).filter(r2070_pgtopj_despprocjud_id__in = listar_ids(r2070_pgtopj_despprocjud_lista) ).filter(excluido=False).all()
        r2070_pgtopj_origemrecursos_lista = r2070pgtoPJorigemRecursos.objects.using(db_slug).filter(r2070_pgtopj_infoprocjud_id__in = listar_ids(r2070_pgtopj_infoprocjud_lista) ).filter(excluido=False).all()
        r2070_pgtoresidext_lista = r2070pgtoResidExt.objects.using(db_slug).filter(r2070_ideestab_id__in = listar_ids(r2070_ideestab_lista) ).filter(excluido=False).all()
        request.session["retorno_hash"] = hash
        request.session["retorno_pagina"] = 'r2070_evtpgtosdivs'
        context = {
            'r2070_evtpgtosdivs_lista': r2070_evtpgtosdivs_lista,
            'r2070_evtpgtosdivs_id': r2070_evtpgtosdivs_id,
            'r2070_evtpgtosdivs': r2070_evtpgtosdivs,
  
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
  
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
            'for_print': for_print,
            'hash': hash,

            'r2070_inforesidext_lista': r2070_inforesidext_lista,
            'r2070_infomolestia_lista': r2070_infomolestia_lista,
            'r2070_ideestab_lista': r2070_ideestab_lista,
            'r2070_pgtopf_lista': r2070_pgtopf_lista,
            'r2070_detdeducao_lista': r2070_detdeducao_lista,
            'r2070_rendisento_lista': r2070_rendisento_lista,
            'r2070_detcompet_lista': r2070_detcompet_lista,
            'r2070_compjud_lista': r2070_compjud_lista,
            'r2070_inforra_lista': r2070_inforra_lista,
            'r2070_inforra_despprocjud_lista': r2070_inforra_despprocjud_lista,
            'r2070_inforra_ideadvogado_lista': r2070_inforra_ideadvogado_lista,
            'r2070_infoprocjud_lista': r2070_infoprocjud_lista,
            'r2070_infoprocjud_despprocjud_lista': r2070_infoprocjud_despprocjud_lista,
            'r2070_infoprocjud_ideadvogado_lista': r2070_infoprocjud_ideadvogado_lista,
            'r2070_infoprocjud_origemrecursos_lista': r2070_infoprocjud_origemrecursos_lista,
            'r2070_depjudicial_lista': r2070_depjudicial_lista,
            'r2070_pgtopj_lista': r2070_pgtopj_lista,
            'r2070_pgtopj_infoprocjud_lista': r2070_pgtopj_infoprocjud_lista,
            'r2070_pgtopj_despprocjud_lista': r2070_pgtopj_despprocjud_lista,
            'r2070_pgtopj_ideadvogado_lista': r2070_pgtopj_ideadvogado_lista,
            'r2070_pgtopj_origemrecursos_lista': r2070_pgtopj_origemrecursos_lista,
            'r2070_pgtoresidext_lista': r2070_pgtoresidext_lista,
        }
        if for_print == 2:

            from wkhtmltopdf.views import PDFTemplateResponse
            response = PDFTemplateResponse(request=request,
                                           template='r2070_evtpgtosdivs_verificar.html',
                                           filename="r2070_evtpgtosdivs.pdf",
                                           context=context,
                                           show_content_in_browser=True,
                                           cmd_options={'margin-top': 5,
                                                        'margin-bottom': 5,
                                                        'margin-right': 5,
                                                        'margin-left': 5,
                                                        "zoom": 3,
                                                        "viewport-size": "1366 x 513",
                                                        'javascript-delay': 1000,
                                                        'footer-center': '[page]/[topage]',
                                                        "no-stop-slow-scripts": True},
                                           )
            return response
        elif for_print == 3:
            from django.shortcuts import render_to_response
            response =  render_to_response('r2070_evtpgtosdivs_verificar.html', context)
            filename = "%s.xls" % r2070_evtpgtosdivs.identidade
            response['Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response
        elif for_print == 4:
            from django.shortcuts import render_to_response
            response =  render_to_response('r2070_evtpgtosdivs_verificar.html', context)
            filename = "%s.csv" % r2070_evtpgtosdivs.identidade
            response['Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response
        else:
            return render(request, 'r2070_evtpgtosdivs_verificar.html', context)
    else:
        context = {
            'usuario': usuario,
  
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
  
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
        }
        return render(request, 'permissao_negada.html', context)
Example #17
0
def verificar(request, pk, output=None):

    if request.user.has_perm('esocial.can_see_s1210evtPgtos'):

        s1210_evtpgtos = get_object_or_404(s1210evtPgtos, id=pk)
        s1210_evtpgtos_lista = s1210evtPgtos.objects.filter(id=pk).all()

        s1210_deps_lista = s1210deps.objects.filter(
            s1210_evtpgtos_id__in=listar_ids(s1210_evtpgtos_lista)).all()
        s1210_infopgto_lista = s1210infoPgto.objects.filter(
            s1210_evtpgtos_id__in=listar_ids(s1210_evtpgtos_lista)).all()
        s1210_detpgtofl_lista = s1210detPgtoFl.objects.filter(
            s1210_infopgto_id__in=listar_ids(s1210_infopgto_lista)).all()
        s1210_detpgtofl_retpgtotot_lista = s1210detPgtoFlretPgtoTot.objects.filter(
            s1210_detpgtofl_id__in=listar_ids(s1210_detpgtofl_lista)).all()
        s1210_detpgtofl_penalim_lista = s1210detPgtoFlpenAlim.objects.filter(
            s1210_detpgtofl_retpgtotot_id__in=listar_ids(
                s1210_detpgtofl_retpgtotot_lista)).all()
        s1210_detpgtofl_infopgtoparc_lista = s1210detPgtoFlinfoPgtoParc.objects.filter(
            s1210_detpgtofl_id__in=listar_ids(s1210_detpgtofl_lista)).all()
        s1210_detpgtobenpr_lista = s1210detPgtoBenPr.objects.filter(
            s1210_infopgto_id__in=listar_ids(s1210_infopgto_lista)).all()
        s1210_detpgtobenpr_retpgtotot_lista = s1210detPgtoBenPrretPgtoTot.objects.filter(
            s1210_detpgtobenpr_id__in=listar_ids(
                s1210_detpgtobenpr_lista)).all()
        s1210_detpgtobenpr_infopgtoparc_lista = s1210detPgtoBenPrinfoPgtoParc.objects.filter(
            s1210_detpgtobenpr_id__in=listar_ids(
                s1210_detpgtobenpr_lista)).all()
        s1210_detpgtofer_lista = s1210detPgtoFer.objects.filter(
            s1210_infopgto_id__in=listar_ids(s1210_infopgto_lista)).all()
        s1210_detpgtofer_detrubrfer_lista = s1210detPgtoFerdetRubrFer.objects.filter(
            s1210_detpgtofer_id__in=listar_ids(s1210_detpgtofer_lista)).all()
        s1210_detpgtofer_penalim_lista = s1210detPgtoFerpenAlim.objects.filter(
            s1210_detpgtofer_detrubrfer_id__in=listar_ids(
                s1210_detpgtofer_detrubrfer_lista)).all()
        s1210_detpgtoant_lista = s1210detPgtoAnt.objects.filter(
            s1210_infopgto_id__in=listar_ids(s1210_infopgto_lista)).all()
        s1210_detpgtoant_infopgtoant_lista = s1210detPgtoAntinfoPgtoAnt.objects.filter(
            s1210_detpgtoant_id__in=listar_ids(s1210_detpgtoant_lista)).all()
        s1210_idepgtoext_lista = s1210idePgtoExt.objects.filter(
            s1210_infopgto_id__in=listar_ids(s1210_infopgto_lista)).all()

        request.session['return_pk'] = pk
        request.session['return_page'] = request.META.get('HTTP_REFERER')

        context = {
            's1210_evtpgtos_lista': s1210_evtpgtos_lista,
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            's1210_evtpgtos': s1210_evtpgtos,
            's1210_deps_lista': s1210_deps_lista,
            's1210_infopgto_lista': s1210_infopgto_lista,
            's1210_detpgtofl_lista': s1210_detpgtofl_lista,
            's1210_detpgtofl_retpgtotot_lista':
            s1210_detpgtofl_retpgtotot_lista,
            's1210_detpgtofl_penalim_lista': s1210_detpgtofl_penalim_lista,
            's1210_detpgtofl_infopgtoparc_lista':
            s1210_detpgtofl_infopgtoparc_lista,
            's1210_detpgtobenpr_lista': s1210_detpgtobenpr_lista,
            's1210_detpgtobenpr_retpgtotot_lista':
            s1210_detpgtobenpr_retpgtotot_lista,
            's1210_detpgtobenpr_infopgtoparc_lista':
            s1210_detpgtobenpr_infopgtoparc_lista,
            's1210_detpgtofer_lista': s1210_detpgtofer_lista,
            's1210_detpgtofer_detrubrfer_lista':
            s1210_detpgtofer_detrubrfer_lista,
            's1210_detpgtofer_penalim_lista': s1210_detpgtofer_penalim_lista,
            's1210_detpgtoant_lista': s1210_detpgtoant_lista,
            's1210_detpgtoant_infopgtoant_lista':
            s1210_detpgtoant_infopgtoant_lista,
            's1210_idepgtoext_lista': s1210_idepgtoext_lista,
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's1210_evtpgtos',
            ],
            'data': datetime.now(),
            'output': output,
        }

        if output == 'pdf':

            response = PDFTemplateResponse(
                request=request,
                template='s1210_evtpgtos_verificar.html',
                filename="s1210_evtpgtos.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 20,
                    'zoom': 1,
                    'viewport-size': '1366 x 513',
                    'javascript-delay': 1000,
                    'footer-center': u'Página [page]/[topage]',
                    'footer-font-size': 10,
                    'no-stop-slow-scripts': True
                })

            return response

        elif output == 'xls':

            response = render_to_response('s1210_evtpgtos_verificar.html',
                                          context)
            filename = "%s.xls" % s1210_evtpgtos.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            response = render_to_response('s1210_evtpgtos_verificar.html',
                                          context)
            filename = "%s.csv" % s1210_evtpgtos.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response

        else:

            return render(request, 's1210_evtpgtos_verificar.html', context)

    else:

        context = {
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's1210_evtpgtos',
            ],
            'data': datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
Example #18
0
def verificar(request, hash):
    for_print = 0
    db_slug = 'default'
    try:
        usuario_id = request.user.id
        dict_hash = get_hash_url(hash)
        s2399_evttsvtermino_id = int(dict_hash['id'])
        for_print = int(dict_hash['print'])
    except:
        usuario_id = False
        return redirect('login')
    usuario = get_object_or_404(Usuarios.objects.using(db_slug),
                                excluido=False,
                                id=usuario_id)
    pagina = ConfigPaginas.objects.using(db_slug).get(
        excluido=False, endereco='s2399_evttsvtermino')
    permissao = ConfigPermissoes.objects.using(db_slug).get(
        excluido=False,
        config_paginas=pagina,
        config_perfis=usuario.config_perfis)
    dict_permissoes = json_to_dict(usuario.config_perfis.permissoes)
    paginas_permitidas_lista = usuario.config_perfis.paginas_permitidas
    modulos_permitidos_lista = usuario.config_perfis.modulos_permitidos

    if permissao.permite_listar:
        s2399_evttsvtermino = get_object_or_404(
            s2399evtTSVTermino.objects.using(db_slug),
            excluido=False,
            id=s2399_evttsvtermino_id)
        s2399_evttsvtermino_lista = s2399evtTSVTermino.objects.using(
            db_slug).filter(id=s2399_evttsvtermino_id, excluido=False).all()

        s2399_verbasresc_lista = s2399verbasResc.objects.using(db_slug).filter(
            s2399_evttsvtermino_id__in=listar_ids(
                s2399_evttsvtermino_lista)).filter(excluido=False).all()
        s2399_dmdev_lista = s2399dmDev.objects.using(db_slug).filter(
            s2399_verbasresc_id__in=listar_ids(s2399_verbasresc_lista)).filter(
                excluido=False).all()
        s2399_ideestablot_lista = s2399ideEstabLot.objects.using(
            db_slug).filter(
                s2399_dmdev_id__in=listar_ids(s2399_dmdev_lista)).filter(
                    excluido=False).all()
        s2399_detverbas_lista = s2399detVerbas.objects.using(db_slug).filter(
            s2399_ideestablot_id__in=listar_ids(
                s2399_ideestablot_lista)).filter(excluido=False).all()
        s2399_infosaudecolet_lista = s2399infoSaudeColet.objects.using(
            db_slug).filter(s2399_ideestablot_id__in=listar_ids(
                s2399_ideestablot_lista)).filter(excluido=False).all()
        s2399_detoper_lista = s2399detOper.objects.using(db_slug).filter(
            s2399_infosaudecolet_id__in=listar_ids(
                s2399_infosaudecolet_lista)).filter(excluido=False).all()
        s2399_detplano_lista = s2399detPlano.objects.using(db_slug).filter(
            s2399_detoper_id__in=listar_ids(s2399_detoper_lista)).filter(
                excluido=False).all()
        s2399_infoagnocivo_lista = s2399infoAgNocivo.objects.using(
            db_slug).filter(s2399_ideestablot_id__in=listar_ids(
                s2399_ideestablot_lista)).filter(excluido=False).all()
        s2399_infosimples_lista = s2399infoSimples.objects.using(
            db_slug).filter(s2399_ideestablot_id__in=listar_ids(
                s2399_ideestablot_lista)).filter(excluido=False).all()
        s2399_procjudtrab_lista = s2399procJudTrab.objects.using(
            db_slug).filter(s2399_verbasresc_id__in=listar_ids(
                s2399_verbasresc_lista)).filter(excluido=False).all()
        s2399_infomv_lista = s2399infoMV.objects.using(db_slug).filter(
            s2399_verbasresc_id__in=listar_ids(s2399_verbasresc_lista)).filter(
                excluido=False).all()
        s2399_remunoutrempr_lista = s2399remunOutrEmpr.objects.using(
            db_slug).filter(
                s2399_infomv_id__in=listar_ids(s2399_infomv_lista)).filter(
                    excluido=False).all()
        s2399_quarentena_lista = s2399quarentena.objects.using(db_slug).filter(
            s2399_evttsvtermino_id__in=listar_ids(
                s2399_evttsvtermino_lista)).filter(excluido=False).all()
        request.session["retorno_hash"] = hash
        request.session["retorno_pagina"] = 's2399_evttsvtermino'
        context = {
            's2399_evttsvtermino_lista': s2399_evttsvtermino_lista,
            's2399_evttsvtermino_id': s2399_evttsvtermino_id,
            's2399_evttsvtermino': s2399_evttsvtermino,
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
            'for_print': for_print,
            'hash': hash,
            's2399_verbasresc_lista': s2399_verbasresc_lista,
            's2399_dmdev_lista': s2399_dmdev_lista,
            's2399_ideestablot_lista': s2399_ideestablot_lista,
            's2399_detverbas_lista': s2399_detverbas_lista,
            's2399_infosaudecolet_lista': s2399_infosaudecolet_lista,
            's2399_detoper_lista': s2399_detoper_lista,
            's2399_detplano_lista': s2399_detplano_lista,
            's2399_infoagnocivo_lista': s2399_infoagnocivo_lista,
            's2399_infosimples_lista': s2399_infosimples_lista,
            's2399_procjudtrab_lista': s2399_procjudtrab_lista,
            's2399_infomv_lista': s2399_infomv_lista,
            's2399_remunoutrempr_lista': s2399_remunoutrempr_lista,
            's2399_quarentena_lista': s2399_quarentena_lista,
        }
        if for_print == 2:
            #return render_to_pdf('%s/s2399_evttsvtermino_verificar.html' % s2399_evttsvtermino.versao, context)
            from wkhtmltopdf.views import PDFTemplateResponse
            response = PDFTemplateResponse(
                request=request,
                template='%s/s2399_evttsvtermino_verificar.html' %
                s2399_evttsvtermino.versao,
                filename="s2399_evttsvtermino.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 5,
                    'margin-bottom': 5,
                    'margin-right': 5,
                    'margin-left': 5,
                    "zoom": 3,
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response
        elif for_print == 3:
            from django.shortcuts import render_to_response
            response = render_to_response(
                '%s/s2399_evttsvtermino_verificar.html' %
                s2399_evttsvtermino.versao, context)
            filename = "%s.xls" % s2399_evttsvtermino.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response
        elif for_print == 4:
            from django.shortcuts import render_to_response
            response = render_to_response(
                '%s/s2399_evttsvtermino_verificar.html' %
                s2399_evttsvtermino.versao, context)
            filename = "%s.csv" % s2399_evttsvtermino.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response
        else:
            return render(
                request, '%s/s2399_evttsvtermino_verificar.html' %
                s2399_evttsvtermino.versao, context)
    else:
        context = {
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
        }
        return render(request, 'permissao_negada.html', context)
Example #19
0
def listar(request, hash):
    for_print = 0
    db_slug = 'default'
    try:
        usuario_id = request.user.id
        dict_hash = get_hash_url(hash)
        #retorno_pagina = dict_hash['retorno_pagina']
        #retorno_hash = dict_hash['retorno_hash']
        #retornos_eventos_id = int(dict_hash['id'])
        for_print = int(dict_hash['print'])
    except:
        usuario_id = False
        return redirect('login')
    usuario = get_object_or_404(Usuarios.objects.using(db_slug),
                                excluido=False,
                                id=usuario_id)
    pagina = ConfigPaginas.objects.using(db_slug).get(
        excluido=False, endereco='retornos_eventos')
    permissao = ConfigPermissoes.objects.using(db_slug).get(
        excluido=False,
        config_paginas=pagina,
        config_perfis=usuario.config_perfis)
    dict_permissoes = json_to_dict(usuario.config_perfis.permissoes)
    paginas_permitidas_lista = usuario.config_perfis.paginas_permitidas
    modulos_permitidos_lista = usuario.config_perfis.modulos_permitidos

    if permissao.permite_listar:
        filtrar = False
        dict_fields = {}
        show_fields = {
            'show_cargo': 0,
            'show_categoria': 0,
            'show_celetista': 0,
            'show_clauasseg': 0,
            'show_cnpjsindcategprof': 0,
            'show_codcargo': 0,
            'show_codcateg': 0,
            'show_codcbocargo': 0,
            'show_codcbofuncao': 0,
            'show_codfuncao': 0,
            'show_cpftrab': 1,
            'show_deficiencia': 0,
            'show_dscfuncao': 0,
            'show_dscsalvar': 0,
            'show_dsctpjorn': 0,
            'show_dtadm': 0,
            'show_dtbase': 0,
            'show_dtexercicio': 0,
            'show_dtposse': 0,
            'show_dtterm': 0,
            'show_duracao': 0,
            'show_empregador': 0,
            'show_empregador_nrinsc': 1,
            'show_empregador_tpinsc': 1,
            'show_estatutario': 0,
            'show_funcao': 0,
            'show_horarios_contratuais': 0,
            'show_identidade': 1,
            'show_infocota': 0,
            'show_local_cnae': 0,
            'show_local_nrinsc': 0,
            'show_local_tpinsc': 0,
            'show_local_trab': 0,
            'show_matricula': 0,
            'show_nistrab': 0,
            'show_nmcargo': 0,
            'show_nmtrab': 1,
            'show_nrinsc': 1,
            'show_processamento': 0,
            'show_processamento': 0,
            'show_processamento_codigo_resposta': 1,
            'show_processamento_data_hora': 0,
            'show_processamento_descricao_resposta': 0,
            'show_processamento_versao_app_processamento': 0,
            'show_qtdhrssem': 0,
            'show_recepcao_data_hora': 0,
            'show_recepcao_protocolo_envio_lote': 0,
            'show_recepcao_tp_amb': 0,
            'show_recepcao_versao_app': 0,
            'show_recibo': 0,
            'show_recibo_hash': 0,
            'show_recibo_numero': 0,
            'show_remuneracao': 0,
            'show_tmpparc': 0,
            'show_tpcontr': 0,
            'show_tpinsc': 1,
            'show_tpjornada': 0,
            'show_tpregjor': 0,
            'show_trabalhador': 0,
            'show_transmissor_lote_esocial': 1,
            'show_undsalfixo': 0,
            'show_vinculo': 0,
            'show_vrsalfx': 0,
        }
        post = False
        #ANTES-POST-LISTAGEM
        if request.method == 'POST':
            post = True
            dict_fields = {
                'cargo': 'cargo',
                'categoria': 'categoria',
                'celetista': 'celetista',
                'clauasseg__icontains': 'clauasseg__icontains',
                'cnpjsindcategprof__icontains': 'cnpjsindcategprof__icontains',
                'codcargo__icontains': 'codcargo__icontains',
                'codcateg': 'codcateg',
                'codcbocargo__icontains': 'codcbocargo__icontains',
                'codcbofuncao__icontains': 'codcbofuncao__icontains',
                'codfuncao__icontains': 'codfuncao__icontains',
                'cpftrab__icontains': 'cpftrab__icontains',
                'deficiencia': 'deficiencia',
                'dscfuncao__icontains': 'dscfuncao__icontains',
                'dscsalvar__icontains': 'dscsalvar__icontains',
                'dsctpjorn__icontains': 'dsctpjorn__icontains',
                'dtadm__range': 'dtadm__range',
                'dtbase': 'dtbase',
                'dtexercicio__range': 'dtexercicio__range',
                'dtposse__range': 'dtposse__range',
                'dtterm__range': 'dtterm__range',
                'duracao': 'duracao',
                'empregador': 'empregador',
                'empregador_nrinsc__icontains': 'empregador_nrinsc__icontains',
                'empregador_tpinsc': 'empregador_tpinsc',
                'estatutario': 'estatutario',
                'funcao': 'funcao',
                'horarios_contratuais': 'horarios_contratuais',
                'identidade__icontains': 'identidade__icontains',
                'infocota__icontains': 'infocota__icontains',
                'local_cnae': 'local_cnae',
                'local_nrinsc__icontains': 'local_nrinsc__icontains',
                'local_tpinsc': 'local_tpinsc',
                'local_trab': 'local_trab',
                'matricula__icontains': 'matricula__icontains',
                'nistrab__icontains': 'nistrab__icontains',
                'nmcargo__icontains': 'nmcargo__icontains',
                'nmtrab__icontains': 'nmtrab__icontains',
                'nrinsc__icontains': 'nrinsc__icontains',
                'processamento': 'processamento',
                'processamento': 'processamento',
                'processamento_codigo_resposta__icontains':
                'processamento_codigo_resposta__icontains',
                'processamento_data_hora__range':
                'processamento_data_hora__range',
                'processamento_descricao_resposta__icontains':
                'processamento_descricao_resposta__icontains',
                'processamento_versao_app_processamento__icontains':
                'processamento_versao_app_processamento__icontains',
                'qtdhrssem': 'qtdhrssem',
                'recepcao_data_hora__range': 'recepcao_data_hora__range',
                'recepcao_protocolo_envio_lote__icontains':
                'recepcao_protocolo_envio_lote__icontains',
                'recepcao_tp_amb': 'recepcao_tp_amb',
                'recepcao_versao_app__icontains':
                'recepcao_versao_app__icontains',
                'recibo': 'recibo',
                'recibo_hash__icontains': 'recibo_hash__icontains',
                'recibo_numero__icontains': 'recibo_numero__icontains',
                'remuneracao': 'remuneracao',
                'tmpparc': 'tmpparc',
                'tpcontr': 'tpcontr',
                'tpinsc': 'tpinsc',
                'tpjornada': 'tpjornada',
                'tpregjor': 'tpregjor',
                'trabalhador': 'trabalhador',
                'transmissor_lote_esocial': 'transmissor_lote_esocial',
                'undsalfixo': 'undsalfixo',
                'vinculo': 'vinculo',
                'vrsalfx': 'vrsalfx',
            }
            for a in dict_fields:
                dict_fields[a] = request.POST.get(a or None)
            for a in show_fields:
                show_fields[a] = request.POST.get(a or None)
            if request.method == 'POST':
                dict_fields = {
                    'cargo': 'cargo',
                    'categoria': 'categoria',
                    'celetista': 'celetista',
                    'clauasseg__icontains': 'clauasseg__icontains',
                    'cnpjsindcategprof__icontains':
                    'cnpjsindcategprof__icontains',
                    'codcargo__icontains': 'codcargo__icontains',
                    'codcateg': 'codcateg',
                    'codcbocargo__icontains': 'codcbocargo__icontains',
                    'codcbofuncao__icontains': 'codcbofuncao__icontains',
                    'codfuncao__icontains': 'codfuncao__icontains',
                    'cpftrab__icontains': 'cpftrab__icontains',
                    'deficiencia': 'deficiencia',
                    'dscfuncao__icontains': 'dscfuncao__icontains',
                    'dscsalvar__icontains': 'dscsalvar__icontains',
                    'dsctpjorn__icontains': 'dsctpjorn__icontains',
                    'dtadm__range': 'dtadm__range',
                    'dtbase': 'dtbase',
                    'dtexercicio__range': 'dtexercicio__range',
                    'dtposse__range': 'dtposse__range',
                    'dtterm__range': 'dtterm__range',
                    'duracao': 'duracao',
                    'empregador': 'empregador',
                    'empregador_nrinsc__icontains':
                    'empregador_nrinsc__icontains',
                    'empregador_tpinsc': 'empregador_tpinsc',
                    'estatutario': 'estatutario',
                    'funcao': 'funcao',
                    'horarios_contratuais': 'horarios_contratuais',
                    'identidade__icontains': 'identidade__icontains',
                    'infocota__icontains': 'infocota__icontains',
                    'local_cnae': 'local_cnae',
                    'local_nrinsc__icontains': 'local_nrinsc__icontains',
                    'local_tpinsc': 'local_tpinsc',
                    'local_trab': 'local_trab',
                    'matricula__icontains': 'matricula__icontains',
                    'nistrab__icontains': 'nistrab__icontains',
                    'nmcargo__icontains': 'nmcargo__icontains',
                    'nmtrab__icontains': 'nmtrab__icontains',
                    'nrinsc__icontains': 'nrinsc__icontains',
                    'processamento': 'processamento',
                    'processamento': 'processamento',
                    'processamento_codigo_resposta__icontains':
                    'processamento_codigo_resposta__icontains',
                    'processamento_data_hora__range':
                    'processamento_data_hora__range',
                    'processamento_descricao_resposta__icontains':
                    'processamento_descricao_resposta__icontains',
                    'processamento_versao_app_processamento__icontains':
                    'processamento_versao_app_processamento__icontains',
                    'qtdhrssem': 'qtdhrssem',
                    'recepcao_data_hora__range': 'recepcao_data_hora__range',
                    'recepcao_protocolo_envio_lote__icontains':
                    'recepcao_protocolo_envio_lote__icontains',
                    'recepcao_tp_amb': 'recepcao_tp_amb',
                    'recepcao_versao_app__icontains':
                    'recepcao_versao_app__icontains',
                    'recibo': 'recibo',
                    'recibo_hash__icontains': 'recibo_hash__icontains',
                    'recibo_numero__icontains': 'recibo_numero__icontains',
                    'remuneracao': 'remuneracao',
                    'tmpparc': 'tmpparc',
                    'tpcontr': 'tpcontr',
                    'tpinsc': 'tpinsc',
                    'tpjornada': 'tpjornada',
                    'tpregjor': 'tpregjor',
                    'trabalhador': 'trabalhador',
                    'transmissor_lote_esocial': 'transmissor_lote_esocial',
                    'undsalfixo': 'undsalfixo',
                    'vinculo': 'vinculo',
                    'vrsalfx': 'vrsalfx',
                }
                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)
        dict_qs = clear_dict_fields(dict_fields)
        retornos_eventos_lista = RetornosEventos.objects.using(db_slug).filter(
            **dict_qs).filter(excluido=False).exclude(id=0).all()
        if not post and len(retornos_eventos_lista) > 100:
            filtrar = True
            retornos_eventos_lista = None
            messages.warning(
                request,
                'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        transmissor_lote_esocial_lista = TransmissorLoteEsocial.objects.using(
            db_slug).filter(excluido=False).all()
        #retornos_eventos_listar_custom
        request.session["retorno_hash"] = hash
        request.session["retorno_pagina"] = 'retornos_eventos'
        context = {
            'retornos_eventos_lista': retornos_eventos_lista,
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
            'show_fields': show_fields,
            'for_print': for_print,
            'hash': hash,
            'filtrar': filtrar,
            'transmissor_lote_esocial_lista': transmissor_lote_esocial_lista,
        }
        if for_print in (0, 1):
            return render(request, 'retornos_eventos_listar.html', context)
        elif for_print == 2:
            #return render_to_pdf('tables/s1000_evtinfoempregador_pdf_xls.html', context)
            from wkhtmltopdf.views import PDFTemplateResponse
            response = PDFTemplateResponse(
                request=request,
                template='retornos_eventos_listar.html',
                filename="retornos_eventos.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response
        elif for_print == 3:
            from django.shortcuts import render_to_response
            response = render_to_response('retornos_eventos_listar.html',
                                          context)
            filename = "retornos_eventos.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response
        elif for_print == 4:
            from django.shortcuts import render_to_response
            response = render_to_response('tables/retornos_eventos_csv.html',
                                          context)
            filename = "retornos_eventos.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response
    else:
        context = {
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
        }
        return render(request, 'permissao_negada.html', context)
Example #20
0
def verificar(request, pk, output=None):

    if request.user.has_perm('esocial.can_see_s2416evtCdBenAlt'):

        s2416_evtcdbenalt = get_object_or_404(s2416evtCdBenAlt, id=pk)
        s2416_evtcdbenalt_lista = s2416evtCdBenAlt.objects.filter(id=pk).all()

        s2416_infopenmorte_lista = s2416infoPenMorte.objects.filter(
            s2416_evtcdbenalt_id__in=listar_ids(
                s2416_evtcdbenalt_lista)).all()
        s2416_homologtc_lista = s2416homologTC.objects.filter(
            s2416_evtcdbenalt_id__in=listar_ids(
                s2416_evtcdbenalt_lista)).all()
        s2416_suspensao_lista = s2416suspensao.objects.filter(
            s2416_evtcdbenalt_id__in=listar_ids(
                s2416_evtcdbenalt_lista)).all()

        request.session['return_pk'] = pk
        request.session['return_page'] = request.META.get('HTTP_REFERER')

        context = {
            's2416_evtcdbenalt_lista': s2416_evtcdbenalt_lista,
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            's2416_evtcdbenalt': s2416_evtcdbenalt,
            's2416_infopenmorte_lista': s2416_infopenmorte_lista,
            's2416_homologtc_lista': s2416_homologtc_lista,
            's2416_suspensao_lista': s2416_suspensao_lista,
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's2416_evtcdbenalt',
            ],
            'data': datetime.now(),
            'output': output,
        }

        if output == 'pdf':

            response = PDFTemplateResponse(
                request=request,
                template='s2416_evtcdbenalt_verificar.html',
                filename="s2416_evtcdbenalt.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 20,
                    'zoom': 1,
                    'viewport-size': '1366 x 513',
                    'javascript-delay': 1000,
                    'footer-center': u'Página [page]/[topage]',
                    'footer-font-size': 10,
                    'no-stop-slow-scripts': True
                })

            return response

        elif output == 'xls':

            response = render_to_response('s2416_evtcdbenalt_verificar.html',
                                          context)
            filename = "%s.xls" % s2416_evtcdbenalt.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            response = render_to_response('s2416_evtcdbenalt_verificar.html',
                                          context)
            filename = "%s.csv" % s2416_evtcdbenalt.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response

        else:

            return render(request, 's2416_evtcdbenalt_verificar.html', context)

    else:

        context = {
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's2416_evtcdbenalt',
            ],
            'data': datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
Example #21
0
def verificar(request, pk, output=None):

    if request.user.has_perm('esocial.can_see_s1070evtTabProcesso'):

        s1070_evttabprocesso = get_object_or_404(s1070evtTabProcesso, id=pk)
        s1070_evttabprocesso_lista = s1070evtTabProcesso.objects.filter(
            id=pk).all()

        s1070_inclusao_lista = s1070inclusao.objects.filter(
            s1070_evttabprocesso_id__in=listar_ids(
                s1070_evttabprocesso_lista)).all()
        s1070_inclusao_dadosprocjud_lista = s1070inclusaodadosProcJud.objects.filter(
            s1070_inclusao_id__in=listar_ids(s1070_inclusao_lista)).all()
        s1070_inclusao_infosusp_lista = s1070inclusaoinfoSusp.objects.filter(
            s1070_inclusao_id__in=listar_ids(s1070_inclusao_lista)).all()
        s1070_alteracao_lista = s1070alteracao.objects.filter(
            s1070_evttabprocesso_id__in=listar_ids(
                s1070_evttabprocesso_lista)).all()
        s1070_alteracao_dadosprocjud_lista = s1070alteracaodadosProcJud.objects.filter(
            s1070_alteracao_id__in=listar_ids(s1070_alteracao_lista)).all()
        s1070_alteracao_infosusp_lista = s1070alteracaoinfoSusp.objects.filter(
            s1070_alteracao_id__in=listar_ids(s1070_alteracao_lista)).all()
        s1070_alteracao_novavalidade_lista = s1070alteracaonovaValidade.objects.filter(
            s1070_alteracao_id__in=listar_ids(s1070_alteracao_lista)).all()
        s1070_exclusao_lista = s1070exclusao.objects.filter(
            s1070_evttabprocesso_id__in=listar_ids(
                s1070_evttabprocesso_lista)).all()

        request.session['return_pk'] = pk
        request.session['return_page'] = request.META.get('HTTP_REFERER')

        context = {
            's1070_evttabprocesso_lista': s1070_evttabprocesso_lista,
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            's1070_evttabprocesso': s1070_evttabprocesso,
            's1070_inclusao_lista': s1070_inclusao_lista,
            's1070_inclusao_dadosprocjud_lista':
            s1070_inclusao_dadosprocjud_lista,
            's1070_inclusao_infosusp_lista': s1070_inclusao_infosusp_lista,
            's1070_alteracao_lista': s1070_alteracao_lista,
            's1070_alteracao_dadosprocjud_lista':
            s1070_alteracao_dadosprocjud_lista,
            's1070_alteracao_infosusp_lista': s1070_alteracao_infosusp_lista,
            's1070_alteracao_novavalidade_lista':
            s1070_alteracao_novavalidade_lista,
            's1070_exclusao_lista': s1070_exclusao_lista,
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's1070_evttabprocesso',
            ],
            'data': datetime.now(),
            'output': output,
        }

        if output == 'pdf':

            response = PDFTemplateResponse(
                request=request,
                template='s1070_evttabprocesso_verificar.html',
                filename="s1070_evttabprocesso.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 20,
                    'zoom': 1,
                    'viewport-size': '1366 x 513',
                    'javascript-delay': 1000,
                    'footer-center': u'Página [page]/[topage]',
                    'footer-font-size': 10,
                    'no-stop-slow-scripts': True
                })

            return response

        elif output == 'xls':

            response = render_to_response(
                's1070_evttabprocesso_verificar.html', context)
            filename = "%s.xls" % s1070_evttabprocesso.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            response = render_to_response(
                's1070_evttabprocesso_verificar.html', context)
            filename = "%s.csv" % s1070_evttabprocesso.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response

        else:

            return render(request, 's1070_evttabprocesso_verificar.html',
                          context)

    else:

        context = {
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's1070_evttabprocesso',
            ],
            'data': datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
Example #22
0
def verificar(request, hash):
    for_print = 0
    db_slug = 'default'
    try:
        usuario_id = request.user.id
        dict_hash = get_hash_url(hash)
        s2190_evtadmprelim_id = int(dict_hash['id'])
        for_print = int(dict_hash['print'])
    except:
        usuario_id = False
        return redirect('login')
    usuario = get_object_or_404(Usuarios.objects.using(db_slug),
                                excluido=False,
                                id=usuario_id)
    pagina = ConfigPaginas.objects.using(db_slug).get(
        excluido=False, endereco='s2190_evtadmprelim')
    permissao = ConfigPermissoes.objects.using(db_slug).get(
        excluido=False,
        config_paginas=pagina,
        config_perfis=usuario.config_perfis)
    dict_permissoes = json_to_dict(usuario.config_perfis.permissoes)
    paginas_permitidas_lista = usuario.config_perfis.paginas_permitidas
    modulos_permitidos_lista = usuario.config_perfis.modulos_permitidos

    if permissao.permite_listar:
        s2190_evtadmprelim = get_object_or_404(
            s2190evtAdmPrelim.objects.using(db_slug),
            excluido=False,
            id=s2190_evtadmprelim_id)
        s2190_evtadmprelim_lista = s2190evtAdmPrelim.objects.using(
            db_slug).filter(id=s2190_evtadmprelim_id, excluido=False).all()

        request.session["retorno_hash"] = hash
        request.session["retorno_pagina"] = 's2190_evtadmprelim'
        context = {
            's2190_evtadmprelim_lista': s2190_evtadmprelim_lista,
            's2190_evtadmprelim_id': s2190_evtadmprelim_id,
            's2190_evtadmprelim': s2190_evtadmprelim,
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
            'for_print': for_print,
            'hash': hash,
        }
        if for_print == 2:

            from wkhtmltopdf.views import PDFTemplateResponse
            response = PDFTemplateResponse(
                request=request,
                template='s2190_evtadmprelim_verificar.html',
                filename="s2190_evtadmprelim.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 5,
                    'margin-bottom': 5,
                    'margin-right': 5,
                    'margin-left': 5,
                    "zoom": 3,
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response
        elif for_print == 3:
            from django.shortcuts import render_to_response
            response = render_to_response('s2190_evtadmprelim_verificar.html',
                                          context)
            filename = "%s.xls" % s2190_evtadmprelim.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response
        elif for_print == 4:
            from django.shortcuts import render_to_response
            response = render_to_response('s2190_evtadmprelim_verificar.html',
                                          context)
            filename = "%s.csv" % s2190_evtadmprelim.identidade
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response
        else:
            return render(request, 's2190_evtadmprelim_verificar.html',
                          context)
    else:
        context = {
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
        }
        return render(request, 'permissao_negada.html', context)
Example #23
0
def salvar(request, hash):
    db_slug = 'default'
    try:
        usuario_id = request.user.id
        dict_hash = get_hash_url(hash)
        efdreinf_informacoes_beneficiarios_exterior_id = int(dict_hash['id'])
        if 'tab' not in dict_hash.keys():
            dict_hash['tab'] = ''
        for_print = int(dict_hash['print'])
    except:
        usuario_id = False
        return redirect('login')
    usuario = get_object_or_404(Usuarios.objects.using(db_slug),
                                excluido=False,
                                id=usuario_id)
    pagina = ConfigPaginas.objects.using(db_slug).get(
        excluido=False, endereco='efdreinf_informacoes_beneficiarios_exterior')
    permissao = ConfigPermissoes.objects.using(db_slug).get(
        excluido=False,
        config_paginas=pagina,
        config_perfis=usuario.config_perfis)
    if efdreinf_informacoes_beneficiarios_exterior_id:
        efdreinf_informacoes_beneficiarios_exterior = get_object_or_404(
            EFDReinfInformacoesBeneficiariosExterior.objects.using(db_slug),
            excluido=False,
            id=efdreinf_informacoes_beneficiarios_exterior_id)
    dict_permissoes = json_to_dict(usuario.config_perfis.permissoes)
    paginas_permitidas_lista = usuario.config_perfis.paginas_permitidas
    modulos_permitidos_lista = usuario.config_perfis.modulos_permitidos

    if permissao.permite_visualizar:
        mensagem = None
        if efdreinf_informacoes_beneficiarios_exterior_id:
            efdreinf_informacoes_beneficiarios_exterior_form = form_efdreinf_informacoes_beneficiarios_exterior(
                request.POST or None,
                instance=efdreinf_informacoes_beneficiarios_exterior,
                slug=db_slug)
        else:
            efdreinf_informacoes_beneficiarios_exterior_form = form_efdreinf_informacoes_beneficiarios_exterior(
                request.POST or None, slug=db_slug, initial={})
        if request.method == 'POST':
            if efdreinf_informacoes_beneficiarios_exterior_form.is_valid():
                dados = efdreinf_informacoes_beneficiarios_exterior_form.cleaned_data
                if efdreinf_informacoes_beneficiarios_exterior_id:
                    dados['modificado_por_id'] = usuario_id
                    dados['modificado_em'] = datetime.datetime.now()
                    #efdreinf_informacoes_beneficiarios_exterior_campos_multiple_passo1
                    EFDReinfInformacoesBeneficiariosExterior.objects.using(
                        db_slug).filter(
                            id=efdreinf_informacoes_beneficiarios_exterior_id
                        ).update(**dados)
                    obj = EFDReinfInformacoesBeneficiariosExterior.objects.using(
                        db_slug).get(
                            id=efdreinf_informacoes_beneficiarios_exterior_id)
                    #efdreinf_informacoes_beneficiarios_exterior_editar_custom
                    #efdreinf_informacoes_beneficiarios_exterior_campos_multiple_passo2
                    messages.success(request, 'Alterado com sucesso!')
                else:

                    dados['criado_por_id'] = usuario_id
                    dados['criado_em'] = datetime.datetime.now()
                    dados['excluido'] = False
                    #efdreinf_informacoes_beneficiarios_exterior_cadastrar_campos_multiple_passo1
                    obj = EFDReinfInformacoesBeneficiariosExterior(**dados)
                    obj.save(using=db_slug)
                    #efdreinf_informacoes_beneficiarios_exterior_cadastrar_custom
                    #efdreinf_informacoes_beneficiarios_exterior_cadastrar_campos_multiple_passo2
                    messages.success(request, 'Cadastrado com sucesso!')
                if request.session['retorno_pagina'] not in (
                        'efdreinf_informacoes_beneficiarios_exterior_apagar',
                        'efdreinf_informacoes_beneficiarios_exterior_salvar',
                        'efdreinf_informacoes_beneficiarios_exterior'):
                    return redirect(request.session['retorno_pagina'],
                                    hash=request.session['retorno_hash'])
                if efdreinf_informacoes_beneficiarios_exterior_id != obj.id:
                    url_hash = base64.urlsafe_b64encode(
                        '{"print": "0", "id": "%s"}' % (obj.id))
                    return redirect(
                        'efdreinf_informacoes_beneficiarios_exterior_salvar',
                        hash=url_hash)
            else:
                messages.error(request, 'Erro ao salvar!')
        efdreinf_informacoes_beneficiarios_exterior_form = disabled_form_fields(
            efdreinf_informacoes_beneficiarios_exterior_form,
            permissao.permite_editar)
        #efdreinf_informacoes_beneficiarios_exterior_campos_multiple_passo3

        for field in efdreinf_informacoes_beneficiarios_exterior_form.fields.keys(
        ):
            efdreinf_informacoes_beneficiarios_exterior_form.fields[
                field].widget.attrs[
                    'ng-model'] = 'efdreinf_informacoes_beneficiarios_exterior_' + field
        if int(dict_hash['print']):
            efdreinf_informacoes_beneficiarios_exterior_form = disabled_form_for_print(
                efdreinf_informacoes_beneficiarios_exterior_form)
        #[VARIAVEIS_SECUNDARIAS_VAZIAS]
        if efdreinf_informacoes_beneficiarios_exterior_id:
            efdreinf_informacoes_beneficiarios_exterior = get_object_or_404(
                EFDReinfInformacoesBeneficiariosExterior.objects.using(
                    db_slug),
                excluido=False,
                id=efdreinf_informacoes_beneficiarios_exterior_id)
            pass
        else:
            efdreinf_informacoes_beneficiarios_exterior = None
        #efdreinf_informacoes_beneficiarios_exterior_salvar_custom_variaveis#
        tabelas_secundarias = []
        #[FUNCOES_ESPECIAIS_SALVAR]
        if dict_hash[
                'tab'] or 'efdreinf_informacoes_beneficiarios_exterior' in request.session[
                    'retorno_pagina']:
            request.session["retorno_hash"] = hash
            request.session[
                "retorno_pagina"] = 'efdreinf_informacoes_beneficiarios_exterior_salvar'
        context = {
            'efdreinf_informacoes_beneficiarios_exterior':
            efdreinf_informacoes_beneficiarios_exterior,
            'efdreinf_informacoes_beneficiarios_exterior_form':
            efdreinf_informacoes_beneficiarios_exterior_form,
            'mensagem':
            mensagem,
            'efdreinf_informacoes_beneficiarios_exterior_id':
            int(efdreinf_informacoes_beneficiarios_exterior_id),
            'usuario':
            usuario,
            'hash':
            hash,
            #[VARIAVEIS_SECUNDARIAS]
            'modulos_permitidos_lista':
            modulos_permitidos_lista,
            'paginas_permitidas_lista':
            paginas_permitidas_lista,
            'permissao':
            permissao,
            'data':
            datetime.datetime.now(),
            'pagina':
            pagina,
            'dict_permissoes':
            dict_permissoes,
            'for_print':
            int(dict_hash['print']),
            'tabelas_secundarias':
            tabelas_secundarias,
            'tab':
            dict_hash['tab'],
            #efdreinf_informacoes_beneficiarios_exterior_salvar_custom_variaveis_context#
        }
        if for_print in (0, 1):
            return render(
                request,
                'efdreinf_informacoes_beneficiarios_exterior_salvar.html',
                context)
        elif for_print == 2:
            from wkhtmltopdf.views import PDFTemplateResponse
            response = PDFTemplateResponse(
                request=request,
                template=
                'efdreinf_informacoes_beneficiarios_exterior_salvar.html',
                filename="efdreinf_informacoes_beneficiarios_exterior.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response
        elif for_print == 3:
            from django.shortcuts import render_to_response
            response = render_to_response(
                'efdreinf_informacoes_beneficiarios_exterior_salvar.html',
                context)
            filename = "efdreinf_informacoes_beneficiarios_exterior.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response

    else:
        context = {
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
        }
        return render(request, 'permissao_negada.html', context)
Example #24
0
def salvar(request, pk=None, tab='master', output=None):

    from emensageriapro.esocial.models import STATUS_EVENTO_CADASTRADO
    from emensageriapro.settings import VERSAO_EMENSAGERIA, VERSAO_LAYOUT_ESOCIAL
    TP_AMB = config.ESOCIAL_TP_AMB

    if pk:

        s1070_evttabprocesso = get_object_or_404(s1070evtTabProcesso, id=pk)

    if request.user.has_perm('esocial.can_see_s1070evtTabProcesso'):

        if pk:

            s1070_evttabprocesso_form = form_s1070_evttabprocesso(
                request.POST or None,
                instance=s1070_evttabprocesso,
                initial={'ativo': True})

        else:

            s1070_evttabprocesso_form = form_s1070_evttabprocesso(
                request.POST or None,
                initial={
                    'versao': VERSAO_LAYOUT_ESOCIAL,
                    'status': STATUS_EVENTO_CADASTRADO,
                    'tpamb': TP_AMB,
                    'procemi': 1,
                    'verproc': VERSAO_EMENSAGERIA,
                    'ativo': True
                })

        if request.method == 'POST':

            if s1070_evttabprocesso_form.is_valid():

                obj = s1070_evttabprocesso_form.save(request=request)
                messages.success(request, u'Salvo com sucesso!')

                if not pk:

                    from emensageriapro.functions import identidade_evento
                    identidade_evento(obj, 'esocial')

                if 'return_page' in request.session and request.session[
                        'return_page'] and 's1070-evttabprocesso' not in request.session[
                            'return_page']:

                    return HttpResponseRedirect(request.session['return_page'])

                if pk != obj.id:

                    return redirect('s1070_evttabprocesso_salvar', pk=obj.id)

            else:
                messages.error(request, u'Erro ao salvar!')

        s1070_evttabprocesso_form = disabled_form_fields(
            s1070_evttabprocesso_form,
            request.user.has_perm('esocial.change_s1070evtTabProcesso'))

        if pk:

            if s1070_evttabprocesso.status != 0:

                s1070_evttabprocesso_form = disabled_form_fields(
                    s1070_evttabprocesso_form, False)

        for field in s1070_evttabprocesso_form.fields.keys():

            s1070_evttabprocesso_form.fields[field].widget.attrs[
                'ng-model'] = 's1070_evttabprocesso_' + field

        if output:

            s1070_evttabprocesso_form = disabled_form_for_print(
                s1070_evttabprocesso_form)

        s1070_inclusao_lista = None
        s1070_inclusao_form = None
        s1070_alteracao_lista = None
        s1070_alteracao_form = None
        s1070_exclusao_lista = None
        s1070_exclusao_form = None

        if pk:

            s1070_evttabprocesso = get_object_or_404(s1070evtTabProcesso,
                                                     id=pk)

            s1070_inclusao_form = form_s1070_inclusao(
                initial={'s1070_evttabprocesso': s1070_evttabprocesso})
            s1070_inclusao_form.fields['s1070_evttabprocesso'].widget.attrs[
                'readonly'] = True
            s1070_inclusao_lista = s1070inclusao.objects.\
                filter(s1070_evttabprocesso_id=s1070_evttabprocesso.id).all()
            s1070_alteracao_form = form_s1070_alteracao(
                initial={'s1070_evttabprocesso': s1070_evttabprocesso})
            s1070_alteracao_form.fields['s1070_evttabprocesso'].widget.attrs[
                'readonly'] = True
            s1070_alteracao_lista = s1070alteracao.objects.\
                filter(s1070_evttabprocesso_id=s1070_evttabprocesso.id).all()
            s1070_exclusao_form = form_s1070_exclusao(
                initial={'s1070_evttabprocesso': s1070_evttabprocesso})
            s1070_exclusao_form.fields['s1070_evttabprocesso'].widget.attrs[
                'readonly'] = True
            s1070_exclusao_lista = s1070exclusao.objects.\
                filter(s1070_evttabprocesso_id=s1070_evttabprocesso.id).all()

        else:

            s1070_evttabprocesso = None

        tabelas_secundarias = []

        controle_alteracoes = Auditoria.objects.filter(
            identidade=pk, tabela='s1070_evttabprocesso').all()

        if not request.POST:
            request.session['return_page'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'output': output,
            'evento_totalizador': False,
            'controle_alteracoes': controle_alteracoes,
            's1070_evttabprocesso': s1070_evttabprocesso,
            's1070_evttabprocesso_form': s1070_evttabprocesso_form,
            's1070_inclusao_form': s1070_inclusao_form,
            's1070_inclusao_lista': s1070_inclusao_lista,
            's1070_alteracao_form': s1070_alteracao_form,
            's1070_alteracao_lista': s1070_alteracao_lista,
            's1070_exclusao_form': s1070_exclusao_form,
            's1070_exclusao_lista': s1070_exclusao_lista,
            'data': datetime.datetime.now(),
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's1070_evttabprocesso',
            ],
            'tabelas_secundarias': tabelas_secundarias,
            'tab': tab,
        }

        if output == 'pdf':

            response = PDFTemplateResponse(
                request=request,
                template='s1070_evttabprocesso_salvar.html',
                filename="s1070_evttabprocesso.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )

            return response

        elif output == 'xls':

            response = render_to_response('s1070_evttabprocesso_salvar.html',
                                          context)
            filename = "s1070_evttabprocesso.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        else:

            return render(request, 's1070_evttabprocesso_salvar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'tab': tab,
            'output': output,
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's1070_evttabprocesso',
            ],
            'data': datetime.datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
def listar(request, hash):
    for_print = 0
    db_slug = 'default'
    try:
        usuario_id = request.user.id
        dict_hash = get_hash_url(hash)
        #retorno_pagina = dict_hash['retorno_pagina']
        #retorno_hash = dict_hash['retorno_hash']
        #s1040_evttabfuncao_id = int(dict_hash['id'])
        for_print = int(dict_hash['print'])
    except:
        usuario_id = False
        return redirect('login')
    usuario = get_object_or_404(Usuarios.objects.using(db_slug),
                                excluido=False,
                                id=usuario_id)
    pagina = ConfigPaginas.objects.using(db_slug).get(
        excluido=False, endereco='s1040_evttabfuncao')
    permissao = ConfigPermissoes.objects.using(db_slug).get(
        excluido=False,
        config_paginas=pagina,
        config_perfis=usuario.config_perfis)
    dict_permissoes = json_to_dict(usuario.config_perfis.permissoes)
    paginas_permitidas_lista = usuario.config_perfis.paginas_permitidas
    modulos_permitidos_lista = usuario.config_perfis.modulos_permitidos

    if permissao.permite_listar:
        filtrar = False
        dict_fields = {}
        show_fields = {
            'show_arquivo': 0,
            'show_arquivo_original': 0,
            'show_evttabfuncao': 0,
            'show_ideempregador': 0,
            'show_ideevento': 0,
            'show_identidade': 1,
            'show_nrinsc': 1,
            'show_ocorrencias': 0,
            'show_operacao': 1,
            'show_procemi': 1,
            'show_processamento_codigo_resposta': 1,
            'show_processamento_data_hora': 0,
            'show_processamento_descricao_resposta': 1,
            'show_processamento_versao_app_processamento': 0,
            'show_recepcao_data_hora': 0,
            'show_recepcao_protocolo_envio_lote': 0,
            'show_recepcao_tp_amb': 0,
            'show_recepcao_versao_app': 0,
            'show_recibo_hash': 0,
            'show_recibo_numero': 0,
            'show_retornos_eventos': 0,
            'show_status': 1,
            'show_tpamb': 1,
            'show_tpinsc': 1,
            'show_transmissor_lote_esocial': 0,
            'show_validacao_precedencia': 0,
            'show_validacoes': 0,
            'show_verproc': 1,
            'show_versao': 0,
        }
        post = False
        if request.method == 'POST':
            post = True
            dict_fields = {
                'evttabfuncao': 'evttabfuncao',
                'ideempregador': 'ideempregador',
                'ideevento': 'ideevento',
                'identidade__icontains': 'identidade__icontains',
                'nrinsc__icontains': 'nrinsc__icontains',
                'operacao': 'operacao',
                'procemi': 'procemi',
                'status': 'status',
                'tpamb': 'tpamb',
                'tpinsc': 'tpinsc',
                'transmissor_lote_esocial': 'transmissor_lote_esocial',
                'verproc__icontains': 'verproc__icontains',
                'versao__icontains': 'versao__icontains',
            }
            for a in dict_fields:
                dict_fields[a] = request.POST.get(a or None)
            for a in show_fields:
                show_fields[a] = request.POST.get(a or None)
            if request.method == 'POST':
                dict_fields = {
                    'evttabfuncao': 'evttabfuncao',
                    'ideempregador': 'ideempregador',
                    'ideevento': 'ideevento',
                    'identidade__icontains': 'identidade__icontains',
                    'nrinsc__icontains': 'nrinsc__icontains',
                    'operacao': 'operacao',
                    'procemi': 'procemi',
                    'status': 'status',
                    'tpamb': 'tpamb',
                    'tpinsc': 'tpinsc',
                    'transmissor_lote_esocial': 'transmissor_lote_esocial',
                    'verproc__icontains': 'verproc__icontains',
                    'versao__icontains': 'versao__icontains',
                }
                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)
        dict_qs = clear_dict_fields(dict_fields)
        s1040_evttabfuncao_lista = s1040evtTabFuncao.objects.using(
            db_slug).filter(**dict_qs).filter(excluido=False).exclude(
                id=0).all()
        if not post and len(s1040_evttabfuncao_lista) > 100:
            filtrar = True
            s1040_evttabfuncao_lista = None
            messages.warning(
                request,
                'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        transmissor_lote_esocial_lista = TransmissorLoteEsocial.objects.using(
            db_slug).filter(excluido=False).all()
        #s1040_evttabfuncao_listar_custom
        request.session["retorno_hash"] = hash
        request.session["retorno_pagina"] = 's1040_evttabfuncao'
        context = {
            's1040_evttabfuncao_lista': s1040_evttabfuncao_lista,
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
            'show_fields': show_fields,
            'for_print': for_print,
            'hash': hash,
            'filtrar': filtrar,
            'transmissor_lote_esocial_lista': transmissor_lote_esocial_lista,
        }
        #return render(request, 's1040_evttabfuncao_listar.html', context)
        if for_print in (0, 1):
            return render(request, 's1040_evttabfuncao_listar.html', context)
        elif for_print == 2:
            #return render_to_pdf('tables/s1000_evtinfoempregador_pdf_xls.html', context)
            from wkhtmltopdf.views import PDFTemplateResponse
            response = PDFTemplateResponse(
                request=request,
                template='s1040_evttabfuncao_listar.html',
                filename="s1040_evttabfuncao.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    'viewport-size': "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response
        elif for_print == 3:
            from django.shortcuts import render_to_response
            response = render_to_response('s1040_evttabfuncao_listar.html',
                                          context)
            filename = "s1040_evttabfuncao.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response
        elif for_print == 4:
            from django.shortcuts import render_to_response
            response = render_to_response('tables/s1040_evttabfuncao_csv.html',
                                          context)
            filename = "s1040_evttabfuncao.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response
    else:
        context = {
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
        }
        return render(request, 'permissao_negada.html', context)
Example #26
0
def salvar(request, hash):
    db_slug = 'default'
    try:
        usuario_id = request.user.id
        dict_hash = get_hash_url(hash)
        s1202_infoperapur_itensremun_id = int(dict_hash['id'])
        if 'tab' not in dict_hash.keys():
            dict_hash['tab'] = ''
        for_print = int(dict_hash['print'])
    except:
        usuario_id = False
        return redirect('login')
    usuario = get_object_or_404(Usuarios.objects.using(db_slug),
                                excluido=False,
                                id=usuario_id)
    pagina = ConfigPaginas.objects.using(db_slug).get(
        excluido=False, endereco='s1202_infoperapur_itensremun')
    permissao = ConfigPermissoes.objects.using(db_slug).get(
        excluido=False,
        config_paginas=pagina,
        config_perfis=usuario.config_perfis)
    if s1202_infoperapur_itensremun_id:
        s1202_infoperapur_itensremun = get_object_or_404(
            s1202infoPerApuritensRemun.objects.using(db_slug),
            excluido=False,
            id=s1202_infoperapur_itensremun_id)
    dict_permissoes = json_to_dict(usuario.config_perfis.permissoes)
    paginas_permitidas_lista = usuario.config_perfis.paginas_permitidas
    modulos_permitidos_lista = usuario.config_perfis.modulos_permitidos
    dados_evento = {}
    dados_evento['status'] = 0
    if s1202_infoperapur_itensremun_id:
        dados_evento = s1202_infoperapur_itensremun.evento()
        if dados_evento['status'] != 0:
            dict_permissoes['s1202_infoperapur_itensremun_apagar'] = 0
            dict_permissoes['s1202_infoperapur_itensremun_editar'] = 0

    if permissao.permite_visualizar:
        mensagem = None
        if s1202_infoperapur_itensremun_id:
            s1202_infoperapur_itensremun_form = form_s1202_infoperapur_itensremun(
                request.POST or None,
                instance=s1202_infoperapur_itensremun,
                slug=db_slug)
        else:
            s1202_infoperapur_itensremun_form = form_s1202_infoperapur_itensremun(
                request.POST or None, slug=db_slug, initial={})
        if request.method == 'POST':
            if s1202_infoperapur_itensremun_form.is_valid():
                dados = s1202_infoperapur_itensremun_form.cleaned_data
                import json
                from django.forms.models import model_to_dict
                if s1202_infoperapur_itensremun_id:
                    if dados_evento['status'] == 0:
                        dados['modificado_por_id'] = usuario_id
                        dados['modificado_em'] = datetime.datetime.now()
                        #s1202_infoperapur_itensremun_campos_multiple_passo1
                        s1202infoPerApuritensRemun.objects.using(
                            db_slug).filter(
                                id=s1202_infoperapur_itensremun_id).update(
                                    **dados)
                        obj = s1202infoPerApuritensRemun.objects.using(
                            db_slug).get(id=s1202_infoperapur_itensremun_id)
                        #s1202_infoperapur_itensremun_editar_custom
                        #s1202_infoperapur_itensremun_campos_multiple_passo2
                        messages.success(request, 'Alterado com sucesso!')
                        gravar_auditoria(
                            json.dumps(
                                model_to_dict(s1202_infoperapur_itensremun),
                                indent=4,
                                sort_keys=True,
                                default=str),
                            json.dumps(model_to_dict(obj),
                                       indent=4,
                                       sort_keys=True,
                                       default=str),
                            's1202_infoperapur_itensremun',
                            s1202_infoperapur_itensremun_id, usuario_id, 2)
                    else:
                        messages.error(
                            request,
                            'Somente é possível alterar eventos com status "Cadastrado"!'
                        )
                else:

                    dados['criado_por_id'] = usuario_id
                    dados['criado_em'] = datetime.datetime.now()
                    dados['excluido'] = False
                    #s1202_infoperapur_itensremun_cadastrar_campos_multiple_passo1
                    obj = s1202infoPerApuritensRemun(**dados)
                    obj.save(using=db_slug)
                    #s1202_infoperapur_itensremun_cadastrar_custom
                    #s1202_infoperapur_itensremun_cadastrar_campos_multiple_passo2
                    messages.success(request, 'Cadastrado com sucesso!')
                    gravar_auditoria(
                        '{}',
                        json.dumps(model_to_dict(obj),
                                   indent=4,
                                   sort_keys=True,
                                   default=str),
                        's1202_infoperapur_itensremun', obj.id, usuario_id, 1)
                    if request.session['retorno_pagina'] not in (
                            's1202_infoperapur_itensremun_apagar',
                            's1202_infoperapur_itensremun_salvar',
                            's1202_infoperapur_itensremun'):
                        return redirect(request.session['retorno_pagina'],
                                        hash=request.session['retorno_hash'])
                    if s1202_infoperapur_itensremun_id != obj.id:
                        url_hash = base64.urlsafe_b64encode(
                            '{"print": "0", "id": "%s"}' % (obj.id))
                        return redirect('s1202_infoperapur_itensremun_salvar',
                                        hash=url_hash)
            else:
                messages.error(request, 'Erro ao salvar!')
        s1202_infoperapur_itensremun_form = disabled_form_fields(
            s1202_infoperapur_itensremun_form, permissao.permite_editar)
        if s1202_infoperapur_itensremun_id:
            if dados_evento['status'] != 0:
                s1202_infoperapur_itensremun_form = disabled_form_fields(
                    s1202_infoperapur_itensremun_form, 0)
        #s1202_infoperapur_itensremun_campos_multiple_passo3

        for field in s1202_infoperapur_itensremun_form.fields.keys():
            s1202_infoperapur_itensremun_form.fields[field].widget.attrs[
                'ng-model'] = 's1202_infoperapur_itensremun_' + field
        if int(dict_hash['print']):
            s1202_infoperapur_itensremun_form = disabled_form_for_print(
                s1202_infoperapur_itensremun_form)
        #[VARIAVEIS_SECUNDARIAS_VAZIAS]
        if s1202_infoperapur_itensremun_id:
            s1202_infoperapur_itensremun = get_object_or_404(
                s1202infoPerApuritensRemun.objects.using(db_slug),
                excluido=False,
                id=s1202_infoperapur_itensremun_id)
            pass
        else:
            s1202_infoperapur_itensremun = None
        #s1202_infoperapur_itensremun_salvar_custom_variaveis#
        tabelas_secundarias = []
        #[FUNCOES_ESPECIAIS_SALVAR]
        if dict_hash[
                'tab'] or 's1202_infoperapur_itensremun' in request.session[
                    'retorno_pagina']:
            request.session["retorno_hash"] = hash
            request.session[
                "retorno_pagina"] = 's1202_infoperapur_itensremun_salvar'
        controle_alteracoes = Auditoria.objects.using(db_slug).filter(
            identidade=s1202_infoperapur_itensremun_id,
            tabela='s1202_infoperapur_itensremun').all()
        context = {
            'ocorrencias': dados_evento['ocorrencias'],
            'validacao_precedencia': dados_evento['validacao_precedencia'],
            'validacoes': dados_evento['validacoes'],
            'status': dados_evento['status'],
            'controle_alteracoes': controle_alteracoes,
            's1202_infoperapur_itensremun': s1202_infoperapur_itensremun,
            's1202_infoperapur_itensremun_form':
            s1202_infoperapur_itensremun_form,
            'mensagem': mensagem,
            's1202_infoperapur_itensremun_id':
            int(s1202_infoperapur_itensremun_id),
            'usuario': usuario,
            'hash': hash,
            #[VARIAVEIS_SECUNDARIAS]
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
            'for_print': int(dict_hash['print']),
            'tabelas_secundarias': tabelas_secundarias,
            'tab': dict_hash['tab'],
            #s1202_infoperapur_itensremun_salvar_custom_variaveis_context#
        }
        if for_print in (0, 1):
            return render(request, 's1202_infoperapur_itensremun_salvar.html',
                          context)
        elif for_print == 2:
            from wkhtmltopdf.views import PDFTemplateResponse
            response = PDFTemplateResponse(
                request=request,
                template='s1202_infoperapur_itensremun_salvar.html',
                filename="s1202_infoperapur_itensremun.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response
        elif for_print == 3:
            from django.shortcuts import render_to_response
            response = render_to_response(
                's1202_infoperapur_itensremun_salvar.html', context)
            filename = "s1202_infoperapur_itensremun.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response

    else:
        context = {
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
        }
        return render(request, 'permissao_negada.html', context)
def salvar(request, hash):
    from emensageriapro.settings import VERSAO_EMENSAGERIA, VERSAO_LAYOUT_ESOCIAL, TP_AMB
    db_slug = 'default'
    try:
        usuario_id = request.user.id
        dict_hash = get_hash_url(hash)
        s1040_evttabfuncao_id = int(dict_hash['id'])
        if 'tab' not in dict_hash.keys():
            dict_hash['tab'] = ''
        for_print = int(dict_hash['print'])
    except:
        usuario_id = False
        return redirect('login')
    usuario = get_object_or_404(Usuarios.objects.using(db_slug),
                                excluido=False,
                                id=usuario_id)
    pagina = ConfigPaginas.objects.using(db_slug).get(
        excluido=False, endereco='s1040_evttabfuncao')
    permissao = ConfigPermissoes.objects.using(db_slug).get(
        excluido=False,
        config_paginas=pagina,
        config_perfis=usuario.config_perfis)
    if s1040_evttabfuncao_id:
        s1040_evttabfuncao = get_object_or_404(
            s1040evtTabFuncao.objects.using(db_slug),
            excluido=False,
            id=s1040_evttabfuncao_id)
    dict_permissoes = json_to_dict(usuario.config_perfis.permissoes)
    paginas_permitidas_lista = usuario.config_perfis.paginas_permitidas
    modulos_permitidos_lista = usuario.config_perfis.modulos_permitidos

    if s1040_evttabfuncao_id:
        if s1040_evttabfuncao.status != 0:
            dict_permissoes['s1040_evttabfuncao_apagar'] = 0
            dict_permissoes['s1040_evttabfuncao_editar'] = 0

    if permissao.permite_visualizar:
        mensagem = None
        if s1040_evttabfuncao_id:
            s1040_evttabfuncao_form = form_s1040_evttabfuncao(
                request.POST or None,
                instance=s1040_evttabfuncao,
                slug=db_slug)
        else:
            s1040_evttabfuncao_form = form_s1040_evttabfuncao(
                request.POST or None,
                slug=db_slug,
                initial={
                    'versao': VERSAO_LAYOUT_ESOCIAL,
                    'status': 0,
                    'processamento_codigo_resposta': 0,
                    'tpamb': TP_AMB,
                    'procemi': 1,
                    'verproc': VERSAO_EMENSAGERIA
                })
        if request.method == 'POST':
            if s1040_evttabfuncao_form.is_valid():
                dados = s1040_evttabfuncao_form.cleaned_data
                import json
                from django.forms.models import model_to_dict
                if s1040_evttabfuncao_id:
                    if s1040_evttabfuncao.status == 0:
                        dados['modificado_por_id'] = usuario_id
                        dados['modificado_em'] = datetime.datetime.now()
                        #s1040_evttabfuncao_campos_multiple_passo1
                        s1040evtTabFuncao.objects.using(db_slug).filter(
                            id=s1040_evttabfuncao_id).update(**dados)
                        obj = s1040evtTabFuncao.objects.using(db_slug).get(
                            id=s1040_evttabfuncao_id)
                        #s1040_evttabfuncao_editar_custom
                        #s1040_evttabfuncao_campos_multiple_passo2
                        messages.success(request, 'Alterado com sucesso!')
                        gravar_auditoria(
                            json.dumps(model_to_dict(s1040_evttabfuncao),
                                       indent=4,
                                       sort_keys=True,
                                       default=str),
                            json.dumps(model_to_dict(obj),
                                       indent=4,
                                       sort_keys=True,
                                       default=str), 's1040_evttabfuncao',
                            s1040_evttabfuncao_id, usuario_id, 2)
                    else:
                        obj = s1040evtTabFuncao.objects.using(db_slug).get(
                            id=s1040_evttabfuncao_id)
                        messages.error(
                            request,
                            'Não é possível salvar o evento, pois o mesmo não está com o status "Cadastrado"!'
                        )

                else:
                    dados['processamento_codigo_resposta'] = '- -'
                    dados['processamento_descricao_resposta'] = '- -'

                    dados['criado_por_id'] = usuario_id
                    dados['criado_em'] = datetime.datetime.now()
                    dados['excluido'] = False
                    #s1040_evttabfuncao_cadastrar_campos_multiple_passo1
                    obj = s1040evtTabFuncao(**dados)
                    obj.save(using=db_slug)
                    #s1040_evttabfuncao_cadastrar_custom
                    #s1040_evttabfuncao_cadastrar_campos_multiple_passo2
                    identidade_evento(obj.id, db_slug)
                    messages.success(request, 'Cadastrado com sucesso!')
                    s1040_evttabfuncao_form = form_s1040_evttabfuncao(
                        request.POST or None, instance=obj, slug=db_slug)
                    gravar_auditoria(
                        '{}',
                        json.dumps(model_to_dict(obj),
                                   indent=4,
                                   sort_keys=True,
                                   default=str), 's1040_evttabfuncao', obj.id,
                        usuario_id, 1)
                if request.session['retorno_pagina'] not in (
                        's1040_evttabfuncao_apagar',
                        's1040_evttabfuncao_salvar', 's1040_evttabfuncao'):
                    return redirect(request.session['retorno_pagina'],
                                    hash=request.session['retorno_hash'])
                if s1040_evttabfuncao_id != obj.id:
                    url_hash = base64.urlsafe_b64encode(
                        '{"print": "0", "id": "%s"}' % (obj.id))
                    return redirect('s1040_evttabfuncao_salvar', hash=url_hash)

            else:
                messages.error(request, 'Erro ao salvar!')
        s1040_evttabfuncao_form = disabled_form_fields(
            s1040_evttabfuncao_form, permissao.permite_editar)

        if s1040_evttabfuncao_id:
            if s1040_evttabfuncao.status != 0:
                s1040_evttabfuncao_form = disabled_form_fields(
                    s1040_evttabfuncao_form, False)
        #s1040_evttabfuncao_campos_multiple_passo3

        for field in s1040_evttabfuncao_form.fields.keys():
            s1040_evttabfuncao_form.fields[field].widget.attrs[
                'ng-model'] = 's1040_evttabfuncao_' + field
        if int(dict_hash['print']):
            s1040_evttabfuncao_form = disabled_form_for_print(
                s1040_evttabfuncao_form)

        s1040_inclusao_form = None
        s1040_inclusao_lista = None
        s1040_alteracao_form = None
        s1040_alteracao_lista = None
        s1040_exclusao_form = None
        s1040_exclusao_lista = None
        if s1040_evttabfuncao_id:
            s1040_evttabfuncao = get_object_or_404(
                s1040evtTabFuncao.objects.using(db_slug),
                excluido=False,
                id=s1040_evttabfuncao_id)

            s1040_inclusao_form = form_s1040_inclusao(
                initial={'s1040_evttabfuncao': s1040_evttabfuncao},
                slug=db_slug)
            s1040_inclusao_form.fields['s1040_evttabfuncao'].widget.attrs[
                'readonly'] = True
            s1040_inclusao_lista = s1040inclusao.objects.using(db_slug).filter(
                excluido=False,
                s1040_evttabfuncao_id=s1040_evttabfuncao.id).all()
            s1040_alteracao_form = form_s1040_alteracao(
                initial={'s1040_evttabfuncao': s1040_evttabfuncao},
                slug=db_slug)
            s1040_alteracao_form.fields['s1040_evttabfuncao'].widget.attrs[
                'readonly'] = True
            s1040_alteracao_lista = s1040alteracao.objects.using(
                db_slug).filter(
                    excluido=False,
                    s1040_evttabfuncao_id=s1040_evttabfuncao.id).all()
            s1040_exclusao_form = form_s1040_exclusao(
                initial={'s1040_evttabfuncao': s1040_evttabfuncao},
                slug=db_slug)
            s1040_exclusao_form.fields['s1040_evttabfuncao'].widget.attrs[
                'readonly'] = True
            s1040_exclusao_lista = s1040exclusao.objects.using(db_slug).filter(
                excluido=False,
                s1040_evttabfuncao_id=s1040_evttabfuncao.id).all()
        else:
            s1040_evttabfuncao = None
        #s1040_evttabfuncao_salvar_custom_variaveis#
        tabelas_secundarias = []
        #[FUNCOES_ESPECIAIS_SALVAR]
        if 's1040_evttabfuncao'[1] == '5':
            evento_totalizador = True
        else:
            evento_totalizador = False
        if not evento_totalizador:
            s1040_evttabfuncao_form.fields['tpamb'].widget.attrs[
                'disabled'] = True
            s1040_evttabfuncao_form.fields['tpamb'].widget.attrs[
                'readonly'] = True
            s1040_evttabfuncao_form.fields['tpamb'].value = TP_AMB
            s1040_evttabfuncao_form.fields['procemi'].widget.attrs[
                'disabled'] = True
            s1040_evttabfuncao_form.fields['procemi'].widget.attrs[
                'readonly'] = True
            s1040_evttabfuncao_form.fields['procemi'].value = 1
            s1040_evttabfuncao_form.fields['verproc'].widget.attrs[
                'readonly'] = True
            s1040_evttabfuncao_form.fields[
                'verproc'].value = VERSAO_EMENSAGERIA

        if dict_hash['tab'] or 's1040_evttabfuncao' in request.session[
                'retorno_pagina']:
            request.session["retorno_hash"] = hash
            request.session["retorno_pagina"] = 's1040_evttabfuncao_salvar'
        controle_alteracoes = Auditoria.objects.using(db_slug).filter(
            identidade=s1040_evttabfuncao_id,
            tabela='s1040_evttabfuncao').all()
        context = {
            'evento_totalizador': evento_totalizador,
            'controle_alteracoes': controle_alteracoes,
            's1040_evttabfuncao': s1040_evttabfuncao,
            's1040_evttabfuncao_form': s1040_evttabfuncao_form,
            'mensagem': mensagem,
            's1040_evttabfuncao_id': int(s1040_evttabfuncao_id),
            'usuario': usuario,
            'hash': hash,
            's1040_inclusao_form': s1040_inclusao_form,
            's1040_inclusao_lista': s1040_inclusao_lista,
            's1040_alteracao_form': s1040_alteracao_form,
            's1040_alteracao_lista': s1040_alteracao_lista,
            's1040_exclusao_form': s1040_exclusao_form,
            's1040_exclusao_lista': s1040_exclusao_lista,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
            'for_print': int(dict_hash['print']),
            'tabelas_secundarias': tabelas_secundarias,
            'tab': dict_hash['tab'],
            #s1040_evttabfuncao_salvar_custom_variaveis_context#
        }

        if for_print in (0, 1):
            return render(request, 's1040_evttabfuncao_salvar.html', context)
        elif for_print == 2:
            from wkhtmltopdf.views import PDFTemplateResponse
            response = PDFTemplateResponse(
                request=request,
                template='s1040_evttabfuncao_salvar.html',
                filename="s1040_evttabfuncao.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response
        elif for_print == 3:
            from django.shortcuts import render_to_response
            response = render_to_response('s1040_evttabfuncao_salvar.html',
                                          context)
            filename = "s1040_evttabfuncao.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response
    else:
        context = {
            'usuario': usuario,
            'modulos_permitidos_lista': modulos_permitidos_lista,
            'paginas_permitidas_lista': paginas_permitidas_lista,
            'permissao': permissao,
            'data': datetime.datetime.now(),
            'pagina': pagina,
            'dict_permissoes': dict_permissoes,
        }
        return render(request, 'permissao_negada.html', context)
Example #28
0
def listar(request, output=None):

    if request.user.has_perm('s2241.can_see_s2241fimAposentEsp'):

        filtrar = False

        dict_fields = {}
        show_fields = {
            'show_s2241_aposentesp': 1,
            'show_dtfimcondicao': 1,
        }

        post = False

        if request.method == 'POST':

            post = True
            dict_fields = {
                's2241_aposentesp__icontains': 's2241_aposentesp__icontains',
                'dtfimcondicao__range': 'dtfimcondicao__range',
            }

            for a in dict_fields:

                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:

                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':

                dict_fields = {
                    's2241_aposentesp__icontains':
                    's2241_aposentesp__icontains',
                    'dtfimcondicao__range': 'dtfimcondicao__range',
                }

                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)
        s2241_fimaposentesp_lista = s2241fimAposentEsp.objects.filter(
            **dict_qs).filter().exclude(id=0).all()

        if not post and len(s2241_fimaposentesp_lista) > 100:

            filtrar = True
            s2241_fimaposentesp_lista = None
            messages.warning(
                request,
                u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        #[VARIAVEIS_LISTA_FILTRO_RELATORIO]
        #s2241_fimaposentesp_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            's2241_fimaposentesp_lista': s2241_fimaposentesp_lista,
            'modulos': [
                's2241',
            ],
            'paginas': [
                's2241_fimaposentesp',
            ],
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'show_fields': show_fields,
            'filtrar': filtrar,
            #[VARIAVEIS_FILTRO_RELATORIO]
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='s2241_fimaposentesp_listar.html',
                filename="s2241_fimaposentesp.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response
            response = render_to_response('s2241_fimaposentesp_listar.html',
                                          context)
            filename = "s2241_fimaposentesp.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response

        elif output == 'csv':

            from django.shortcuts import render_to_response
            response = render_to_response('csv/s2241_fimaposentesp.csv',
                                          context)
            filename = "s2241_fimaposentesp.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response

        else:

            return render(request, 's2241_fimaposentesp_listar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'data': datetime.datetime.now(),
            'modulos': [
                's2241',
            ],
            'paginas': [
                's2241_fimaposentesp',
            ],
        }

        return render(request, 'permissao_negada.html', context)
Example #29
0
def salvar(request, pk=None, tab='master', output=None):

    from emensageriapro.esocial.models import STATUS_EVENTO_CADASTRADO

    evento_dados = {}
    evento_dados['status'] = STATUS_EVENTO_CADASTRADO

    if pk:

        s5011_idelotacao = get_object_or_404(s5011ideLotacao, id=pk)
        evento_dados = s5011_idelotacao.evento()

    if request.user.has_perm('s5011.can_see_s5011ideLotacao'):

        if pk:

            s5011_idelotacao_form = form_s5011_idelotacao(
                request.POST or None, instance=s5011_idelotacao)

        else:

            s5011_idelotacao_form = form_s5011_idelotacao(request.POST or None)

        if request.method == 'POST':

            if s5011_idelotacao_form.is_valid():

                obj = s5011_idelotacao_form.save(request=request)
                messages.success(request, u'Salvo com sucesso!')

                if not pk:

                    gravar_auditoria(
                        '{}',
                        json.dumps(model_to_dict(obj),
                                   indent=4,
                                   sort_keys=True,
                                   default=str), 's5011_idelotacao', obj.id,
                        request.user.id, 1)

                else:

                    gravar_auditoria(
                        json.dumps(model_to_dict(s5011_idelotacao),
                                   indent=4,
                                   sort_keys=True,
                                   default=str),
                        json.dumps(model_to_dict(obj),
                                   indent=4,
                                   sort_keys=True,
                                   default=str), 's5011_idelotacao', pk,
                        request.user.id, 2)

                if request.session['return_page'] not in (
                        's5011_idelotacao_apagar', 's5011_idelotacao_salvar',
                        's5011_idelotacao'):

                    return redirect(request.session['return_page'],
                                    pk=request.session['return_pk'])

                if pk != obj.id:

                    return redirect('s5011_idelotacao_salvar', pk=obj.id)

            else:

                messages.error(request, u'Erro ao salvar!')

        s5011_idelotacao_form = disabled_form_fields(
            s5011_idelotacao_form,
            request.user.has_perm('s5011.change_s5011ideLotacao'))

        if pk:

            if evento_dados['status'] != STATUS_EVENTO_CADASTRADO:

                s5011_idelotacao_form = disabled_form_fields(
                    s5011_idelotacao_form, 0)

        if output:

            s5011_idelotacao_form = disabled_form_for_print(
                s5011_idelotacao_form)

        s5011_infotercsusp_lista = None
        s5011_infotercsusp_form = None
        s5011_infoemprparcial_lista = None
        s5011_infoemprparcial_form = None
        s5011_dadosopport_lista = None
        s5011_dadosopport_form = None
        s5011_basesremun_lista = None
        s5011_basesremun_form = None
        s5011_basesavnport_lista = None
        s5011_basesavnport_form = None
        s5011_infosubstpatropport_lista = None
        s5011_infosubstpatropport_form = None

        if pk:

            s5011_idelotacao = get_object_or_404(s5011ideLotacao, id=pk)

            s5011_infotercsusp_form = form_s5011_infotercsusp(
                initial={'s5011_idelotacao': s5011_idelotacao})
            s5011_infotercsusp_form.fields['s5011_idelotacao'].widget.attrs[
                'readonly'] = True
            s5011_infotercsusp_lista = s5011infoTercSusp.objects.\
                filter(s5011_idelotacao_id=s5011_idelotacao.id).all()

            s5011_infoemprparcial_form = form_s5011_infoemprparcial(
                initial={'s5011_idelotacao': s5011_idelotacao})
            s5011_infoemprparcial_form.fields['s5011_idelotacao'].widget.attrs[
                'readonly'] = True
            s5011_infoemprparcial_lista = s5011infoEmprParcial.objects.\
                filter(s5011_idelotacao_id=s5011_idelotacao.id).all()

            s5011_dadosopport_form = form_s5011_dadosopport(
                initial={'s5011_idelotacao': s5011_idelotacao})
            s5011_dadosopport_form.fields['s5011_idelotacao'].widget.attrs[
                'readonly'] = True
            s5011_dadosopport_lista = s5011dadosOpPort.objects.\
                filter(s5011_idelotacao_id=s5011_idelotacao.id).all()

            s5011_basesremun_form = form_s5011_basesremun(
                initial={'s5011_idelotacao': s5011_idelotacao})
            s5011_basesremun_form.fields['s5011_idelotacao'].widget.attrs[
                'readonly'] = True
            s5011_basesremun_lista = s5011basesRemun.objects.\
                filter(s5011_idelotacao_id=s5011_idelotacao.id).all()

            s5011_basesavnport_form = form_s5011_basesavnport(
                initial={'s5011_idelotacao': s5011_idelotacao})
            s5011_basesavnport_form.fields['s5011_idelotacao'].widget.attrs[
                'readonly'] = True
            s5011_basesavnport_lista = s5011basesAvNPort.objects.\
                filter(s5011_idelotacao_id=s5011_idelotacao.id).all()

            s5011_infosubstpatropport_form = form_s5011_infosubstpatropport(
                initial={'s5011_idelotacao': s5011_idelotacao})
            s5011_infosubstpatropport_form.fields[
                's5011_idelotacao'].widget.attrs['readonly'] = True
            s5011_infosubstpatropport_lista = s5011infoSubstPatrOpPort.objects.\
                filter(s5011_idelotacao_id=s5011_idelotacao.id).all()

        else:

            s5011_idelotacao = None

        tabelas_secundarias = []

        if tab or 's5011_idelotacao' in request.session['return_page']:

            request.session['return_pk'] = pk
            request.session['return_tab'] = tab
            request.session['return_page'] = 's5011_idelotacao_salvar'

        controle_alteracoes = Auditoria.objects.filter(
            identidade=pk, tabela='s5011_idelotacao').all()

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'output': output,
            'evento_dados': evento_dados,
            'controle_alteracoes': controle_alteracoes,
            's5011_idelotacao': s5011_idelotacao,
            's5011_idelotacao_form': s5011_idelotacao_form,
            'modulos': [
                's5011',
            ],
            'paginas': [
                's5011_idelotacao',
            ],
            's5011_infotercsusp_form': s5011_infotercsusp_form,
            's5011_infotercsusp_lista': s5011_infotercsusp_lista,
            's5011_infoemprparcial_form': s5011_infoemprparcial_form,
            's5011_infoemprparcial_lista': s5011_infoemprparcial_lista,
            's5011_dadosopport_form': s5011_dadosopport_form,
            's5011_dadosopport_lista': s5011_dadosopport_lista,
            's5011_basesremun_form': s5011_basesremun_form,
            's5011_basesremun_lista': s5011_basesremun_lista,
            's5011_basesavnport_form': s5011_basesavnport_form,
            's5011_basesavnport_lista': s5011_basesavnport_lista,
            's5011_infosubstpatropport_form': s5011_infosubstpatropport_form,
            's5011_infosubstpatropport_lista': s5011_infosubstpatropport_lista,
            'data': datetime.datetime.now(),
            'tabelas_secundarias': tabelas_secundarias,
            'tab': tab,
            #s5011_idelotacao_salvar_custom_variaveis_context#
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='s5011_idelotacao_salvar.html',
                filename="s5011_idelotacao.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response

            response = render_to_response('s5011_idelotacao_salvar.html',
                                          context)
            filename = "s5011_idelotacao.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        else:

            return render(request, 's5011_idelotacao_salvar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            'output': output,
            'tab': tab,
            'modulos': [
                's5011',
            ],
            'paginas': [
                's5011_idelotacao',
            ],
            'data': datetime.datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
Example #30
0
def verificar(request, pk, output=None):

    if request.user.has_perm('esocial.can_see_s1200evtRemun'):

        s1200_evtremun = get_object_or_404(s1200evtRemun, id=pk)
        s1200_evtremun_lista = s1200evtRemun.objects.filter(id=pk).all()


        s1200_infomv_lista = s1200infoMV.objects.filter(s1200_evtremun_id__in = listar_ids(s1200_evtremun_lista) ).all()
        s1200_remunoutrempr_lista = s1200remunOutrEmpr.objects.filter(s1200_infomv_id__in = listar_ids(s1200_infomv_lista) ).all()
        s1200_infocomplem_lista = s1200infoComplem.objects.filter(s1200_evtremun_id__in = listar_ids(s1200_evtremun_lista) ).all()
        s1200_sucessaovinc_lista = s1200sucessaoVinc.objects.filter(s1200_infocomplem_id__in = listar_ids(s1200_infocomplem_lista) ).all()
        s1200_procjudtrab_lista = s1200procJudTrab.objects.filter(s1200_evtremun_id__in = listar_ids(s1200_evtremun_lista) ).all()
        s1200_infointerm_lista = s1200infoInterm.objects.filter(s1200_evtremun_id__in = listar_ids(s1200_evtremun_lista) ).all()
        s1200_dmdev_lista = s1200dmDev.objects.filter(s1200_evtremun_id__in = listar_ids(s1200_evtremun_lista) ).all()
        s1200_infoperapur_lista = s1200infoPerApur.objects.filter(s1200_dmdev_id__in = listar_ids(s1200_dmdev_lista) ).all()
        s1200_infoperapur_ideestablot_lista = s1200infoPerApurideEstabLot.objects.filter(s1200_infoperapur_id__in = listar_ids(s1200_infoperapur_lista) ).all()
        s1200_infoperapur_remunperapur_lista = s1200infoPerApurremunPerApur.objects.filter(s1200_infoperapur_ideestablot_id__in = listar_ids(s1200_infoperapur_ideestablot_lista) ).all()
        s1200_infoperapur_itensremun_lista = s1200infoPerApuritensRemun.objects.filter(s1200_infoperapur_remunperapur_id__in = listar_ids(s1200_infoperapur_remunperapur_lista) ).all()
        s1200_infoperapur_infosaudecolet_lista = s1200infoPerApurinfoSaudeColet.objects.filter(s1200_infoperapur_remunperapur_id__in = listar_ids(s1200_infoperapur_remunperapur_lista) ).all()
        s1200_infoperapur_detoper_lista = s1200infoPerApurdetOper.objects.filter(s1200_infoperapur_infosaudecolet_id__in = listar_ids(s1200_infoperapur_infosaudecolet_lista) ).all()
        s1200_infoperapur_detplano_lista = s1200infoPerApurdetPlano.objects.filter(s1200_infoperapur_detoper_id__in = listar_ids(s1200_infoperapur_detoper_lista) ).all()
        s1200_infoperapur_infoagnocivo_lista = s1200infoPerApurinfoAgNocivo.objects.filter(s1200_infoperapur_remunperapur_id__in = listar_ids(s1200_infoperapur_remunperapur_lista) ).all()
        s1200_infoperapur_infotrabinterm_lista = s1200infoPerApurinfoTrabInterm.objects.filter(s1200_infoperapur_remunperapur_id__in = listar_ids(s1200_infoperapur_remunperapur_lista) ).all()
        s1200_infoperant_lista = s1200infoPerAnt.objects.filter(s1200_dmdev_id__in = listar_ids(s1200_dmdev_lista) ).all()
        s1200_infoperant_ideadc_lista = s1200infoPerAntideADC.objects.filter(s1200_infoperant_id__in = listar_ids(s1200_infoperant_lista) ).all()
        s1200_infoperant_ideperiodo_lista = s1200infoPerAntidePeriodo.objects.filter(s1200_infoperant_ideadc_id__in = listar_ids(s1200_infoperant_ideadc_lista) ).all()
        s1200_infoperant_ideestablot_lista = s1200infoPerAntideEstabLot.objects.filter(s1200_infoperant_ideperiodo_id__in = listar_ids(s1200_infoperant_ideperiodo_lista) ).all()
        s1200_infoperant_remunperant_lista = s1200infoPerAntremunPerAnt.objects.filter(s1200_infoperant_ideestablot_id__in = listar_ids(s1200_infoperant_ideestablot_lista) ).all()
        s1200_infoperant_itensremun_lista = s1200infoPerAntitensRemun.objects.filter(s1200_infoperant_remunperant_id__in = listar_ids(s1200_infoperant_remunperant_lista) ).all()
        s1200_infoperant_infoagnocivo_lista = s1200infoPerAntinfoAgNocivo.objects.filter(s1200_infoperant_remunperant_id__in = listar_ids(s1200_infoperant_remunperant_lista) ).all()
        s1200_infoperant_infotrabinterm_lista = s1200infoPerAntinfoTrabInterm.objects.filter(s1200_infoperant_remunperant_id__in = listar_ids(s1200_infoperant_remunperant_lista) ).all()
        s1200_infoperant_infocomplcont_lista = s1200infoPerAntinfoComplCont.objects.filter(s1200_dmdev_id__in = listar_ids(s1200_dmdev_lista) ).all()

        request.session['return_pk'] = pk
        request.session['return_page'] = request.META.get('HTTP_REFERER')

        context = {
            's1200_evtremun_lista': s1200_evtremun_lista,
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'pk': pk,
            's1200_evtremun': s1200_evtremun,
            's1200_infomv_lista': s1200_infomv_lista,
            's1200_remunoutrempr_lista': s1200_remunoutrempr_lista,
            's1200_infocomplem_lista': s1200_infocomplem_lista,
            's1200_sucessaovinc_lista': s1200_sucessaovinc_lista,
            's1200_procjudtrab_lista': s1200_procjudtrab_lista,
            's1200_infointerm_lista': s1200_infointerm_lista,
            's1200_dmdev_lista': s1200_dmdev_lista,
            's1200_infoperapur_lista': s1200_infoperapur_lista,
            's1200_infoperapur_ideestablot_lista': s1200_infoperapur_ideestablot_lista,
            's1200_infoperapur_remunperapur_lista': s1200_infoperapur_remunperapur_lista,
            's1200_infoperapur_itensremun_lista': s1200_infoperapur_itensremun_lista,
            's1200_infoperapur_infosaudecolet_lista': s1200_infoperapur_infosaudecolet_lista,
            's1200_infoperapur_detoper_lista': s1200_infoperapur_detoper_lista,
            's1200_infoperapur_detplano_lista': s1200_infoperapur_detplano_lista,
            's1200_infoperapur_infoagnocivo_lista': s1200_infoperapur_infoagnocivo_lista,
            's1200_infoperapur_infotrabinterm_lista': s1200_infoperapur_infotrabinterm_lista,
            's1200_infoperant_lista': s1200_infoperant_lista,
            's1200_infoperant_ideadc_lista': s1200_infoperant_ideadc_lista,
            's1200_infoperant_ideperiodo_lista': s1200_infoperant_ideperiodo_lista,
            's1200_infoperant_ideestablot_lista': s1200_infoperant_ideestablot_lista,
            's1200_infoperant_remunperant_lista': s1200_infoperant_remunperant_lista,
            's1200_infoperant_itensremun_lista': s1200_infoperant_itensremun_lista,
            's1200_infoperant_infoagnocivo_lista': s1200_infoperant_infoagnocivo_lista,
            's1200_infoperant_infotrabinterm_lista': s1200_infoperant_infotrabinterm_lista,
            's1200_infoperant_infocomplcont_lista': s1200_infoperant_infocomplcont_lista,
            'modulos': ['esocial', ],
            'paginas': ['s1200_evtremun', ],
            'data': datetime.now(),
            'output': output,
        }

        if output == 'pdf':

            response = PDFTemplateResponse(
                request=request,
                template='s1200_evtremun_verificar.html',
                filename="s1200_evtremun.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={'margin-top': 10,
                             'margin-bottom': 10,
                             'margin-right': 10,
                             'margin-left': 20,
                             'zoom': 1,
                             'viewport-size': '1366 x 513',
                             'javascript-delay': 1000,
                             'footer-center': u'Página [page]/[topage]',
                             'footer-font-size': 10,
                             'no-stop-slow-scripts': True})
        
            return response

        elif output == 'xls':

            response = render_to_response('s1200_evtremun_verificar.html', context)
            filename = "%s.xls" % s1200_evtremun.identidade
            response['Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            response = render_to_response('s1200_evtremun_verificar.html', context)
            filename = "%s.csv" % s1200_evtremun.identidade
            response['Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response

        else:

            return render(request, 's1200_evtremun_verificar.html', context)

    else:

        context = {
            'modulos': ['esocial', ],
            'paginas': ['s1200_evtremun', ],
            'data': datetime.now(),
        }

        return render(request, 'permissao_negada.html', context)
Example #31
0
def listar(request, output=None):

    if request.user.has_perm('controle_de_acesso.can_see_Usuarios'):

        filtrar = False

        dict_fields = {}
        show_fields = {
            'show_foto': 0,
            'show_username': 1,
            'show_password': 0,
            'show_first_name': 1,
            'show_last_name': 1,
            'show_email': 1,
            'show_is_superuser': 0,
            'show_is_staff': 0,
            'show_is_active': 1,
            'show_last_login': 0,
            'show_date_joined': 0,
            'show_config_perfis': 1,
            'show_name': 1, }

        post = False
        #ANTES-POST-LISTAGEM

        if request.method == 'POST':

            post = True

            dict_fields = {
                'username__icontains': 'username__icontains',
                'first_name__icontains': 'first_name__icontains',
                'last_name__icontains': 'last_name__icontains',
                'email__icontains': 'email__icontains',
                'config_perfis__icontains': 'config_perfis__icontains',
                'name__icontains': 'name__icontains', }

            for a in dict_fields:
                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:
                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':

                dict_fields = {
                    'username__icontains': 'username__icontains',
                    'first_name__icontains': 'first_name__icontains',
                    'last_name__icontains': 'last_name__icontains',
                    'email__icontains': 'email__icontains',
                    'config_perfis__icontains': 'config_perfis__icontains',
                    'name__icontains': 'name__icontains', }

                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)

        usuarios_lista = Usuarios.objects.filter(**dict_qs).exclude(id=0).all()

        if not post and len(usuarios_lista) > 100:

            filtrar = True
            usuarios_lista = None
            messages.warning(request, u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!')

        #[VARIAVEIS_LISTA_FILTRO_RELATORIO]
        #usuarios_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'usuarios_lista': usuarios_lista,
            'modulos': ['controle_de_acesso', ],
            'paginas': ['usuarios', ],
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'show_fields': show_fields,
            'filtrar': filtrar,
            #[VARIAVEIS_FILTRO_RELATORIO]
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='usuarios_listar.html',
                filename="usuarios.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={'margin-top': 10,
                             'margin-bottom': 10,
                             'margin-right': 10,
                             'margin-left': 10,
                             'zoom': 1,
                             'dpi': 72,
                             'orientation': 'Landscape',
                             "viewport-size": "1366 x 513",
                             'javascript-delay': 1000,
                             'footer-center': '[page]/[topage]',
                             "no-stop-slow-scripts": True}, )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response

            response = render_to_response('usuarios_listar.html', context)
            filename = "usuarios.xls"
            response['Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            from django.shortcuts import render_to_response

            response = render_to_response('csv/usuarios.csv', context)
            filename = "usuarios.csv"
            response['Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'

            return response

        else:

            return render(request, 'usuarios_listar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'data': datetime.datetime.now(),
            'modulos': ['controle_de_acesso', ],
            'paginas': ['usuarios', ],
        }

        return render(request,
            'permissao_negada.html',
            context)
Example #32
0
def listar(request, output=None):

    if request.user.has_perm('mensageiro.can_see_ImportacaoArquivosEventos'):

        filtrar = False

        dict_fields = {}
        show_fields = {
            'show_importacao_arquivos': 0,
            'show_arquivo': 1,
            'show_evento': 1,
            'show_versao': 0,
            'show_identidade_evento': 1,
            'show_identidade': 1,
            'show_status': 1,
            'show_data_hora': 1,
            'show_validacoes': 0,
        }

        post = False
        #ANTES-POST-LISTAGEM

        if request.method == 'POST':

            post = True

            dict_fields = {
                'arquivo__icontains': 'arquivo__icontains',
                'evento__icontains': 'evento__icontains',
                'versao__icontains': 'versao__icontains',
                'identidade_evento__icontains': 'identidade_evento__icontains',
                'status__icontains': 'status__icontains',
            }

            for a in dict_fields:
                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:
                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':

                dict_fields = {
                    'arquivo__icontains': 'arquivo__icontains',
                    'evento__icontains': 'evento__icontains',
                    'versao__icontains': 'versao__icontains',
                    'identidade_evento__icontains':
                    'identidade_evento__icontains',
                    'status__icontains': 'status__icontains',
                }

                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)

        importacao_arquivos_eventos_lista = ImportacaoArquivosEventos.objects.filter(
            **dict_qs).exclude(id=0).all()

        if not post and len(importacao_arquivos_eventos_lista) > 100:

            filtrar = True
            importacao_arquivos_eventos_lista = None
            messages.warning(
                request,
                u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        importacao_arquivos_lista = ImportacaoArquivos.objects.all()
        #importacao_arquivos_eventos_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'importacao_arquivos_eventos_lista':
            importacao_arquivos_eventos_lista,
            'modulos': [
                'mensageiro',
            ],
            'paginas': [
                'importacao_arquivos_eventos',
            ],
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'show_fields': show_fields,
            'filtrar': filtrar,
            'importacao_arquivos_lista': importacao_arquivos_lista,
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='importacao_arquivos_eventos_listar.html',
                filename="importacao_arquivos_eventos.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response

            response = render_to_response(
                'importacao_arquivos_eventos_listar.html', context)
            filename = "importacao_arquivos_eventos.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            from django.shortcuts import render_to_response

            response = render_to_response(
                'csv/importacao_arquivos_eventos.csv', context)
            filename = "importacao_arquivos_eventos.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'

            return response

        else:

            return render(request, 'importacao_arquivos_eventos_listar.html',
                          context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'data': datetime.datetime.now(),
            'modulos': [
                'mensageiro',
            ],
            'paginas': [
                'importacao_arquivos_eventos',
            ],
        }

        return render(request, 'permissao_negada.html', context)
Example #33
0
    def test_pdf_template_response(self, show_content=False):
        """Test PDFTemplateResponse."""

        context = {'title': 'Heading'}
        request = RequestFactory().get('/')
        response = PDFTemplateResponse(request=request,
                                       template=self.template,
                                       context=context,
                                       show_content_in_browser=show_content)
        self.assertEqual(response._request, request)
        self.assertEqual(response.template_name, self.template)
        self.assertEqual(response.context_data, context)
        self.assertEqual(response.filename, None)
        self.assertEqual(response.header_template, None)
        self.assertEqual(response.footer_template, None)
        self.assertEqual(response.cmd_options, {})
        self.assertFalse(response.has_header('Content-Disposition'))

        # Render to temporary file
        template = loader.get_template(self.template)
        tempfile = render_to_temporary_file(template, context=context)
        tempfile.seek(0)
        html_content = smart_str(tempfile.read())
        self.assertTrue(html_content.startswith('<html>'))
        self.assertTrue('<h1>{title}</h1>'.format(**context)
                        in html_content)

        pdf_content = response.rendered_content
        self.assertTrue(pdf_content.startswith(b'%PDF-'))
        self.assertTrue(pdf_content.endswith(b'%%EOF\n'))

        # Footer
        cmd_options = {'title': 'Test PDF'}
        response = PDFTemplateResponse(request=request,
                                       template=self.template,
                                       context=context,
                                       filename=self.pdf_filename,
                                       show_content_in_browser=show_content,
                                       footer_template=self.footer_template,
                                       cmd_options=cmd_options)
        self.assertEqual(response.filename, self.pdf_filename)
        self.assertEqual(response.header_template, None)
        self.assertEqual(response.footer_template, self.footer_template)
        self.assertEqual(response.cmd_options, cmd_options)
        self.assertTrue(response.has_header('Content-Disposition'))

        footer_template = loader.get_template(self.footer_template)
        tempfile = render_to_temporary_file(footer_template, context=context,
                                            request=request)
        tempfile.seek(0)
        footer_content = smart_str(tempfile.read())
        footer_content = make_absolute_paths(footer_content)

        media_url = 'file://{0}/'.format(settings.MEDIA_ROOT)
        self.assertTrue(media_url in footer_content, True)

        static_url = 'file://{0}/'.format(settings.STATIC_ROOT)
        self.assertTrue(static_url in footer_content, True)

        pdf_content = response.rendered_content
        title = '\0'.join(cmd_options['title'])
        self.assertIn(six.b(title), pdf_content)
Example #34
0
def listar(request, output=None):

    if request.user.has_perm('esocial.can_see_s1207evtBenPrRP'):

        filtrar = False
        dict_fields = {}
        show_fields = {
            'show_esocial': 0,
            'show_evtbenprrp': 0,
            'show_identidade': 1,
            'show_ideevento': 0,
            'show_indretif': 1,
            'show_nrrecibo': 0,
            'show_indapuracao': 1,
            'show_perapur': 0,
            'show_tpamb': 0,
            'show_procemi': 0,
            'show_verproc': 0,
            'show_ideempregador': 0,
            'show_tpinsc': 0,
            'show_nrinsc': 0,
            'show_idebenef': 0,
            'show_cpfbenef': 0,
            'show_versao': 0,
            'show_transmissor_lote_esocial': 0,
            'show_validacao_precedencia': 0,
            'show_validacoes': 0,
            'show_arquivo_original': 0,
            'show_arquivo': 0,
            'show_status': 1,
            'show_transmissor_lote_esocial_error': 0,
            'show_retorno_envio_json': 0,
            'show_retorno_consulta_json': 0,
            'show_evento_json': 0,
            'show_ocorrencias_json': 0,
        }

        post = False

        if request.method == 'POST':

            post = True
            dict_fields = {
                'esocial': 'esocial',
                'evtbenprrp': 'evtbenprrp',
                'identidade__icontains': 'identidade__icontains',
                'ideevento': 'ideevento',
                'indretif__icontains': 'indretif__icontains',
                'nrrecibo__icontains': 'nrrecibo__icontains',
                'indapuracao__icontains': 'indapuracao__icontains',
                'perapur__icontains': 'perapur__icontains',
                'tpamb__icontains': 'tpamb__icontains',
                'procemi__icontains': 'procemi__icontains',
                'verproc__icontains': 'verproc__icontains',
                'ideempregador': 'ideempregador',
                'tpinsc__icontains': 'tpinsc__icontains',
                'nrinsc__icontains': 'nrinsc__icontains',
                'idebenef': 'idebenef',
                'cpfbenef__icontains': 'cpfbenef__icontains',
                'versao__icontains': 'versao__icontains',
                'transmissor_lote_esocial__icontains':
                'transmissor_lote_esocial__icontains',
                'status__icontains': 'status__icontains',
            }

            for a in dict_fields:
                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:
                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':
                dict_fields = {
                    'esocial': 'esocial',
                    'evtbenprrp': 'evtbenprrp',
                    'identidade__icontains': 'identidade__icontains',
                    'ideevento': 'ideevento',
                    'indretif__icontains': 'indretif__icontains',
                    'nrrecibo__icontains': 'nrrecibo__icontains',
                    'indapuracao__icontains': 'indapuracao__icontains',
                    'perapur__icontains': 'perapur__icontains',
                    'tpamb__icontains': 'tpamb__icontains',
                    'procemi__icontains': 'procemi__icontains',
                    'verproc__icontains': 'verproc__icontains',
                    'ideempregador': 'ideempregador',
                    'tpinsc__icontains': 'tpinsc__icontains',
                    'nrinsc__icontains': 'nrinsc__icontains',
                    'idebenef': 'idebenef',
                    'cpfbenef__icontains': 'cpfbenef__icontains',
                    'versao__icontains': 'versao__icontains',
                    'transmissor_lote_esocial__icontains':
                    'transmissor_lote_esocial__icontains',
                    'status__icontains': 'status__icontains',
                }
                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)
        s1207_evtbenprrp_lista = s1207evtBenPrRP.objects.filter(
            **dict_qs).filter().exclude(id=0).all()

        if not post and len(s1207_evtbenprrp_lista) > 100:
            filtrar = True
            s1207_evtbenprrp_lista = None
            messages.warning(
                request,
                u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        transmissor_lote_esocial_lista = TransmissorLoteEsocial.objects.all()
        transmissor_lote_esocial_error_lista = TransmissorLoteEsocial.objects.all(
        )
        #s1207_evtbenprrp_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario':
            Usuarios.objects.get(user_id=request.user.id),
            'output':
            output,
            's1207_evtbenprrp_lista':
            s1207_evtbenprrp_lista,
            'dict_fields':
            dict_fields,
            'data':
            datetime.datetime.now(),
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's1207_evtbenprrp',
            ],
            'show_fields':
            show_fields,
            'filtrar':
            filtrar,
            'transmissor_lote_esocial_lista':
            transmissor_lote_esocial_lista,
            'transmissor_lote_esocial_error_lista':
            transmissor_lote_esocial_error_lista,
        }

        if output == 'pdf':

            from emensageriapro.functions import render_to_pdf
            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='s1207_evtbenprrp_listar.html',
                filename="s1207_evtbenprrp.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    'viewport-size': "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response

        elif output == 'xls':

            response = render_to_response('s1207_evtbenprrp_listar.html',
                                          context)
            filename = "s1207_evtbenprrp.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            response = render_to_response('csv/s1207_evtbenprrp.csv', context)
            filename = "s1207_evtbenprrp.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'

            return response

        else:

            return render(request, 's1207_evtbenprrp_listar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'data': datetime.datetime.now(),
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's1207_evtbenprrp',
            ],
        }
        return render(request, 'permissao_negada.html', context)
Example #35
0
def listar(request, output=None):

    if request.user.has_perm('mensageiro.can_see_RegrasDeValidacao'):

        filtrar = False

        dict_fields = {}
        show_fields = {
            'show_evento': 1,
            'show_versao': 1,
            'show_numero': 1,
            'show_registro_campo': 1,
            'show_registro_pai': 1,
            'show_elemento': 0,
            'show_tipo': 0,
            'show_ocorrencias': 0,
            'show_tamanho': 0,
            'show_casas_decimais': 0,
            'show_obrigatorio': 0,
            'show_descricao': 0,
            'show_tabela': 0,
            'show_valores_validos': 0,
            'show_validacoes_precedencia': 0,
            'show_validacoes': 0, }

        post = False
        #ANTES-POST-LISTAGEM

        if request.method == 'POST':

            post = True

            dict_fields = {
                'evento__icontains': 'evento__icontains',
                'versao__icontains': 'versao__icontains',
                'numero__icontains': 'numero__icontains',
                'registro_campo__icontains': 'registro_campo__icontains',
                'registro_pai__icontains': 'registro_pai__icontains', }

            for a in dict_fields:
                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:
                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':

                dict_fields = {
                    'evento__icontains': 'evento__icontains',
                    'versao__icontains': 'versao__icontains',
                    'numero__icontains': 'numero__icontains',
                    'registro_campo__icontains': 'registro_campo__icontains',
                    'registro_pai__icontains': 'registro_pai__icontains', }

                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)

        regras_validacao_lista = RegrasDeValidacao.objects.filter(**dict_qs).exclude(id=0).all()

        if not post and len(regras_validacao_lista) > 100:

            filtrar = True
            regras_validacao_lista = None
            messages.warning(request, u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!')

        #[VARIAVEIS_LISTA_FILTRO_RELATORIO]
        #regras_validacao_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'regras_validacao_lista': regras_validacao_lista,
            'modulos': ['mensageiro', ],
            'paginas': ['regras_validacao', ],
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'show_fields': show_fields,
            'filtrar': filtrar,
            #[VARIAVEIS_FILTRO_RELATORIO]
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='regras_validacao_listar.html',
                filename="regras_validacao.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={'margin-top': 10,
                             'margin-bottom': 10,
                             'margin-right': 10,
                             'margin-left': 10,
                             'zoom': 1,
                             'dpi': 72,
                             'orientation': 'Landscape',
                             "viewport-size": "1366 x 513",
                             'javascript-delay': 1000,
                             'footer-center': '[page]/[topage]',
                             "no-stop-slow-scripts": True}, )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response

            response = render_to_response('regras_validacao_listar.html', context)
            filename = "regras_validacao.xls"
            response['Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            from django.shortcuts import render_to_response

            response = render_to_response('csv/regras_validacao.csv', context)
            filename = "regras_validacao.csv"
            response['Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'

            return response

        else:

            return render(request, 'regras_validacao_listar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'data': datetime.datetime.now(),
            'modulos': ['mensageiro', ],
            'paginas': ['regras_validacao', ],
        }

        return render(request,
            'permissao_negada.html',
            context)
Example #36
0
def listar(request, output=None):

    if request.user.has_perm('r1000.can_see_r1000alteracao'):

        filtrar = False

        dict_fields = {}
        show_fields = {
            'show_r1000_evtinfocontri': 1,
            'show_ideperiodo': 0,
            'show_inivalid': 1,
            'show_fimvalid': 0,
            'show_infocadastro': 0,
            'show_classtrib': 1,
            'show_indescrituracao': 0,
            'show_inddesoneracao': 0,
            'show_indacordoisenmulta': 0,
            'show_indsitpj': 0,
            'show_contato': 0,
            'show_nmctt': 0,
            'show_cpfctt': 0,
            'show_fonefixo': 0,
            'show_fonecel': 0,
            'show_email': 0,
        }

        post = False

        if request.method == 'POST':

            post = True
            dict_fields = {
                'r1000_evtinfocontri__icontains':
                'r1000_evtinfocontri__icontains',
                'ideperiodo': 'ideperiodo',
                'inivalid__icontains': 'inivalid__icontains',
                'fimvalid__icontains': 'fimvalid__icontains',
                'infocadastro': 'infocadastro',
                'classtrib__icontains': 'classtrib__icontains',
                'indescrituracao__icontains': 'indescrituracao__icontains',
                'inddesoneracao__icontains': 'inddesoneracao__icontains',
                'indacordoisenmulta__icontains':
                'indacordoisenmulta__icontains',
                'indsitpj__icontains': 'indsitpj__icontains',
                'contato': 'contato',
                'nmctt__icontains': 'nmctt__icontains',
                'cpfctt__icontains': 'cpfctt__icontains',
                'fonefixo__icontains': 'fonefixo__icontains',
                'fonecel__icontains': 'fonecel__icontains',
                'email__icontains': 'email__icontains',
            }

            for a in dict_fields:

                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:

                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':

                dict_fields = {
                    'r1000_evtinfocontri__icontains':
                    'r1000_evtinfocontri__icontains',
                    'ideperiodo': 'ideperiodo',
                    'inivalid__icontains': 'inivalid__icontains',
                    'fimvalid__icontains': 'fimvalid__icontains',
                    'infocadastro': 'infocadastro',
                    'classtrib__icontains': 'classtrib__icontains',
                    'indescrituracao__icontains': 'indescrituracao__icontains',
                    'inddesoneracao__icontains': 'inddesoneracao__icontains',
                    'indacordoisenmulta__icontains':
                    'indacordoisenmulta__icontains',
                    'indsitpj__icontains': 'indsitpj__icontains',
                    'contato': 'contato',
                    'nmctt__icontains': 'nmctt__icontains',
                    'cpfctt__icontains': 'cpfctt__icontains',
                    'fonefixo__icontains': 'fonefixo__icontains',
                    'fonecel__icontains': 'fonecel__icontains',
                    'email__icontains': 'email__icontains',
                }

                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)
        r1000_alteracao_lista = r1000alteracao.objects.filter(
            **dict_qs).filter().exclude(id=0).all()

        if not post and len(r1000_alteracao_lista) > 100:

            filtrar = True
            r1000_alteracao_lista = None
            messages.warning(
                request,
                u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        #[VARIAVEIS_LISTA_FILTRO_RELATORIO]
        #r1000_alteracao_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'r1000_alteracao_lista': r1000_alteracao_lista,
            'modulos': [
                'r1000',
            ],
            'paginas': [
                'r1000_alteracao',
            ],
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'show_fields': show_fields,
            'filtrar': filtrar,
            #[VARIAVEIS_FILTRO_RELATORIO]
        }

        if output == 'pdf':

            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='r1000_alteracao_listar.html',
                filename="r1000_alteracao.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    "viewport-size": "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )

            return response

        elif output == 'xls':

            from django.shortcuts import render_to_response
            response = render_to_response('r1000_alteracao_listar.html',
                                          context)
            filename = "r1000_alteracao.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'
            return response

        elif output == 'csv':

            from django.shortcuts import render_to_response
            response = render_to_response('csv/r1000_alteracao.csv', context)
            filename = "r1000_alteracao.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'
            return response

        else:

            return render(request, 'r1000_alteracao_listar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            'data': datetime.datetime.now(),
            'modulos': [
                'r1000',
            ],
            'paginas': [
                'r1000_alteracao',
            ],
        }

        return render(request, 'permissao_negada.html', context)
Example #37
0
def listar(request, output=None):

    if request.user.has_perm('esocial.can_see_s2260evtConvInterm'):

        filtrar = False
        dict_fields = {}
        show_fields = {
            'show_esocial': 0,
            'show_evtconvinterm': 0,
            'show_identidade': 1,
            'show_ideevento': 0,
            'show_indretif': 1,
            'show_nrrecibo': 0,
            'show_tpamb': 0,
            'show_procemi': 0,
            'show_verproc': 0,
            'show_ideempregador': 0,
            'show_tpinsc': 1,
            'show_nrinsc': 0,
            'show_idevinculo': 0,
            'show_cpftrab': 0,
            'show_nistrab': 0,
            'show_matricula': 0,
            'show_infoconvinterm': 0,
            'show_codconv': 0,
            'show_dtinicio': 0,
            'show_dtfim': 0,
            'show_dtprevpgto': 0,
            'show_jornada': 0,
            'show_codhorcontrat': 0,
            'show_dscjornada': 0,
            'show_localtrab': 0,
            'show_indlocal': 0,
            'show_versao': 0,
            'show_transmissor_lote_esocial': 0,
            'show_retornos_eventos': 0,
            'show_ocorrencias': 0,
            'show_validacao_precedencia': 0,
            'show_validacoes': 0,
            'show_arquivo_original': 0,
            'show_arquivo': 0,
            'show_status': 1,
            'show_transmissor_lote_esocial_error': 0,
        }

        post = False

        if request.method == 'POST':

            post = True
            dict_fields = {
                'esocial': 'esocial',
                'evtconvinterm': 'evtconvinterm',
                'identidade__icontains': 'identidade__icontains',
                'ideevento': 'ideevento',
                'indretif__icontains': 'indretif__icontains',
                'nrrecibo__icontains': 'nrrecibo__icontains',
                'tpamb__icontains': 'tpamb__icontains',
                'procemi__icontains': 'procemi__icontains',
                'verproc__icontains': 'verproc__icontains',
                'ideempregador': 'ideempregador',
                'tpinsc__icontains': 'tpinsc__icontains',
                'nrinsc__icontains': 'nrinsc__icontains',
                'idevinculo': 'idevinculo',
                'cpftrab__icontains': 'cpftrab__icontains',
                'nistrab__icontains': 'nistrab__icontains',
                'matricula__icontains': 'matricula__icontains',
                'infoconvinterm': 'infoconvinterm',
                'codconv__icontains': 'codconv__icontains',
                'dtinicio__range': 'dtinicio__range',
                'dtfim__range': 'dtfim__range',
                'dtprevpgto__range': 'dtprevpgto__range',
                'jornada': 'jornada',
                'codhorcontrat__icontains': 'codhorcontrat__icontains',
                'dscjornada__icontains': 'dscjornada__icontains',
                'localtrab': 'localtrab',
                'indlocal__icontains': 'indlocal__icontains',
                'versao__icontains': 'versao__icontains',
                'transmissor_lote_esocial__icontains':
                'transmissor_lote_esocial__icontains',
                'status__icontains': 'status__icontains',
            }

            for a in dict_fields:
                dict_fields[a] = request.POST.get(a or None)

            for a in show_fields:
                show_fields[a] = request.POST.get(a or None)

            if request.method == 'POST':
                dict_fields = {
                    'esocial': 'esocial',
                    'evtconvinterm': 'evtconvinterm',
                    'identidade__icontains': 'identidade__icontains',
                    'ideevento': 'ideevento',
                    'indretif__icontains': 'indretif__icontains',
                    'nrrecibo__icontains': 'nrrecibo__icontains',
                    'tpamb__icontains': 'tpamb__icontains',
                    'procemi__icontains': 'procemi__icontains',
                    'verproc__icontains': 'verproc__icontains',
                    'ideempregador': 'ideempregador',
                    'tpinsc__icontains': 'tpinsc__icontains',
                    'nrinsc__icontains': 'nrinsc__icontains',
                    'idevinculo': 'idevinculo',
                    'cpftrab__icontains': 'cpftrab__icontains',
                    'nistrab__icontains': 'nistrab__icontains',
                    'matricula__icontains': 'matricula__icontains',
                    'infoconvinterm': 'infoconvinterm',
                    'codconv__icontains': 'codconv__icontains',
                    'dtinicio__range': 'dtinicio__range',
                    'dtfim__range': 'dtfim__range',
                    'dtprevpgto__range': 'dtprevpgto__range',
                    'jornada': 'jornada',
                    'codhorcontrat__icontains': 'codhorcontrat__icontains',
                    'dscjornada__icontains': 'dscjornada__icontains',
                    'localtrab': 'localtrab',
                    'indlocal__icontains': 'indlocal__icontains',
                    'versao__icontains': 'versao__icontains',
                    'transmissor_lote_esocial__icontains':
                    'transmissor_lote_esocial__icontains',
                    'status__icontains': 'status__icontains',
                }
                for a in dict_fields:
                    dict_fields[a] = request.POST.get(dict_fields[a] or None)

        dict_qs = clear_dict_fields(dict_fields)
        s2260_evtconvinterm_lista = s2260evtConvInterm.objects.filter(
            **dict_qs).filter().exclude(id=0).all()

        if not post and len(s2260_evtconvinterm_lista) > 100:
            filtrar = True
            s2260_evtconvinterm_lista = None
            messages.warning(
                request,
                u'Listagem com mais de 100 resultados! Filtre os resultados um melhor desempenho!'
            )

        #[VARIAVEIS_LISTA_FILTRO_RELATORIO]
        #s2260_evtconvinterm_listar_custom

        request.session['return'] = request.META.get('HTTP_REFERER')

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'output': output,
            's2260_evtconvinterm_lista': s2260_evtconvinterm_lista,
            'dict_fields': dict_fields,
            'data': datetime.datetime.now(),
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's2260_evtconvinterm',
            ],
            'show_fields': show_fields,
            'filtrar': filtrar,
            #[VARIAVEIS_FILTRO_RELATORIO]
        }

        if output == 'pdf':

            from emensageriapro.functions import render_to_pdf
            from wkhtmltopdf.views import PDFTemplateResponse

            response = PDFTemplateResponse(
                request=request,
                template='s2260_evtconvinterm_listar.html',
                filename="s2260_evtconvinterm.pdf",
                context=context,
                show_content_in_browser=True,
                cmd_options={
                    'margin-top': 10,
                    'margin-bottom': 10,
                    'margin-right': 10,
                    'margin-left': 10,
                    'zoom': 1,
                    'dpi': 72,
                    'orientation': 'Landscape',
                    'viewport-size': "1366 x 513",
                    'javascript-delay': 1000,
                    'footer-center': '[page]/[topage]',
                    "no-stop-slow-scripts": True
                },
            )
            return response

        elif output == 'xls':

            response = render_to_response('s2260_evtconvinterm_listar.html',
                                          context)
            filename = "s2260_evtconvinterm.xls"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response[
                'Content-Type'] = 'application/vnd.ms-excel; charset=UTF-8'

            return response

        elif output == 'csv':

            response = render_to_response('csv/s2260_evtconvinterm.csv',
                                          context)
            filename = "s2260_evtconvinterm.csv"
            response[
                'Content-Disposition'] = 'attachment; filename=' + filename
            response['Content-Type'] = 'text/csv; charset=UTF-8'

            return response

        else:

            return render(request, 's2260_evtconvinterm_listar.html', context)

    else:

        context = {
            'usuario': Usuarios.objects.get(user_id=request.user.id),
            'data': datetime.datetime.now(),
            'modulos': [
                'esocial',
            ],
            'paginas': [
                's2260_evtconvinterm',
            ],
        }
        return render(request, 'permissao_negada.html', context)