Beispiel #1
0
    def get(self, request, *args, **kwargs):
        # Indicamos el tipo de contenido a devolver, en este caso un pdf
        campana = Campana.objects.get(pk=self.kwargs['pk_campana'])
        service = EstadisticasService()
        hoy_ahora = datetime.datetime.today()
        hoy = hoy_ahora.date()
        # hoy = datetime.date(2015, 1, 1)
        estadisticas = service.general_campana(campana, hoy, hoy_ahora)
        response = HttpResponse(content_type='application/pdf')
        buffer = BytesIO()
        # Canvas nos permite hacer el reporte con coordenadas X y Y
        pdf = canvas.Canvas(buffer)
        self.cabecera(pdf, campana)
        self.tabla_calificacion(pdf, estadisticas['dict_campana_counter'],
                                estadisticas['total_asignados'])
        self.tabla_no_atendidos(pdf, estadisticas['dict_no_atendido_counter'],
                                estadisticas['total_no_atendidos'])

        pdf.showPage()
        self.tabla_agente(pdf, estadisticas['agentes_venta'],
                          estadisticas['calificaciones'])
        pdf.showPage()
        pdf.save()
        pdf = buffer.getvalue()
        buffer.close()
        response.write(pdf)
        return response
 def form_valid(self, form):
     fecha = form.cleaned_data.get('fecha')
     fecha_desde, fecha_hasta = fecha.split('-')
     fecha_desde = convert_fecha_datetime(fecha_desde)
     fecha_hasta = convert_fecha_datetime(fecha_hasta)
     fecha_desde = datetime.datetime.combine(fecha_desde, datetime.time.min)
     fecha_hasta = datetime.datetime.combine(fecha_hasta, datetime.time.max)
     # generar el reporte grafico de acuerdo al periodo de fecha seleccionado
     service = EstadisticasService(self.get_object(), fecha_desde,
                                   fecha_hasta)
     graficos_estadisticas = service.general_campana()
     # genera el reporte pdf de la campana
     service_pdf = ReporteCampanaPDFService()
     service_pdf.crea_reporte_pdf(self.get_object(), graficos_estadisticas)
     return self.render_to_response(
         self.get_context_data(graficos_estadisticas=graficos_estadisticas,
                               pk_campana=self.kwargs['pk_campana']))
 def get(self, request, *args, **kwargs):
     campana = self.get_object()
     if not campana:
         messages.warning(self.request,
                          _(u"Usted no puede acceder a esta campaña."))
         return redirect('index')
     hoy_ahora = fecha_hora_local(timezone.now())
     hoy = hoy_ahora.date()
     fecha_desde = datetime.datetime.combine(hoy, datetime.time.min)
     fecha_hasta = datetime.datetime.combine(hoy_ahora, datetime.time.max)
     service = EstadisticasService(campana, fecha_desde, fecha_hasta)
     # genera los reportes grafico de la campana
     graficos_estadisticas = service.general_campana()
     # generar el reporte pdf
     service_pdf = ReporteCampanaPDFService()
     service_pdf.crea_reporte_pdf(campana, graficos_estadisticas)
     return self.render_to_response(
         self.get_context_data(graficos_estadisticas=graficos_estadisticas,
                               pk_campana=self.kwargs['pk_campana']))
Beispiel #4
0
 def get(self, request, *args, **kwargs):
     campana = self.get_object()
     if not campana:
         messages.warning(self.request,
                          _(u"Usted no puede acceder a esta campaña."))
         return redirect('index')
     service = EstadisticasService()
     hoy_ahora = fecha_hora_local(timezone.now())
     hoy = hoy_ahora.date()
     # genera reporte de llamadas contactados
     calificados_csv = ReporteCampanaContactadosCSV()
     calificados_csv.crea_reporte_csv(campana, hoy, hoy_ahora)
     # genera los reportes grafico de la campana
     graficos_estadisticas = service.general_campana(
         campana, hoy, hoy_ahora)
     # generar el reporte pdf
     service_pdf = ReporteCampanaPDFService()
     service_pdf.crea_reporte_pdf(campana, graficos_estadisticas)
     return self.render_to_response(
         self.get_context_data(graficos_estadisticas=graficos_estadisticas,
                               pk_campana=self.kwargs['pk_campana']))