示例#1
0
    def post(self, request, *args, **kwargs):
        form = self.form(request.POST)
        self.diccionario.update({'form': self.form})
        usuario = User.objects.filter(
            Q(username=request.POST['username'])
            | Q(email=request.POST['username']))
        self.diccionario.update({'request': request})
        if usuario.exists():
            usuario = usuario[0]
            user = authenticate(username=usuario,
                                password=request.POST['password'])

            if user is not None:
                login(request, usuario)
                #"User is not valid, active and authenticated"
                if not user.is_active:
                    self.mensaje = u"La contraseña es válida pero la cuenta ha sido desactivada"
                    (self.tipo_mensaje,
                     self.expresion) = msj_expresion('error')
                    return renderizar_plantilla(request,
                                                plantilla=self.template,
                                                tipo_mensaje=self.tipo_mensaje,
                                                expresion=self.expresion,
                                                mensaje=self.mensaje,
                                                form=form)
                else:
                    # El usuario se loggea correctamente
                    return HttpResponseRedirect('/preguntas_secretas/')
            else:
                # El usuario o contraseña eran incorrectos
                self.mensaje = u"Contraseña incorrecta. Por favor, inténtelo nuevamente"
                (self.tipo_mensaje, self.expresion) = msj_expresion('error')
                return renderizar_plantilla(request,
                                            plantilla=self.template,
                                            tipo_mensaje=self.tipo_mensaje,
                                            expresion=self.expresion,
                                            mensaje=self.mensaje,
                                            form=form)
        else:
            # El usuario no existe
            self.mensaje = u"No existe el usuario %s. Por favor, confirme sus datos" % (
                request.POST['username'])
            (self.tipo_mensaje, self.expresion) = msj_expresion('error')
            form = self.form(request.POST)
            return renderizar_plantilla(request,
                                        plantilla=self.template,
                                        tipo_mensaje=self.tipo_mensaje,
                                        expresion=self.expresion,
                                        mensaje=self.mensaje,
                                        form=form)
示例#2
0
文件: views.py 项目: Axelio/Umail
    def post(self, request, *args, **kwargs):
        form = self.form(request.POST)
        self.diccionario.update({'form':self.form})
        usuario = User.objects.filter(Q(username=request.POST['username'])|Q(email=request.POST['username']))
        self.diccionario.update({'request':request})
        if usuario.exists(): 
            usuario = usuario[0]
            user = authenticate(username=usuario, password=request.POST['password'])

            if user is not None:
                login(request, usuario)
                #"User is not valid, active and authenticated"
                if not user.is_active:
                    self.mensaje = u"La contraseña es válida pero la cuenta ha sido desactivada"
                    (self.tipo_mensaje, self.expresion) = msj_expresion('error')
                    return renderizar_plantilla(request, 
                                        plantilla = self.template, 
                                        tipo_mensaje = self.tipo_mensaje, 
                                        expresion = self.expresion, 
                                        mensaje = self.mensaje, 
                                        form = form
                                    )
                else:
                    # El usuario se loggea correctamente
                    return HttpResponseRedirect('/preguntas_secretas/')
            else:
                # El usuario o contraseña eran incorrectos
                self.mensaje = u"Contraseña incorrecta. Por favor, inténtelo nuevamente"
                (self.tipo_mensaje, self.expresion) = msj_expresion('error')
                return renderizar_plantilla(request, 
                                    plantilla = self.template, 
                                    tipo_mensaje = self.tipo_mensaje, 
                                    expresion = self.expresion, 
                                    mensaje = self.mensaje, 
                                    form = form
                                )
        else:
            # El usuario no existe
            self.mensaje = u"No existe el usuario %s. Por favor, confirme sus datos" %(request.POST['username'])
            (self.tipo_mensaje, self.expresion) = msj_expresion('error')
            form = self.form(request.POST)
            return renderizar_plantilla(request, 
                                plantilla = self.template, 
                                tipo_mensaje = self.tipo_mensaje, 
                                expresion = self.expresion, 
                                mensaje = self.mensaje, 
                                form = form
                            )
