Esempio n. 1
0
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),)
Esempio n. 2
0
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),)