def crear_usuario(request): if request.method=='POST': formulario = UsuarioForm(request.POST) if formulario.is_valid(): formulario.save() return HttpResponseRedirect('/direccion/nueva') else: formulario =UsuarioForm() return render_to_response('certificados/crear_usuario.html', {'formulario':formulario}, context_instance=RequestContext(request))
def crearUsuario_view(request): """crea un usuario en el sistema y envia un correo de confirmacion al usuario""" if request.method == 'POST': f = UsuarioForm(request.POST) if f.is_valid(): new_author = f.save(commit=False) subject = 'Bienvenido al Sistema de Reserva de Recursos' message = 'Su usuario ha sido confirmado.\nAhora puede logearse y empezar a utilizar el sistema.\n\nSaludos.\n\nEl equipo de desarrollo' from_email = settings.EMAIL_HOST to_list = [new_author.email] send_mail(subject, message, from_email, to_list, fail_silently=False) new_author.password = make_password(new_author.password) new_author.save() f._save_m2m() nuevaprioridad = 0 #guardar permisos de los roles en el usuario for unRol in new_author.rol.all(): nombrederol = unRol.nombre nombredeusuario = new_author.username #deberia estar afuera del for, verificar objetorol = rol.objects.get(nombre=nombrederol) objetousuario = usuario.objects.get_by_natural_key( nombredeusuario) #deberia estar afuera del for, verificar for objetopermiso in objetorol.permisos.all(): objetousuario.user_permissions.add(objetopermiso) #guardar la prioridad del rol con prioridad mayor en el usuario if (objetorol.prioridad): if (objetorol.prioridad.numero > objetousuario.prioridad): objetousuario.prioridad = objetorol.prioridad.get_numero( ) nuevaprioridad = objetousuario.prioridad new_author = f.save(commit=False) new_author.prioridad = nuevaprioridad new_author.save() f._save_m2m() return redirect('login_page') return redirect('usuario: index') else: form = UsuarioForm() return render(request, 'usuario/usuario_form.html', {'form': form})
def cadastrar_usuario(request): dados = template_data(request) if request.method == 'POST': form = UsuarioForm(request.POST, auto_id=False, error_class=DivErrorList) if form.is_valid(): u = form.save() salt = sha.new(str(random.random())).hexdigest()[:5] chave = sha.new(salt + u.username).hexdigest() expira = datetime.datetime.today() + datetime.timedelta(2) usuario = Usuario(conta=u, cpf=form.cleaned_data['cpf'], chave_de_ativacao=chave, expiracao_chave=expira, nascimento=form.cleaned_data['nascimento'], sexo=form.cleaned_data['sexo'], telefone=form.cleaned_data['telefone_contato']) request.session['pass'] = form.cleaned_data['senha'] request.session['conta'] = u request.session['usuario_cadastro'] = usuario form = EnderecoForm() dados['form'] = form return render_to_response('finalizar_cadastro.html', dados, context_instance=RequestContext(request)) else: dados['form'] = form return render_to_response('cadastro.html', dados, context_instance=RequestContext(request)) else: form = UsuarioForm() dados['form'] = form return render_to_response('cadastro.html', dados, context_instance=RequestContext(request))
def useradd(request): if request.method == 'POST': num = Usuario.objects.values("numero").order_by("-numero",)[:1] num = 1 if len(num)==0 else int(num[0]["numero"])+1 frmusuario = UsuarioForm(request.POST) # A form bound to the POST data print request.POST if frmusuario.is_valid(): if request.POST['organismo'] == "1": usernamee = Ministerio.objects.get(nummin=request.POST['dependencia']).iniciales+(serie-len(str(num)))*'0'+str(num) elif request.POST['organismo'] == "2": usernamee = Odp.objects.get(numodp=request.POST['dependencia']).iniciales+(serie-len(str(num)))*'0'+str(num) elif request.POST['organismo'] == "3": usernamee = Gobernacion.objects.get(numgob=request.POST['dependencia']).iniciales+(serie-len(str(num)))*'0'+str(num) user = User.objects.create_user(username=usernamee,email=request.POST['email'],password=request.POST['contrasena'],) if request.POST['nivel'] == "2": user.is_staff = True user.is_superuser = True if request.POST['estado'] == "2": user.is_active = False user.first_name = request.POST['nombres'] user.last_name = request.POST['apellidos'] user.save() usuario = Usuario(user=user,numero=num,usuario=usernamee) frmusuario = UsuarioForm(request.POST, instance=usuario) frmusuario.save() usuario.contrasena = user.password usuario.save() asunto="Bienvenido a la plataforma de Comunicacion Social" mensaje =u"""Desde este momento usted puede usar la Plataforma Intersectorial de Redes Sociales OGCS - PCM. Le adjuntamos su USUARIO Y CONTRASEÑA con el cual podrá acceder a la Plataforma. USUARIO: %s CONTRASEÑA: %s """ % (user.email, request.POST['contrasena']) try: #send_mail(asunto, mensaje, '*****@*****.**', mails) user.email_user(subject=asunto, message=mensaje) except: return redirect('/home/?m=userr',) return redirect('/home/?m=usadd',) else: frmusuario = UsuarioForm() return render_to_response('usuario/usuario.html', {'frmusuario': frmusuario,'opcion':'add','usuario':request.session['nombres'],'fecha':request.session['login_date'],'dependencia': request.POST['dependencia'] if 'dependencia' in request.POST else 0}, context_instance=RequestContext(request),)
def editar_perfil(request): usuario = PerfilUsuario.objects.get(user=request.user) if request.method == 'POST': usuario_form = UsuarioForm(request.POST, instance=request.user) perfil_form = PerfilUsuarioForm(request.POST, request.FILES, instance=request.user.perfil) if usuario_form.is_valid() and perfil_form.is_valid(): usuario_form.save() perfil_form.save() aviso(request, '¡Éxito! El usuario se ha modificado correctamente', True) return redirect('index') else: usuario_form = UsuarioForm(instance=request.user) perfil_form = PerfilUsuarioForm(instance=request.user.perfil) return render_to_response('editar-perfil.html', {'usuario_form': usuario_form, 'perfil_form': perfil_form, 'request': request}, context_instance=RequestContext(request))
def useradd(request,nivel): existe = -1 mensaje= "" tipo = -1 if request.method == 'POST': num = Usuario.objects.values("numero").order_by("-numero",)[:1] num = 1 if len(num)==0 else int(num[0]["numero"])+1 frmusuario = UsuarioForm(request.POST,error_class=DivErrorList) if frmusuario.is_valid(): if request.POST['nivel'] == "1": try: obj = Usuario.objects.get(organismo = Organismo.objects.get(codigo=request.POST['organismo']), dependencia=request.POST['dependencia']) existe = 0 except: existe = 1 elif request.POST['organismo'] == "1" and request.POST['dependencia'] == "1": existe = 2 else: existe = 3 if existe == 1 or existe == 2: if request.POST['organismo'] == "1": usernamee = Ministerio.objects.get(nummin=request.POST['dependencia']).iniciales+(serie-len(str(num)))*'0'+str(num) elif request.POST['organismo'] == "2": usernamee = Odp.objects.get(numodp=request.POST['dependencia']).iniciales+(serie-len(str(num)))*'0'+str(num) elif request.POST['organismo'] == "3": usernamee = Gobernacion.objects.get(numgob=request.POST['dependencia']).iniciales+(serie-len(str(num)))*'0'+str(num) user = User.objects.create_user(username=usernamee,email=request.POST['email'],password=request.POST['contrasena'],) if request.POST['nivel'] == "2": user.is_staff = True user.is_superuser = True if request.POST['estado'] == "2": user.is_active = False user.first_name = request.POST['nombres'] user.last_name = request.POST['apellidos'] #user.user_permissions = get_admin_permissions() if nivel == "2" else get_user_permissions() user.save() usuario = Usuario(user=user,numero=num,usuario=usernamee,nivel=Nivel.objects.get(codigo=request.POST['nivel'])) frmusuario = UsuarioForm(request.POST,request.FILES, instance=usuario) frmusuario.save() usuario.contrasena = user.password usuario.save() asunto="Bienvenido a la plataforma de Redes Sociales" from django.core.mail import EmailMessage t = loader.get_template('home/mail.html') current_site = get_current_site(request) site_name = current_site.name domain = current_site.domain c = { 'email': user.email, 'clave': request.POST['contrasena'], 'domain':domain, 'static':settings.STATIC_URL, 'protocol': request.is_secure() and 'https' or 'http', } try: msg = EmailMessage(asunto, t.render(Context(c)), settings.DEFAULT_FROM_EMAIL, [user.email]) msg.content_subtype = "html" msg.send() except: mensaje= "Usuario creado correctamente,pero no se ha podido enviar el email con los datos del registro." tipo=0 mensaje= "Usuario creado correctamente, se ha enviado un email con los datos del registro." tipo=1 frmusuario = UsuarioForm() else: frmusuario = UsuarioForm() return render_to_response('usuario/usuario.html', {'frmusuario': frmusuario,'opcion':'add','existe':existe,'nivel':nivel,'dependencia': request.POST['dependencia'] if 'dependencia' in request.POST else 0,'mensaje':mensaje,'tipo':tipo}, context_instance=RequestContext(request),)