Beispiel #1
0
def registrarUsuario(request):
    """
    @note: Función que permite registrar permisos de usuario
    @author: T.S.U. Roldan D. Vargas G.
    @contact: [email protected]
    @return: Retorna el formulario de registro de permisos de usuario
    """
    request.session.set_expiry(TIEMPO_SESSION) #Tiempo de expiración de la sesión
    registros = cargarDatosConsulta(User.objects.all(),int(request.GET.get('page', '1')))
    
    if request.method=="POST":
        form = FormUsuario(request.POST, auto_id="%s")
        if form.is_valid():
            usuario = form.cleaned_data['usuario']
            nombre = form.cleaned_data['nombre']
            apellido = form.cleaned_data['apellido']
            correo = form.cleaned_data['correo']
            contrasenha = form.cleaned_data['contrasenha']
            activo = str2bool(form.cleaned_data['activo'])
            modificar = form.cleaned_data['modificar']
            logreg = "registro"
            if modificar!="":
                logreg = "modifico"
            try:
                now = datetime.now()
                if modificar=="":
                    usr = User(username=usuario, first_name=nombre, last_name=apellido, email=correo, is_active=activo, date_joined=now, last_login=now, fecha_modpass=now)
                else:
                    usr = User.objects.get(pk=modificar)
                    usr.username = usuario
                    usr.first_name = nombre
                    usr.last_name = apellido
                    usr.email = correo
                    usr.is_active = activo
                    usr.date_joined = now
                    usr.last_login = now
                    usr.fecha_modpass = now
                usr.set_password(contrasenha)
                usr.save()
                
                registros = cargarDatosConsulta(User.objects.all(),int(request.GET.get('page', '1')))
                logger.info(_(u"El usuario [%s] %s un nuevo usuario con el login [%s] desde la IP [%s]") % (request.user, logreg, usuario,request.META['REMOTE_ADDR']))
                return render_to_response('usuario/regusuario.html', {'form':FormUsuario(auto_id="%s"), 'seguridad':True, 'username':request.user, 'exito':True, 'registros':registros})
            except Exception, e:
                logger.warning(_(u"Error al %s datos de usuario por el usuario [%s]. Detalles del error: %s") % (logreg[:7]+"ar", request.user, e.message))
                return render_to_response('usuario/regusuario.html', {'form':form, 'seguridad':True, 'username':request.user, 'registros':registros})
        else:
            logger.warning(_(u"Errores al procesar el formulario de registro de usuario"))
            return render_to_response('usuario/regusuario.html', {'form':form, 'seguridad':True, 'username':request.user, 'registros':registros})