예제 #1
0
    def create(self, validated_data):
        """Create and return a new user."""
        username = validated_data['usuario']
        contenido = validated_data['contenido']
        print(username)
        print(contenido)
        print(validated_data)
        try:
            usuario = Usuario.objects.get(username=username)
        except Usuario.DoesNotExist:
            usuario = Usuario(username=username,
                              nombre='Jonh Doe',
                              correo='*****@*****.**')
            usuario.save()

        tweet = Tweet(
            usuario=usuario,
            contenido=contenido,
        )
        tweet.fecha = datetime.now()
        tweet.save()
        #numero_cuenta = datetime.now().strftime('%Y%m%d%H%M%S')
        #cuenta.numero = numero_cuenta + str(cuenta.id)
        #cuenta.save()
        return tweet
예제 #2
0
 def save(self):
     usuario = Usuario(email=self.validated_data['email'],
                       username=self.validated_data['username'],
                       tipo=self.validated_data['tipo'])
     password = self.validated_data['password']
     password2 = self.validated_data['password2']
     if password != password2:
         raise serializers.ValidationError(
             {'password': '******'})
     usuario.set_password(password)
     usuario.save()
     return usuario
예제 #3
0
파일: views.py 프로젝트: mrnaxis/NOTelohell
    def post(self, request):
        form = RegistrarForm(request.POST)
        if form.is_valid():
            formulario = form.data

            usuario_dado = User.objects.create_user(formulario['email_user'],
                                                    formulario['email_user'],
                                                    formulario['senha_user'])
            usuario_final = Usuario(nome=formulario['nome_user'],
                                    nick=formulario['nick_user'],
                                    usuario=usuario_dado)

            usuario_final.save()
            return redirect('login')
        return render(request, self.template_name, {'form': form})
예제 #4
0
파일: views.py 프로젝트: rqdzs/EasyTutoring
def cadastrar_comentario(request):
    if request.is_ajax():
        usuario_id = request.GET.get('usuario', '')
        post_id = request.GET.get('post', '')
        text = request.GET.get('text', '')
        usuario = Usuario(pk=usuario_id)
        post = Post(pk=post_id)
        comentario = Comentario(post=post, usuario=usuario, descricao=text)
        comentario.save()
        comentarios = Comentario.objects.filter(post=post)
        context = {
            'post': post,
            'comentarios': comentarios,
        }
        html = render_to_string('forum/coments.html', context=context)
        return HttpResponse(html)
def inserta_usuarios():
    """
    :return:
    """
    l_ok = []
    l_nok = []
    for t in l_usuarios:
        try:
            usu = Usuario(username=t[0].strip(), password=t[1], es_admin=True)
            usu.save()
            l_ok.append((
                usu.username,
                usu.id,
            ))
        except Exception as e:
            l_nok.append((
                t,
                e,
            ))

    return {'l_nok': l_nok, 'l_ok': l_ok}
예제 #6
0
def init_usuarios():
    linkage = Usuario(username='******',
                      email='*****@*****.**',
                      birth_date=date.today(),
                      is_staff=True,
                      is_superuser=True)
    linkage.set_password('linkage123')
    linkage.save()

    josemhenao = Usuario(username='******',
                         email='*****@*****.**',
                         birth_date=date.today(),
                         is_staff=True,
                         is_superuser=True)
    josemhenao.set_password('josemhenao123')
    josemhenao.save()

    mfhenao88 = Usuario(username='******',
                        email='*****@*****.**',
                        birth_date=date.today())
    mfhenao88.set_password('mfhenao88123')
    mfhenao88.save()

    juanjosegdoj = Usuario(username='******',
                           email='*****@*****.**',
                           birth_date=date.today())
    juanjosegdoj.set_password('juanjosegdoj123')
    juanjosegdoj.save()

    marthacardonae = Usuario(username='******',
                             email='*****@*****.**',
                             birth_date=date.today())
    marthacardonae.set_password('marthacardonae123')
    marthacardonae.save()

    usuario1 = Usuario(username='******',
                       email='*****@*****.**',
                       birth_date=date.today())
    usuario1.set_password('usuario1123')
    usuario1.save()

    usuario2 = Usuario(username='******',
                       email='*****@*****.**',
                       birth_date=date.today())
    usuario2.set_password('usuario2123')
    usuario2.save()

    usuario3 = Usuario(username='******',
                       email='*****@*****.**',
                       birth_date=date.today())
    usuario3.set_password('usuario3123')
    usuario3.save()

    usuario4 = Usuario(username='******',
                       email='*****@*****.**',
                       birth_date=date.today())
    usuario4.set_password('usuario4123')
    usuario4.save()

    usuario5 = Usuario(username='******',
                       email='*****@*****.**',
                       birth_date=date.today())
    usuario5.set_password('usuario5123')
    usuario5.save()

    usuario6 = Usuario(username='******',
                       email='*****@*****.**',
                       birth_date=date.today())
    usuario6.set_password('usuario6123')
    usuario6.save()