示例#3
0
文件: views.py 项目: Axelio/Umail
    def post(self, request, *args, **kwargs):
        
        form = self.form(request.POST)
        error = False

        if form.is_valid():
            posicion = 0
            usuario = request.user
            transaction.savepoint()

            for formulario in form.forms:
                pregunta = formulario['pregunta'].data
                pregunta = Pregunta.objects.get(id=pregunta)
                respuesta = formulario['respuesta'].data
                pregunta_secreta = PreguntasSecretas.objects.filter(usuario=usuario, pregunta=pregunta)
                if not pregunta_secreta.exists():
                    PreguntasSecretas.objects.create(usuario=usuario, pregunta=pregunta, respuesta=respuesta)
                else:
                    (self.tipo_mensaje, self.expresion) = msj_expresion('error')
                    self.mensaje = u'Al parecer la pregunta "%s" ya la has elegido más de una vez.' %(pregunta)
                    error=True

            if not error:
                transaction.commit()
                return HttpResponseRedirect('/')
            else:
                transaction.rollback()
                return renderizar_plantilla(request, 
                                    plantilla=self.template, 
                                    tipo_mensaje = self.tipo_mensaje, 
                                    expresion = self.expresion, 
                                    mensaje = self.mensaje, 
                                    form = form
                                )
示例#4
0
文件: views.py 项目: Axelio/Umail
    def get(self, request, *args, **kwargs):
        try:
            usuario = User.objects.get(id=kwargs['user_id'])
        except:
            raise Http404
        else:
            if usuario.preguntassecretas_set.get_query_set().exists():
                preguntas = PreguntasSecretas.objects.filter(usuario__id=int(kwargs['user_id']))
                preguntas = random.sample(preguntas, 3)
                pregs = []
                for pregunta in preguntas:
                    pregs.append(pregunta.id)
                preguntas = PreguntasSecretas.objects.filter(id__in=pregs)
                form = self.form()

                self.mensaje = u'Para su mayor seguridad debe proporcionar algunas preguntas y respuestas secretas'
                (self.tipo_mensaje, self.expresion) = msj_expresion('alert')
                return renderizar_plantilla(request, 
                                    plantilla = self.template, 
                                    tipo_mensaje = self.tipo_mensaje, 
                                    expresion = self.expresion, 
                                    mensaje = self.mensaje, 
                                    form = form,
                                    extra=preguntas
                                )

            else:
                return HttpResponseRedirect('preguntas_secretas/')
示例#5
0
    def get(self, request, *args, **kwargs):
        try:
            usuario = User.objects.get(id=kwargs['user_id'])
        except:
            raise Http404
        else:
            if usuario.preguntassecretas_set.get_query_set().exists():
                preguntas = PreguntasSecretas.objects.filter(
                    usuario__id=int(kwargs['user_id']))
                preguntas = random.sample(preguntas, 3)
                pregs = []
                for pregunta in preguntas:
                    pregs.append(pregunta.id)
                preguntas = PreguntasSecretas.objects.filter(id__in=pregs)
                form = self.form()

                self.mensaje = u'Para su mayor seguridad debe proporcionar algunas preguntas y respuestas secretas'
                (self.tipo_mensaje, self.expresion) = msj_expresion('alert')
                return renderizar_plantilla(request,
                                            plantilla=self.template,
                                            tipo_mensaje=self.tipo_mensaje,
                                            expresion=self.expresion,
                                            mensaje=self.mensaje,
                                            form=form,
                                            extra=preguntas)

            else:
                return HttpResponseRedirect('preguntas_secretas/')
