def get_context_data(self, **kwargs): context = super(ConsolaAgenteView, self).get_context_data(**kwargs) campanas_preview_activas = [] usuario_agente = self.request.user agente_profile = usuario_agente.get_agente_profile() kamailio_service = KamailioService() sip_usuario = kamailio_service.generar_sip_user( agente_profile.sip_extension) sip_password = kamailio_service.generar_sip_password(sip_usuario) hoy = fecha_local(now()) registros = LlamadaLog.objects.obtener_llamadas_finalizadas_del_dia( agente_profile.id, hoy) campanas_preview_activas = \ agente_profile.has_campanas_preview_activas_miembro() context['pausas'] = Pausa.objects.activas context['registros'] = registros context['tipos_salientes'] = LlamadaLog.TIPOS_LLAMADAS_SALIENTES context['campanas_preview_activas'] = campanas_preview_activas context['agente_profile'] = agente_profile context['sip_usuario'] = sip_usuario context['sip_password'] = sip_password context['agentes'] = AgenteProfile.objects.obtener_activos().exclude( id=agente_profile.id) context['max_session_age'] = settings.SESSION_COOKIE_AGE return context
def get_context_data(self, **kwargs): context = super(SupervisionAgentesView, self).get_context_data(**kwargs) supervisor = self.request.user.get_supervisor_profile() kamailio_service = KamailioService() sip_usuario = kamailio_service.generar_sip_user( supervisor.sip_extension) sip_password = kamailio_service.generar_sip_password(sip_usuario) if self.request.user.get_is_administrador(): campanas = Campana.objects.obtener_all_dialplan_asterisk() grupo = Grupo.objects.all() else: campanas = supervisor.campanas_asignadas_actuales_no_finalizadas() ids_agentes = list(campanas.values_list( 'queue_campana__members__pk', flat=True).distinct()) id_grupo = AgenteProfile.objects.filter(id__in=ids_agentes).values_list( 'grupo_id', flat=True).distinct() grupo = Grupo.objects.filter(id__in=id_grupo).values_list( 'nombre', flat=True) context['campanas'] = campanas context['grupo'] = grupo context['sip_usuario'] = sip_usuario context['sip_password'] = sip_password RedisGearsService().registra_stream_supervisor(supervisor.id) return context
def supervision_url_externa(request): """Vista que redirect a la supervision externa de marce""" user = request.user # TODO: Simon abarque el supervisor administrador del sistema pueda ver la supervision # hasta que este resuelto el tema de perfiles de supervisor por la tarjeta 652 # que no permitia que un usuario administrador del sistema vea la sueprvision if user.get_es_administrador_o_supervisor_normal() or user.get_is_supervisor_customer(): supervisor = user.get_supervisor_profile() sip_extension = supervisor.sip_extension kamailio_service = KamailioService() timestamp = int(kamailio_service.generar_sip_timestamp()) sip_usuario = kamailio_service.generar_sip_user(sip_extension, timestamp) supervisor.timestamp = timestamp supervisor.sip_password = kamailio_service.generar_sip_password(sip_usuario) supervisor.save() url = settings.OML_SUPERVISION_URL + str(supervisor.pk) if supervisor.is_administrador: # TODO: Con los nuevos permisos nunca se puede dar este caso # Discutir si este caso de uso queda descartado url += "&es_admin=t" else: url += "&es_admin=f" return redirect(url) message = _("Supervision: Funcion valida para usuario tipo supervisor!!!") messages.warning(request, message) return HttpResponseRedirect(reverse('index'))
def get_context_data(self, **kwargs): context = super(SupervisionAgentesView, self).get_context_data(**kwargs) supervisor = self.request.user.get_supervisor_profile() kamailio_service = KamailioService() sip_usuario = kamailio_service.generar_sip_user( supervisor.sip_extension) sip_password = kamailio_service.generar_sip_password(sip_usuario) context['sip_usuario'] = sip_usuario context['sip_password'] = sip_password return context
def get(self, request): usuario_agente = request.user agente_profile = usuario_agente.get_agente_profile() kamailio_service = KamailioService() sip_user = kamailio_service.generar_sip_user(agente_profile.sip_extension) sip_password = kamailio_service.generar_sip_password(sip_user) if sip_password is None: return Response(data={ 'status': 'ERROR', 'message': _('Error al generar sip password'), }) return Response(data={ 'status': 'OK', 'sip_user': sip_user, 'sip_password': sip_password, })
def get_context_data(self, **kwargs): context = super(ConsolaAgenteView, self).get_context_data(**kwargs) campanas_preview_activas = [] usuario_agente = self.request.user agente_profile = usuario_agente.get_agente_profile() kamailio_service = KamailioService() sip_usuario = kamailio_service.generar_sip_user( agente_profile.sip_extension) sip_password = kamailio_service.generar_sip_password(sip_usuario) video_domain = '' if 'WEBPHONE_VIDEO_DOMAIN' in settings.CONSTANCE_CONFIG: video_domain = config_constance.WEBPHONE_VIDEO_DOMAIN fechas_agendas = AgendaContacto.objects.proximas( agente_profile).values_list('fecha', 'hora') fechas_agendas = [ make_aware(datetime.combine(x[0], x[1])).isoformat() for x in fechas_agendas ] hoy = fecha_local(now()) registros = LlamadaLog.objects.obtener_llamadas_finalizadas_del_dia( agente_profile.id, hoy) campanas_preview_activas = \ agente_profile.has_campanas_preview_activas_miembro() context['pausas'] = Pausa.objects.activas context['registros'] = registros context['tipos_salientes'] = LlamadaLog.TIPOS_LLAMADAS_SALIENTES context['campanas_preview_activas'] = campanas_preview_activas context['agente_profile'] = agente_profile context['sip_usuario'] = sip_usuario context['sip_password'] = sip_password context['agentes'] = AgenteProfile.objects.obtener_activos().exclude( id=agente_profile.id) context['max_session_age'] = settings.SESSION_COOKIE_AGE context['video_domain'] = video_domain context['fechas_agendas_json'] = json.dumps(fechas_agendas) context['listas_rapidas'] = ContactoListaRapida.objects.all() return context