示例#1
0
 def agregar_usuario(self,cancel=False,**data):
     errors = {}
     usuario = None
     if request.method == 'POST':
         if cancel:
             redirect('/usuario')
         form = UsuarioForm()
         try:
             data = form.to_python(data)
             usuario = Usuario(alias=data.get('alias'),nombre=data.get('nombre'),apellido=data.get('apellido'),email_address=data.get('email'),_password=data.get('clave'))
             #if isinstance(usuario,Usuario) :
             DBSession.add(usuario)
             DBSession.flush()
             #DBSession.commit()
             #transaction.commit() 
             print usuario
             flash("Usuario agregado!")
         except Invalid, e:
             print e
             usuario = None
             errors = e.unpack_errors()
             flash(_("Favor complete los datos requeridos"),'warning')
         except IntegrityError:
             flash("LLave duplicada")
             DBSession.rollback()
             redirect('/agregar_usuario')
示例#2
0
    def agregar_usuario(self, cancel=False, **data):
        nom_proyecto = Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase = Variables.get_valor_by_nombre("nombre_fase_actual")

        usuarios = Usuario.get_alias()

        errors = {}
        usuario = None
        if request.method == "POST":
            if cancel:
                redirect("/usuario")
            form = UsuarioForm()
            try:
                data = form.to_python(data)

                usuario = Usuario(
                    alias=data.get("alias"),
                    nombre=data.get("nombre"),
                    apellido=data.get("apellido"),
                    email_address=data.get("email"),
                    nacionalidad=data.get("nacionalidad"),
                    tipodocumento=data.get("tipodocumento"),
                    nrodoc=data.get("nrodoc"),
                    _password=data.get("clave"),
                )

                if usuario.alias not in usuarios:
                    usuario._set_password(data.get("clave"))
                    rol = Rol.get_rol_by_nombre("Usuario Basico")
                    usuario.roles.append(rol)

                    DBSession.add(usuario)
                    DBSession.flush()
                    print usuario
                    flash("Usuario agregado!")
                    redirect("/usuario")
                else:

                    flash(_("Favor cambie el alias es repetido"), "warning")
                    return dict(
                        pagina="usuarios",
                        usuario=usuario,
                        errors=errors,
                        data=data.get("alias"),
                        nom_proyecto=nom_proyecto,
                        nom_fase=nom_fase,
                        usuarios=usuarios,
                    )

            except Invalid, e:
                print e
                usuario = None
                errors = e.unpack_errors()
                flash(_("Favor complete los datos requeridos"), "warning")

            except IntegrityError:
                flash("LLave duplicada")
                DBSession.rollback()
                redirect("/agregar_usuario")