Example #1
0
    def test_falla_dict_agente_asterisk(self):
        """
        este test testea el diccionario de la family del agente
        """
        servicio = AgenteFamily()
        dict_agente = servicio._create_dict(self.agente)

        self.assertNotIn('PASS', dict_agente.keys())
Example #2
0
    def test_devuelve_correctamente_dict_agente_asterisk(self):
        """
        este test testea el diccionario de la family del agente
        """
        servicio = AgenteFamily()
        dict_agente = servicio._create_dict(self.agente)

        self.assertEqual(['NAME', 'SIP', 'STATUS'], list(dict_agente.keys()))
Example #3
0
    def test_devuelve_correctamente_values_agente_asterisk(self):
        """
        este test testea los values del diccionario de la family del agente
        """
        servicio = AgenteFamily()
        dict_agente = servicio._create_dict(self.agente)

        self.assertEqual(dict_agente['NAME'], self.agente.user.get_full_name())
        self.assertEqual(dict_agente['SIP'], self.agente.sip_extension)
        self.assertEqual(dict_agente['STATUS'], "")
Example #4
0
class ActivacionAgenteService(object):
    """Este servicio regenera y recarga los archivos de configuracion para los agentes"""
    def __init__(self):
        self.sip_config_creator = SipConfigCreator()
        self.reload_asterisk_config = AsteriskConfigReloader()
        self.asterisk_database = AgenteFamily()

    def _generar_y_recargar_configuracion_asterisk(self,
                                                   regenerar_families=True,
                                                   agente=None,
                                                   preservar_status=False):
        proceso_ok = True
        mensaje_error = ""

        try:
            self.sip_config_creator.create_config_sip()
        except Exception as e:
            msg = _("Error {0}: ActivacionAgenteService: error al ".format(e) +
                    "intentar create_config_sip()")
            logger.exception(msg)

            proceso_ok = False
            mensaje_error += _("Hubo un inconveniente al crear el archivo de "
                               "configuracion del config sip de Asterisk. ")

        if not proceso_ok:
            raise (RestablecerConfigSipError(mensaje_error))
        else:
            self.reload_asterisk_config.reload_asterisk()
            if regenerar_families:
                if agente is None:
                    self.asterisk_database.regenerar_families()
                else:
                    self.asterisk_database.regenerar_family(
                        agente, preservar_status=preservar_status)

    def activar(self, regenerar_families=True):
        self._generar_y_recargar_configuracion_asterisk(
            regenerar_families=regenerar_families)

    def activar_agente(self, agente, preservar_status=False):
        self._generar_y_recargar_configuracion_asterisk(
            regenerar_families=True,
            agente=agente,
            preservar_status=preservar_status)
 def _get_family(self, agente_profile):
     agente_family = AgenteFamily()
     return agente_family._get_nombre_family(agente_profile)
Example #6
0
 def __init__(self):
     self.sip_config_creator = SipConfigCreator()
     self.reload_asterisk_config = AsteriskConfigReloader()
     self.asterisk_database = AgenteFamily()
 def get(self, request, *args, **kwargs):
     agente = AgenteProfile.objects.get(pk=self.kwargs['pk_agente'])
     agente.activar()
     agente_family = AgenteFamily()
     agente_family.regenerar_family(agente)
     return HttpResponseRedirect(reverse('agente_list', kwargs={"page": 1}))