示例#6
0
    def post(self, request, *args, **kwargs):
        form = self.form(request.POST)
        if not form.is_valid():
            self.tipo_mensaje = 'error'
            for error in form.errors:
                mensaje = form.errors['%s' % (error)].as_text().replace(
                    '* ', '')

        pregunta_1 = request.POST['pregunta_1']
        respuesta_1 = request.POST['respuesta_1']
        pregunta_2 = request.POST['pregunta_2']
        respuesta_2 = request.POST['respuesta_2']
        pregunta_3 = request.POST['pregunta_3']
        respuesta_3 = request.POST['respuesta_3']

        # Revisión de respuestas para la pregunta
        pregunta_1 = PreguntasSecretas.objects.get(id__iexact=pregunta_1)
        pregunta_2 = PreguntasSecretas.objects.get(id__iexact=pregunta_2)
        pregunta_3 = PreguntasSecretas.objects.get(id__iexact=pregunta_3)

        if not pregunta_1.respuesta == respuesta_1:
            self.mensaje = u'%s no es la respuesta para %s. Por favor inténtelo de nuevo' % (
                respuesta_1, pregunta_1)
            self.tipo_mensaje = 'error'
        elif not pregunta_2.respuesta == respuesta_2:
            self.mensaje = u'%s no es la respuesta para %s. Por favor inténtelo de nuevo' % (
                respuesta_2, pregunta_2)
            self.tipo_mensaje = 'error'
        elif not pregunta_3.respuesta == respuesta_3:
            self.mensaje = u'%s no es la respuesta para %s. Por favor inténtelo de nuevo' % (
                respuesta_3, pregunta_3)
            self.tipo_mensaje = 'error'

        pregs = []
        if self.tipo_mensaje == 'error':
            pregs.append(pregunta_1.id)
            pregs.append(pregunta_2.id)
            pregs.append(pregunta_3.id)
            preguntas = PreguntasSecretas.objects.filter(id__in=pregs)
            (self.tipo_mensaje,
             self.expresion) = msj_expresion(self.tipo_mensaje)
            return renderizar_plantilla(
                request,
                plantilla=self.template,
                tipo_mensaje=self.tipo_mensaje,
                expresion=self.expresion,
                mensaje=self.mensaje,
                form=form,
                extra=preguntas,
            )
        else:
            try:
                usuario = User.objects.get(id=kwargs['user_id'])
            except:
                raise Http404
            else:
                usuario = User.objects.get(id=kwargs['user_id'])
            usuario.backend = 'django.contrib.auth.backends.ModelBackend'
            login(request, usuario)
            return HttpResponseRedirect('/perfil/asignar_clave/')
示例#7
0
文件: views.py 项目: Axelio/Umail
 def get(self, request, *args, **kwargs):
     seccion = kwargs['seccion'].lower()
     if not seccion.lower() in self.secciones:
         return HttpResponseRedirect('/ayuda')
     else:
         template = 'usuario/manual/seccion_%s.html' %(seccion)
         return renderizar_plantilla(request, 
                             plantilla = template, 
                         )
示例#8
0
 def get(self, request, *args, **kwargs):
     seccion = kwargs['seccion'].lower()
     if not seccion.lower() in self.secciones:
         return HttpResponseRedirect('/ayuda')
     else:
         template = 'usuario/manual/seccion_%s.html' % (seccion)
         return renderizar_plantilla(
             request,
             plantilla=template,
         )
示例#9
0
文件: views.py 项目: Axelio/Umail
    def get(self, request, *args, **kwargs):
        user_profile = UserProfile.objects.get(user=request.user)
        form = self.form(instance=user_profile.persona, initial={'notificaciones':user_profile.notificaciones, 'num_identificacion':user_profile.persona.num_identificacion})

        return renderizar_plantilla(request, 
                            plantilla = self.template, 
                            tipo_mensaje = self.tipo_mensaje, 
                            expresion = self.expresion, 
                            mensaje = self.mensaje, 
                            form = form,
                        )
示例#10
0
文件: views.py 项目: Axelio/Umail
    def post(self, request, *args, **kwargs):
        form = self.form(request.POST)
        if not form.is_valid():
            self.tipo_mensaje = 'error'
            for error in form.errors:
                mensaje = form.errors['%s' %(error)].as_text().replace('* ','')

        pregunta_1 = request.POST['pregunta_1']
        respuesta_1 = request.POST['respuesta_1']
        pregunta_2 = request.POST['pregunta_2']
        respuesta_2 = request.POST['respuesta_2']
        pregunta_3 = request.POST['pregunta_3']
        respuesta_3 = request.POST['respuesta_3']

        # Revisión de respuestas para la pregunta
        pregunta_1 = PreguntasSecretas.objects.get(id__iexact=pregunta_1)
        pregunta_2 = PreguntasSecretas.objects.get(id__iexact=pregunta_2)
        pregunta_3 = PreguntasSecretas.objects.get(id__iexact=pregunta_3)

        if not pregunta_1.respuesta == respuesta_1:
            self.mensaje = u'%s no es la respuesta para %s. Por favor inténtelo de nuevo' %(respuesta_1, pregunta_1)
            self.tipo_mensaje = 'error'
        elif not pregunta_2.respuesta == respuesta_2:
            self.mensaje = u'%s no es la respuesta para %s. Por favor inténtelo de nuevo' %(respuesta_2, pregunta_2)
            self.tipo_mensaje = 'error'
        elif not pregunta_3.respuesta == respuesta_3:
            self.mensaje = u'%s no es la respuesta para %s. Por favor inténtelo de nuevo' %(respuesta_3, pregunta_3)
            self.tipo_mensaje = 'error'

        pregs = []
        if self.tipo_mensaje == 'error':
            pregs.append(pregunta_1.id)
            pregs.append(pregunta_2.id)
            pregs.append(pregunta_3.id)
            preguntas = PreguntasSecretas.objects.filter(id__in=pregs)
            (self.tipo_mensaje, self.expresion) = msj_expresion(self.tipo_mensaje)
            return renderizar_plantilla(request, 
                                plantilla=self.template, 
                                tipo_mensaje = self.tipo_mensaje, 
                                expresion = self.expresion, 
                                mensaje = self.mensaje, 
                                form = form,
                                extra = preguntas,
                            )
        else:
            try:
                usuario = User.objects.get(id=kwargs['user_id'])
            except:
                raise Http404
            else:
                usuario = User.objects.get(id=kwargs['user_id'])
            usuario.backend = 'django.contrib.auth.backends.ModelBackend'
            login(request, usuario)
            return HttpResponseRedirect('/perfil/asignar_clave/')