예제 #7
0
def registro_usuario(request):
    mensaje = ""
    llamarMensaje = ""

    #Verificación para crear un solo usuario
    if request.method == 'POST' and "btncreate" in request.POST:
        form = FormularioRegistroUsuario(request.POST)
        form2 = FormularioCargar()

        #Si el formulario es valido y tiene datos
        if form.is_valid():
            #Capture la cedula del usuario
            cedula_usuario = form.cleaned_data["cedula_usuario"]

            try:
                #Consultando el usuario en la base de datos.
                usuario = Usuario.objects.get(cedula_usuario=cedula_usuario)

            #Si el usuario no existe, lo crea
            except Usuario.DoesNotExist:
                # Creando el usuario
                usuario = Usuario()
                createuser(usuario, form)
                # Borrando los datos del formulario y enviando el mensaje de sactisfacion
                form = FormularioRegistroUsuario()
                mensaje = "El usuario se guardo correctamente, la contraseña se envío al correo " + usuario.email
                llamarMensaje = "exito_usuario"


            else:
                # Si el usuario esta en la BD y no esta activo

                if not usuario.is_active:
                    createuser(usuario, form)
                    mensaje = "El usuario se guardo correctamente, la contraseña se envío al correo " + usuario.email
                    llamarMensaje = "exito_usuario"

                # Si el usuario ya existe en la BD y esta activo
                else:
                    mensaje = "El usuario " + str(cedula_usuario)  + " ya esta registrado"
                    llamarMensaje = "fracaso_usuario"

            request.session['llamarMensaje'] = llamarMensaje
            request.session['mensaje'] = mensaje
            return redirect("listar_usuario")

        #si no es valido el formulario crear
        else:
            form = FormularioRegistroUsuario()
            data = {
                'form': form,
                'form2':form2,
            }
            return render(request, 'registro_usuario.html', data)

    #Verificación para cargar usuarios votantes
    elif request.method == 'POST' and "btnload" in request.POST:

        form = FormularioRegistroUsuario()
        form2 = FormularioCargar(request.POST, request.FILES)
        crearVotante = False

        #Si el formulario es valido y tiene datos
        if form2.is_valid():
            csvf = StringIO(request.FILES['file'].read().decode())
            reader = csv.reader(csvf, delimiter=',')
            line=0
            useredit =0;
            usercreate=0;
            userexist=0;
            for row in reader:
                if (line > 0):
                    #Consultando el usuario en la base de datos.
                    try:
                        usuario = Usuario.objects.get(cedula_usuario=row[0])
                    except Usuario.DoesNotExist:
                        usuario = Usuario()
                        usuario.cedula_usuario = row[0]
                        usuario.first_name = row[1]
                        usuario.last_name = row[2]
                        usuario.email = row[3]
                        usuario.username = row[0]
                        usuario.is_active = True
                        #generando el password aleatorio.
                        password = User.objects.make_random_password()
                        usuario.set_password(password)

                        votante = Votante()
                        votante.usuario = usuario
                        votante.codigo = row[4]
                        crearVotante = True
                        try:
                            plan = Corporacion.objects.get(id_corporation=row[5])
                            votante.plan = plan
                        except Corporacion.DoesNotExist:
                            mensaje = "ERROR el plan " + str(row[5]) + "No está creado en el sistema, debe de crearlo para continuar.... Votantes creados "+ str(usercreate)
                            llamarMensaje = "fracaso_usuario"
                            return render_to_response('registro_usuario.html', {'mensaje': mensaje, 'form': form , 'form2':form2, 'llamarMensaje': llamarMensaje}, context_instance=RequestContext(request))


                        # Enviando contraseña al correo electronico registrado.
                        mensaje = "Señor(a) ", usuario.first_name , "\nSu usuario de acceso es: ", usuario.cedula_usuario , "\n Contraseña: ", usuario.password

                        #send_mail('Envío de contraseña de acceso a SIVORE', mensaje, '*****@*****.**', [usuario.email], fail_silently=False)
                        usercreate +=1

                    #Usuario ya existe pero esta desactivo
                    else:
                        if not usuario.is_active:
                            usuario.is_active = True
                            useredit +=1
                        else:
                            userexist +=1
                    #Crea el usuario en la BD s i hay excepcion
                    try:
                        usuario.save()
                    except Exception as e:
                        print(e)

                    #Crea el votante en la BD si hay excepcion
                    if crearVotante:
                        try:
                            votante.save()
                            crearVotante = False
                        except Exception as e:
                            print(e)

                    #Removiendo los permisos
                    for permission in usuario.user_permissions.all():
                        usuario.user_permissions.remove(permission)

                    # Poniendo el permiso de votante
                    usuario.user_permissions.add(Permission.objects.get(codename='Votante'))
                else:
                    line += 1

            mensaje = "Se crearon exitosamente " + str(usercreate) + " y se activaron " + str(useredit) + " votantes en el sistemas"
            if userexist != 0:
                mensaje = mensaje + ", además estaba activos " + str(userexist) + " usuarios"

            llamarMensaje = "exito_usuario"
            request.session['llamarMensaje'] = llamarMensaje
            request.session['mensaje'] = mensaje
            return redirect("listar_usuario")
    #Ninguno de los dos formularios crear  ni cargar Method GET
    else:
        form = FormularioRegistroUsuario()
        form2 = FormularioCargar()
        return render_to_response('registro_usuario.html',{'mensaje': mensaje, 'form': form, 'form2':form2, 'llamarMensaje': llamarMensaje}, context_instance=RequestContext(request))
