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)
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}))
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}))
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