示例#11
0
    def get(self, request, *args, **kwargs):
        self.form = self.form()
        if request.user.is_authenticated():
            if request.GET.has_keys['next']:
                return HttpResponseRedirect(request.GET['next'])
            else:
                return HttpResponseRedirect('/')

        return renderizar_plantilla(request,
                                    plantilla=self.template,
                                    tipo_mensaje=self.tipo_mensaje,
                                    expresion=self.expresion,
                                    mensaje=self.mensaje,
                                    form=self.form)
示例#12
0
文件: views.py 项目: Axelio/Umail
 def get(self, request, *args, **kwargs):
     self.form = self.form()
     if request.user.is_authenticated():
         if request.GET.has_keys['next']:
             return HttpResponseRedirect(request.GET['next'])
         else:
             return HttpResponseRedirect('/')
         
     return renderizar_plantilla(request, 
                         plantilla = self.template, 
                         tipo_mensaje = self.tipo_mensaje, 
                         expresion = self.expresion, 
                         mensaje = self.mensaje, 
                         form = self.form
                     )
示例#13
0
    def get(self, request, *args, **kwargs):
        if request.user.is_authenticated():
            if not request.user.preguntassecretas_set.get_query_set().exists():
                form = self.form()
                self.mensaje = u'Para su mayor seguridad debe proporcionar algunas preguntas y respuestas secretas'
                (self.tipo_mensaje, self.expresion) = msj_expresion('alert')
                return renderizar_plantilla(request,
                                            plantilla=self.template,
                                            tipo_mensaje=self.tipo_mensaje,
                                            expresion=self.expresion,
                                            mensaje=self.mensaje,
                                            form=form)

            else:
                return HttpResponseRedirect('/')
        else:
            return HttpResponseRedirect('/auth')
示例#14
0
    def post(self, request, *args, **kwargs):
        form = self.form(request.POST)
        if form.is_valid():
            primer_nombre = form.cleaned_data['primer_nombre']
            segundo_nombre = form.cleaned_data['segundo_nombre']
            primer_apellido = form.cleaned_data['primer_apellido']
            segundo_apellido = form.cleaned_data['segundo_apellido']
            genero = form.cleaned_data['genero']
            telefono = form.cleaned_data['telefono']
            notificaciones = form.cleaned_data['notificaciones']

            # Buscar persona y usuario
            persona = Personas.objects.get(num_identificacion=request.user.
                                           profile.persona.num_identificacion)
            user_profile = UserProfile.objects.get(persona=persona)

            # Buscar asignar datos
            persona.primer_nombre = primer_nombre
            persona.segundo_nombre = segundo_nombre
            persona.primer_apellido = primer_apellido
            persona.segundo_apellido = segundo_apellido
            persona.genero = genero
            persona.telefono = telefono
            user_profile.notificaciones = notificaciones

            # Guardar registros
            persona.save()
            user_profile.save()

            self.mensaje = u'¡Tus datos han sido actualizados exitosamente!'
            self.tipo_mensaje = 'success'

        else:
            self.tipo_mensaje = 'error'
            for error in form.errors:
                self.mensaje = form.errors['%s' % (error)].as_text().replace(
                    '* ', '') + ": " + error
        (self.tipo_mensaje, self.expresion) = msj_expresion(self.tipo_mensaje)
        return renderizar_plantilla(
            request,
            plantilla=self.template,
            tipo_mensaje=self.tipo_mensaje,
            expresion=self.expresion,
            mensaje=self.mensaje,
            form=form,
        )