예제 #8
0
def crear_usuario(request):

    #PERMISOS
    if request.user.groups.filter(name__in=['Mantenedor']).exists():
        return HttpResponseRedirect(reverse("home"))
    elif request.user.groups.filter(name__in=['Profesional']).exists():
        return HttpResponseRedirect(reverse("home"))
    elif request.user.groups.filter(name__in=['Asistente Social']).exists():
        return HttpResponseRedirect(reverse("home"))
    elif request.user.groups.filter(name__in=['Administrativo']).exists():
        return HttpResponseRedirect(reverse("home"))
    else:

        template = "crear_usuario.html"

        if request.method == 'GET':
            areas = Area.objects.all()
            especialidades = Especialidad.objects.all()
            return render(request, template, {
                "areas": areas,
                "especialidades": especialidades
            })

        if request.method == 'POST':
            try:

                nombre = request.POST.get('inputNombre').upper()
                apellido_paterno = request.POST.get(
                    'inputApellidoPaterno').upper()
                apellido_materno = request.POST.get(
                    'inputApellidoMaterno').upper()
                txt_rut = request.POST.get('inputRut')
                rut = txt_rut.replace(".", "")
                tipoUsuario = request.POST.get('inputTipoUsuario')
                correo = request.POST.get('inputCorreo')
                especialidadesElegidas = request.POST.getlist(
                    'inputEspecialidad')
                apellidos = apellido_paterno.upper(
                ) + " " + apellido_materno.upper()
                #print (especialidadesElegidas)

                usuarioExiste = Usuario.objects.filter(rut=rut)

                if not usuarioExiste:

                    usuario = Usuario()
                    usuario.nombre = nombre.upper()
                    usuario.apellidos = apellidos
                    usuario.rut = rut

                    if tipoUsuario == "1":
                        usuario.profesional = True
                    elif tipoUsuario == "2":
                        usuario.administrativo = True
                    elif tipoUsuario == "3":
                        usuario.mantenedor = True
                    elif tipoUsuario == "4":
                        usuario.asistente_social = True
                    elif tipoUsuario == "5":
                        usuario.coordinador = True

                    usuario.user = crear_user(nombre, apellidos, correo,
                                              tipoUsuario, rut)
                    usuario.save()

                    if especialidadesElegidas:
                        for e in especialidadesElegidas:
                            obj = UsuarioEspecialidad()
                            especialidad = Especialidad.objects.get(id=e)
                            obj.especialidad = especialidad
                            obj.usuario = usuario
                            obj.save()

                    messages.success(request, '¡Usuario agregado con éxito!')
                    id = usuario.id
                    del usuario
                    return HttpResponseRedirect(
                        reverse("usuarios:verUsuario", args=[id]))

                else:
                    usuario = usuarioExiste[0]
                    usuario.user = crear_user(nombre, apellidos, correo,
                                              tipoUsuario, rut)
                    messages.error(request, '¡Este usuario ya existe!')
                    return HttpResponseRedirect(
                        reverse("usuarios:crear_usuario"))

            except Exception as e:
                messages.error(request,
                               "No fue posible crear usuario. " + repr(e))
                return HttpResponseRedirect(reverse("usuarios:crear_usuario"))
