def asignar_roles(self, *args, **kw): """ Asigna los roles seleccionados a un usuario """ if kw: pks = [] for k, pk in kw.items(): if not k.isalnum(): continue pks.append(int(pk)) transaction.begin() id_user = UrlParser.parse_id(request.url, "miembros") id_proyecto = UrlParser.parse_id(request.url, "proyectos") user = Usuario.por_id(id_user) roles = DBSession.query(Rol).filter(Rol.id_rol.in_(pks)).all() for r in roles: if r.tipo.find( u"Plantilla") >= 0: #crear rol a partir de plantilla rol_new = Rol.nuevo_rol_desde_plantilla(plantilla=r, id=id_proyecto) rol_new.usuarios.append(user) else: r.usuarios.append(user) transaction.commit() flash("Roles Asignados correctamente") else: flash("Seleccione por lo menos un rol", "warning") return "./"
def asignar_roles(self, *args, **kw): """ Asigna los roles seleccionados a un usuario """ if kw: pks = [] for k, pk in kw.items(): if not k.isalnum(): continue pks.append(int(pk)) transaction.begin() id_user = UrlParser.parse_id(request.url, "nomiembros") id_proyecto = UrlParser.parse_id(request.url, "proyectos") user = Usuario.por_id(id_user) roles = DBSession.query(Rol).filter(Rol.id_rol.in_(pks)).all() for r in roles: if r.tipo.find(u"Plantilla") >= 0: #crear rol a partir de plantilla rol_new = Rol.nuevo_rol_desde_plantilla(plantilla=r, id=id_proyecto) rol_new.usuarios.append(user) else: r.usuarios.append(user) transaction.commit() flash("Roles Asignados correctamente") else: flash("Seleccione por lo menos un rol", "warning") return "./"
def post(self, *args, **kw): if "sprox_id" in kw: del kw["sprox_id"] proy = Proyecto(**kw) DBSession.add(proy) DBSession.flush() proy.codigo = Proyecto.generar_codigo(proy) #Creamos el rol miembro y lider de proyecto para este proyecto. plant_l = Rol.obtener_rol_plantilla(nombre_rol=u"Lider de Proyecto") rol_l = Rol.nuevo_rol_desde_plantilla(plantilla=plant_l, id=proy.id_proyecto) flash("Se ha creado un nuevo proyecto") redirect("/proyectos/")