Beispiel #1
0
    def get_initial_queryset(self):
        """!
        Consulta el modelo Intercambio

        @return: Objeto de la consulta
        """
        # return queryset used as base for futher sorting/filtering
        # these are simply objects displayed in datatable
        # You should not filter data returned here by any filter values entered by Intercambio. This is because
        # we need some base queryset to count total number of records.
        tipo_doc = self.kwargs['dte']
        self.model, url = validarModelPorDoc(tipo_doc)
        if self.request.GET.get(u'sistema', None) == 'True':
            return self.model.objects.filter(compania=self.kwargs['pk'],
                                             track_id=None)
        return self.model.objects.filter(compania=self.kwargs['pk']).exclude(
            track_id=None)
Beispiel #2
0
 def dispatch(self, request, *args, **kwargs):
     num_factura = self.kwargs['slug']
     compania = self.kwargs['pk']
     tipo_doc = self.kwargs['doc']
     if tipo_doc in LIST_DOC:
         self.model = validarModelPorDoc(tipo_doc) 
         try:
             factura = self.model.objects.select_related().get(numero_factura=num_factura, compania=compania)
             return super().dispatch(request, *args, **kwargs)
         except Exception as e:
             factura = self.model.objects.select_related().filter(numero_factura=num_factura, compania=compania)
             if len(factura) > 1:
                 messages.error(self.request, 'Existe mas de un registro con el mismo numero de factura: {0}'.format(num_factura))
                 return redirect(reverse_lazy('facturas:lista-enviadas', kwargs={'pk': compania}))
             else:
                 messages.error(self.request, "No se encuentra registrada esta factura: {0}".format(str(num_factura)))
                 return redirect(reverse_lazy('facturas:lista-enviadas', kwargs={'pk': compania}))
     else:
         messages.error(self.request, "No existe este tipo de documento: {0}".format(str(tipo_doc)))
         return redirect(reverse_lazy('facturas:lista-enviadas', kwargs={'pk': compania}))
Beispiel #3
0
 def dispatch(self, request, *args, **kwargs):
     num_factura = self.kwargs['slug']
     compania = self.kwargs['pk']
     tipo_doc = self.kwargs['doc']
     impre_cont = request.GET.get('impre')
     self.model, url_model = validarModelPorDoc(tipo_doc)
     if impre_cont == 'cont':
         self.template_name = "pdf/impresion.continua.pdf.html"
     if tipo_doc in LIST_DOC:
         try:
             factura = self.model.objects.select_related().get(
                 numero_factura=num_factura, compania=compania)
             return super().dispatch(request, *args, **kwargs)
         except Exception as e:
             print(e)
             factura = self.model.objects.select_related().filter(
                 numero_factura=num_factura, compania=compania)
             if len(factura) > 1:
                 messages.error(
                     self.request,
                     'Existe mas de un registro con el mismo numero de factura: {0}'
                     .format(num_factura))
                 return redirect(
                     reverse_lazy(url_model + 'lista-enviadas',
                                  kwargs={'pk': compania}))
             else:
                 messages.error(
                     self.request,
                     "No se encuentra registrada esta factura: {0}".format(
                         str(num_factura)))
                 return redirect(
                     reverse_lazy(url_model + 'lista-enviadas',
                                  kwargs={'pk': compania}))
     else:
         messages.error(
             self.request,
             "No existe este tipo de documento: {0}".format(str(tipo_doc)))
         return redirect(
             reverse_lazy(url_model + 'lista-enviadas',
                          kwargs={'pk': compania}))
Beispiel #4
0
    def prepare_results(self, qs):
        """!
        Prepara la data para mostrar en el datatable
        @return: Objeto json con los datos del DTE
        """
        # prepare list with output column data
        tipo_doc = self.kwargs['dte']
        self.model, url_model = validarModelPorDoc(tipo_doc)
        json_data = []
        for item in qs:
            if self.request.GET.get(u'sistema', None) == 'True':
                url = str(
                    reverse_lazy('base:send_sii',
                                 kwargs={
                                     'pk': item.pk,
                                     'dte': self.kwargs['dte']
                                 }))
                boton_enviar_sii = '<a href="#" onclick=send_to_sii("' + url + '")\
                                    class="btn btn-success">Enviar al Sii</a> '

                url_eliminar = str(
                    reverse_lazy(url_model + 'eliminar_dte',
                                 kwargs={'pk': item.pk}))
                boton_eliminar = "<a data-toggle='modal' data-target='#myModal' \
                    class='btn btn-danger' \
                    onclick=eliminar_dte('" + url_eliminar + "')>Eliminar</a>\
                     "

                boton_editar = '<a href="{0}" \
                                    class="btn btn-info">Editar</a> '.format(
                    reverse_lazy(url_model + 'actualizar',
                                 kwargs={
                                     'pk': item.pk,
                                     'comp': self.kwargs['pk']
                                 }))
                botones_acciones = boton_enviar_sii + boton_editar + boton_eliminar
            else:
                boton_estado = '<a href="{0}"\
                                class="btn btn-success">Ver Estado</a> '.format(
                    reverse_lazy('notaCredito:ver_estado_nc',
                                 kwargs={
                                     'pk': self.kwargs['pk'],
                                     'slug': item.numero_factura
                                 }))
                boton_imprimir_doc = '<a  id="edit_foo" href="{0}"\
                                     target="_blank" class="btn btn-info">Imprimir</a> '.format(
                    reverse_lazy('base:imprimir_factura',
                                 kwargs={
                                     'pk': self.kwargs['pk'],
                                     'slug': item.numero_factura,
                                     'doc': tipo_doc
                                 }))
                boton_imprimir_con = '<a  id="edit_foo" href="{0}?impre=cont"\
                                     target="_blank" class="btn btn-warning">Impresion continua</a>'.format(
                    reverse_lazy('base:imprimir_factura',
                                 kwargs={
                                     'pk': self.kwargs['pk'],
                                     'slug': item.numero_factura,
                                     'doc': tipo_doc
                                 }))
                botones_acciones = boton_estado + boton_imprimir_doc + boton_imprimir_con
            json_data.append([
                item.numero_factura, item.compania.razon_social, item.n_folio,
                botones_acciones
            ])
        return json_data