Example #1
0
    def test_devuelve_correctamente_calificados(self):
        """
        este test testea todos los resultados las cantidad de los
        contactdos chequeando que devuelva correctamente
        """

        contactos = self.campana.bd_contacto.contactos.all()
        opciones_calificacion = self.campana.opciones_calificacion.all()

        for contacto in contactos:
            opcion_calificacion = random.choice(opciones_calificacion)
            self.crear_calificacion_cliente(self.agente, contacto,
                                            opcion_calificacion)

        estadisticas = EstadisticasContactacion()
        calificados = estadisticas.obtener_cantidad_calificacion(self.campana)

        calificaciones_query = self.campana.obtener_calificaciones().values(
            'opcion_calificacion__nombre', 'opcion_calificacion__id').annotate(
                Count('opcion_calificacion')).filter(
                    opcion_calificacion__count__gt=0).order_by()

        contactados_dict = {}
        for contactado in calificados:
            contactados_dict.update({contactado.id: contactado.cantidad})
        for contactacion in calificaciones_query:
            self.assertEquals(
                contactacion['opcion_calificacion__count'],
                contactados_dict[contactacion['opcion_calificacion__id']])
Example #2
0
    def get_form_kwargs(self):
        kwargs = super(ReciclarCampanaDialerFormView, self).get_form_kwargs()
        estadisticas = EstadisticasContactacion()
        campana = Campana.objects.get(pk=self.kwargs['pk_campana'])

        contactados = estadisticas.obtener_cantidad_calificacion(campana)
        contactados_choice = [(contactacion.id, contactacion.label_checkbox)
                              for contactacion in contactados]
        no_contactados = estadisticas.obtener_cantidad_no_contactados(campana)
        no_contactados_choice = [(value.id, value.label_checkbox)
                                 for key, value in no_contactados.items()]
        kwargs['reciclado_choice'] = contactados_choice
        kwargs['no_contactados_choice'] = no_contactados_choice
        return kwargs
Example #3
0
 def get_context_data(self, **kwargs):
     context = super(ReciclarCampanaMixin, self).get_context_data(**kwargs)
     estadisticas = EstadisticasContactacion()
     campana = Campana.objects.get(pk=self.kwargs['pk_campana'])
     contactados = estadisticas.obtener_cantidad_calificacion(campana)
     contactados_choice = [(contactacion.id, contactacion.nombre,
                            contactacion.cantidad)
                           for contactacion in contactados]
     no_contactados = estadisticas.obtener_cantidad_no_contactados(campana)
     no_contactados_choice = [(value.id, value.nombre, value.cantidad)
                              for key, value in no_contactados.items()]
     context['contactados'] = contactados_choice
     context['no_contactados'] = no_contactados_choice
     return context