示例#15
0
    def get(self, request, *args, **kwargs):
        user_profile = UserProfile.objects.get(user=request.user)
        form = self.form(instance=user_profile.persona,
                         initial={
                             'notificaciones':
                             user_profile.notificaciones,
                             'num_identificacion':
                             user_profile.persona.num_identificacion
                         })

        return renderizar_plantilla(
            request,
            plantilla=self.template,
            tipo_mensaje=self.tipo_mensaje,
            expresion=self.expresion,
            mensaje=self.mensaje,
            form=form,
        )
示例#16
0
文件: views.py 项目: Axelio/Umail
    def get(self, request, *args, **kwargs):
        if request.user.is_authenticated():
            if not request.user.preguntassecretas_set.get_query_set().exists():
                form = self.form()
                self.mensaje = u'Para su mayor seguridad debe proporcionar algunas preguntas y respuestas secretas'
                (self.tipo_mensaje, self.expresion) = msj_expresion('alert')
                return renderizar_plantilla(request, 
                                    plantilla = self.template, 
                                    tipo_mensaje = self.tipo_mensaje, 
                                    expresion = self.expresion, 
                                    mensaje = self.mensaje, 
                                    form = form 
                                )

            else:
                return HttpResponseRedirect('/')
        else:
            return HttpResponseRedirect('/auth')
示例#17
0
文件: views.py 项目: Axelio/Umail
    def post(self, request, *args, **kwargs):
        form = self.form(request.POST)
        if form.is_valid():
            primer_nombre = form.cleaned_data['primer_nombre']
            segundo_nombre = form.cleaned_data['segundo_nombre']
            primer_apellido = form.cleaned_data['primer_apellido']
            segundo_apellido = form.cleaned_data['segundo_apellido']
            genero = form.cleaned_data['genero']
            telefono = form.cleaned_data['telefono']
            notificaciones = form.cleaned_data['notificaciones']

            # Buscar persona y usuario
            persona = Personas.objects.get(num_identificacion=request.user.profile.persona.num_identificacion)
            user_profile = UserProfile.objects.get(persona=persona)

            # Buscar asignar datos 
            persona.primer_nombre = primer_nombre
            persona.segundo_nombre = segundo_nombre
            persona.primer_apellido = primer_apellido
            persona.segundo_apellido = segundo_apellido
            persona.genero = genero
            persona.telefono = telefono
            user_profile.notificaciones = notificaciones

            # Guardar registros
            persona.save()
            user_profile.save()

            self.mensaje = u'¡Tus datos han sido actualizados exitosamente!'
            self.tipo_mensaje = 'success'

        else:
            self.tipo_mensaje = 'error'
            for error in form.errors:
                self.mensaje = form.errors['%s' %(error)].as_text().replace('* ','') + ": " + error
        (self.tipo_mensaje, self.expresion) = msj_expresion(self.tipo_mensaje)
        return renderizar_plantilla(request, 
                            plantilla = self.template, 
                            tipo_mensaje = self.tipo_mensaje, 
                            expresion = self.expresion, 
                            mensaje = self.mensaje, 
                            form = form,
                        )
示例#18
0
    def post(self, request, *args, **kwargs):

        form = self.form(request.POST)
        error = False

        if form.is_valid():
            posicion = 0
            usuario = request.user
            transaction.savepoint()

            for formulario in form.forms:
                pregunta = formulario['pregunta'].data
                pregunta = Pregunta.objects.get(id=pregunta)
                respuesta = formulario['respuesta'].data
                pregunta_secreta = PreguntasSecretas.objects.filter(
                    usuario=usuario, pregunta=pregunta)
                if not pregunta_secreta.exists():
                    PreguntasSecretas.objects.create(usuario=usuario,
                                                     pregunta=pregunta,
                                                     respuesta=respuesta)
                else:
                    (self.tipo_mensaje,
                     self.expresion) = msj_expresion('error')
                    self.mensaje = u'Al parecer la pregunta "%s" ya la has elegido más de una vez.' % (
                        pregunta)
                    error = True

            if not error:
                transaction.commit()
                return HttpResponseRedirect('/')
            else:
                transaction.rollback()
                return renderizar_plantilla(request,
                                            plantilla=self.template,
                                            tipo_mensaje=self.tipo_mensaje,
                                            expresion=self.expresion,
                                            mensaje=self.mensaje,
                                            form=form)