示例#1
0
def crear_user(request):
    if request.method == "POST":
        print "si esta entrando al post "
        reg = Registro_paciente(request.POST)
        print reg
        if reg.is_valid():
            print "entro"
            u_name = reg.cleaned_data['username']
            u_first_name = reg.cleaned_data['nombre']
            u_last_name = reg.cleaned_data['apellido']
            u_dni = reg.cleaned_data['dni']
            u_email = reg.cleaned_data['email']
            u_password = reg.cleaned_data['password']
            u_gender = reg.cleaned_data['gender']
            u_estado = reg.cleaned_data['estado']
            u_ciudad = reg.cleaned_data['ciudad']
            u_edo_civil = reg.cleaned_data['edoCivil']
            u_tlf_cel = reg.cleaned_data['tlf_cel']
            u_tlf_casa = reg.cleaned_data['tlf_casa']
            u = User.objects.create_user(u_name, u_email, u_password)
            u.is_active = False # Como default no activamos
            # Generamos una llave de activacion para enviarle a su correo.
            u.save() # Guardamos al usuario
            signer = Signer()
            salt = signer.sign(u.username)
            activation_key = salt
            key_expires = datetime.datetime.today() + datetime.timedelta(2) # Creamos una fecha de expiracion por 3 dias
            p = userProfile()
            p.user = u # ligamos al usuario
            p.activationKey = activation_key
            p.keyExpires = key_expires
            p.gender = u_gender
            p.fechaNacimiento = reg.cleaned_data['fechaNacimiento']
            p.save() # Guardamos el perfil del Usuario.
            #Enviamos email de confirmacion.
            emailUser = u.email
            subject = 'Bienvenido a InfoSalud'
            from_email = '*****@*****.**'
            to = emailUser
            text_content = ''
            html_content = '<p>We are happy to get you <strong> Here !!!</strong>:)</p><br>Your username is:    %s <br><br> To activate your Acount Please <a href="http://%s/accounts/confirm/%s/%s/">click HERE</a> to confirm your email <br><br><h3>Sincerily: <strong>Eyventu Team</strong></h3>'%(u.username,settings.URL_SERVER,u.username,p.activationKey)
            msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
            msg.attach_alternative(html_content, "text/html")
            msg.send()
            return render_to_response('security/sendEmailConfirm.html',context_instance=RequestContext(request))
        else:
            pass
                
    else: # is get
        form = Registro_paciente()
    reg = Registro_paciente()
    form = LoginForm()
    ctx = {'form':form,'register_form':reg,'mensaje':mens}
    return render_to_response('perfiles/medico/crear_paciente.html',ctx,context_instance=RequestContext(request))
示例#2
0
def register_view(request):
    emailUser = None
    if request.method == "POST":
        reg = RegistrationStandardForm(request.POST)
        if reg.is_valid():
            u_name = reg.cleaned_data['username']
            u_email = reg.cleaned_data['email']
            u_password = reg.cleaned_data['password']
            u_gender = reg.cleaned_data['gender']
            u_newsletter = reg.cleaned_data['newsletter']
            u = User.objects.create_user(u_name, u_email, u_password)
            u.is_active = False # Como default no activamos
            # Generamos una llave de activacion para enviarle a su correo.
            u.save() # Guardamos al usuario
            signer = Signer()
            salt = signer.sign(u.username)
            activation_key = salt
            now = datetime.datetime.utcnow().replace(tzinfo=utc) #Obtenemos la fecha actual según la zona horariaa
            key_expires = now + datetime.timedelta(2) # Creamos una fecha de expiracion por 3 dias
            p = userProfile()
            p.user = u # ligamos al usuario
            p.gender = u_gender
            p.activationKey = activation_key
            p.keyExpires = key_expires
            p.save() # Guardamos el perfil del Usuario.
            #Enviamos email de confirmacion.
            if u_newsletter:
                n = newsletter()
                n.usuario = u
                n.save()
            emailUser = u.email
            subject = 'Bienvenido a InfoSalud'
            from_email = '*****@*****.**'
            to = emailUser
            text_content = ''
            html_content = '<p>Estamos muy contentos de que te encuentres con <strong> Nosotros !!!</strong></p><br>Tu Nombre de usuario es:    %s <br><br> Para activar tu cuenta por favor haz clic <a href="%s/cuenta/confirmar/%s/%s/">en este link</a> <br><br><h3> Esta cuenta debera ser confirmada en un lapso no mayor de 48 horas.</h3><h3>Atentamente: <strong>El equipo de InfoSalud.</strong></h3>'%(u.username,settings.URL_SERVER,u.username,p.activationKey)            
            msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
            msg.attach_alternative(html_content, "text/html")
            msg.send()
            mensaje = '<h2>Estimado: %s </h2><br/><h3>Hemos enviado un correo a: %s </h3>para que nos confirmes tu cuenta.<br><p> Esta cuenta deberá ser activada en las próximas 48 horas</p><br/><p> de lo contrario la solicitud será cancelada.</p><br/>InfoSalud Team.'
            ctx = {'mensaje':mensaje,'tipo':'exito'}
            return render_to_response('security/sendEmailConfirm.html',context_instance=RequestContext(request))
        else:
            form = LoginForm()
            ctx = {'form':form,'register_form':reg,'errores':'hubo errores en la validacion de los campos, revisa el correo eelectronico y usuario.'}
            return render_to_response('security/loginStandard.html',ctx,context_instance=RequestContext(request))
    else: # is get
        form = RegistrationStandardForm(initial={'newsletter':True})
    reg = RegistrationStandardForm()
    form = LoginForm()
    ctx = {'form':form,'register_form':reg,'email':emailUser}
    return render_to_response('security/loginStandard.html',ctx,context_instance=RequestContext(request))