예제 #9
0
def login_view(request):

	# Se obtiene el template
	template = loginTemplate

	# Si request es GET
	if request.method == "GET":

		# Funcion para crear contexto a login
		context = crearContextParaLoginView()

		# Se envia respuesta
		return render(request, template, context)

	# Si respuesta es POST 
	else:

		# Si se quiere loguear
		if "login_button" in request.POST:

			# Se obtiene formulario de login
			formulario = LoginOwner(request.POST)
			
			# Si formulario es valido
			if formulario.is_valid():

				# Se limpia la data
				formulario = formulario.cleaned_data

				# funcion para autenticar a usuario
				user = authenticate(username = formulario["email"], password = formulario["password"])

				#Si es correcto el login
				if user is not None:

					if user.is_active:

						login(request,user)

						# Se agrega mensaje de exito de logout
						messages.add_message(request, messages.SUCCESS, mLoginExitoso)

						# Redirigir hacia pagina dada en aprametro next de url
						urlParaRedirigir = obtenerUrlParaRedirigir(request)

						return redirect(urlParaRedirigir)

				else:

					# Se agrega mensaje de error en login
					messages.add_message(request, messages.WARNING, mErrorIntenteNuevamente)

					print 'usuario no registrado'

					# Funcion para crear contexto a login
					context = crearContextParaLoginView()

					# Se crea respuesta
					return render(request, template, context)

			# Si es que no es valido
			else:

				# Se agrega mensaje de error en login
				messages.add_message(request, messages.WARNING, mErrorIntenteNuevamente)

				print 'Ocurrio un error'

				# Funcion para crear contexto a login
				context = crearContextParaLoginView()

				# Se crea respuesta
				return render(request, template, context)

		# Si usuario se quiere registrar
		elif "register_button" in request.POST:

			# Se obtiene formulario de login
			formulario = RegistrarOwner(request.POST, request.FILES)
			
			# Si formulario es valido
			if formulario.is_valid():

				# Se limpia la data
				formulario = formulario.cleaned_data

				# Se toma el email 
				email = formulario["email"]

				# Se toma el password
				password = formulario["password"]

				# Se chequea si existe el usuario
				auth_user = User.objects.filter(username__exact = email)

				# Si usuario ya esta registrado
				if auth_user:

					# Se agrega mensaje de error que email ya esta registrado
					messages.add_message(request, messages.WARNING, mErrorUsuarioYaEstaRegistrado)

					# Se envia respuesta
					return redirect(request.META.get('HTTP_REFERER'))


				# Si usuario no esta registrado
				else:

					# Se crea usuario de modelo de usuario de django
					auth_user = User.objects.create_user(username = email, password = password)

					# Se almacena en DB
					auth_user.save()

					# Se crea Usuario
					owner = Usuario(user = auth_user, nombre = formulario["nombre"], email = email, numeroContacto = formulario["numeroContacto"], password = password, foto = formulario["foto"], fechaCreacion = timezone.now(), ciudad = formulario["ciudad"])

					# Se almacena en DB
					owner.save()

					# funcion para autenticar a usuario
					user = authenticate(username = email, password = password)

					#Si es correcto el login
					if user is not None:

						if user.is_active:

							# Se agrega mensaje de exito de registro
							messages.add_message(request, messages.SUCCESS, mRegistroExitoso)

							print 'Registro exitoso'

							# Se loguea
							login(request,user)

							# Redirigir hacia pagina dada en aprametro next de url
							urlParaRedirigir = obtenerUrlParaRedirigir(request)

							# Se retorna respuesta
							return redirect(urlParaRedirigir)

					else:

						# Se agrega mensaje de exito de registro
						messages.add_message(request, messages.SUCCESS, mRegistroExitoso)

						print 'Se ha registrado un usuario'

						# Funcion para crear contexto a login
						context = crearContextParaLoginView()

						# Se crea respuesta
						return render(request, template, context)

			# Si es que no es valido
			else:

				# Se agrega mensaje de error en login
				messages.add_message(request, messages.WARNING, mErrorIntenteNuevamente)

				print 'Ocurrio un error'

				# Funcion para crear contexto a login
				context = crearContextParaLoginView()

				# Se crea respuesta
				return render(request, template, context)