class NotificacionesUtil:
    def __init__(self):
        self.personaServicios = PersonaServicios()

    def getNotificacionesByUsuario(self, usuario):
        notificacion = None
        if not usuario.is_staff:
            persona = self.personaServicios.getPersonaByUser(usuario)
            notificacion = self.getNotificacionesByPersona(persona)
            contador_notif = len(notificacion)

            notificacion = {'contador': contador_notif, 'notificaciones': notificacion}

        return notificacion

    def getNotificacionesByPersona(self,persona):
        notificaciones = Notificaciones.objects.filter(usuario=persona, vista=False)

        return notificaciones

    def __notificar(self, titulo, descripcion, usuario, url=""):
        """
        Método que almacena las notificaciones
        :param descripcion:
        :param usuario:
        :param url:
        """
        notificacion = Notificaciones(titulo= titulo,descripcion=descripcion, usuario=usuario, url=url)
        notificacion.save()

    def notificarNuevaActividad(self, actividad):
        for responsable in actividad.responsables.all():
            self.__notificar(Constantes.NOTIFICACION_ASIGNACION_ACTIVIDAD,
                                           Constantes.NOTIFICACION_ASIGNACION_ACTIVIDAD_DESC + str(actividad), responsable)
 def __init__(self):
     self.personaServicios = PersonaServicios()