def listar_linea_base(self, idproyecto,idfase, **named): expresion="" submit=named.get( 'submit') if(submit=="Buscar"): expresion=named.get( 'filtro') if expresion.isdigit(): lista=DBSession.query(LineaBase).filter(LineaBase.estado_id == 1).filter(LineaBase.fase_id==idfase).filter(LineaBase.id == int(expresion)).all() else: lista=DBSession.query(LineaBase).filter(LineaBase.estado_id == 1).filter(LineaBase.fase_id==idfase).all() else: lista=DBSession.query(LineaBase).filter(LineaBase.estado_id == 1).filter(LineaBase.fase_id==idfase).all() fase = DBSession.query(Fase).filter(Fase.id == idfase).one() proyecto = DBSession.query(Proyecto).filter(Proyecto.id == idproyecto).one() from webhelpers import paginate #count = items.count() count = lista.__len__() page =int( named.get( 'page', '1' )) currentPage = paginate.Page( lista, page, item_count=count, items_per_page=2, ) lista = currentPage.items return dict(lista=lista, fase=fase, proyecto=proyecto,filtro=expresion, currentPage=currentPage, page=page)
def actualizar_tipoItem(self, id, idProy, idFase, codItem, nombre, submit): """Create a new movie record""" tipoItem = DBSession.query(TipoItemUsuario).filter_by(id=id).one() tipoItem.descripcion = nombre, tipoItem.codigo = codItem, DBSession.flush() redirect('/tipoItems/tipoItemUsuario/' + idFase + '/lista')
def agregar_tipoItem(self, id): identity = request.environ.get('repoze.who.identity') user = identity['user'] fase = DBSession.query(Fase).filter_by(id=id).one() proyecto = DBSession.query(Proyecto).filter_by( id=fase.proyecto_id).one() todosItems = DBSession.query(TipoItemUsuario).filter_by( fase_id=fase.id) codigos = [] for i, itemUser in enumerate(todosItems): codigos.append(itemUser.codigo) codigos.append(",") tipoItem = TipoItemUsuario() tipoItem.descripcion = '' tipoItem.codigo = '' #fases=DBSession.query(Fase).filter_by(proyecto_id=id) return dict(page='Nuevo recurso', user=user, codigos=codigos, fase=fase, proyecto=proyecto, tipoItem=tipoItem, subtitulo='ABM-Recurso')
def actualizar_fase(self, id, descripcion_proyecto, nombre_fase, numero_fase, submit): fase = DBSession.query(Fase).filter(Fase.id == id).one() fase.descripcion = nombre_fase fase.numero_fase = numero_fase # fase.codigo_fase = codFase DBSession.flush() redirect('/proyecto/definir_fase/' + str(fase.proyecto_id))
def actualizar_tipoItem( self,id,idProy, idFase,codItem,nombre, submit ): """Create a new movie record""" tipoItem = DBSession.query(TipoItemUsuario).filter_by(id=id).one() tipoItem.descripcion=nombre, tipoItem.codigo=codItem, DBSession.flush() redirect( '/tipoItems/tipoItemUsuario/'+ idFase+'/lista')
def atributo_editar(self,id,idAtributo): atributo = DBSession.query(TipoItemUsuarioAtributos).filter_by(id=idAtributo).one() tipoItem=DBSession.query(TipoItemUsuario).filter_by(id=id).one() tipo=DBSession.query(Tipo).filter_by(id=atributo.tipo_id).order_by(Tipo.id) tipos=DBSession.query(Tipo).order_by(Tipo.id) return dict(page='Editar Atributo', id=id,tipo=tipo,idTipo=atributo.tipo_id,tipos=tipos,tipoItem=tipoItem,atributo=atributo,subtitulo='Atributo-Editar')
def atributosDef(self, id, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] tipoItem = DBSession.query(TipoItemUsuario).filter_by(id=id).one() fase = DBSession.query(Fase).filter_by(id=tipoItem.fase_id).one() atributos = DBSession.query(TipoItemUsuarioAtributos).filter_by( tipo_item_id=id).order_by(TipoItemUsuarioAtributos.id) from webhelpers import paginate count = atributos.count() page = int(named.get('page', '1')) currentPage = paginate.Page( atributos, page, item_count=count, items_per_page=3, ) atributos = currentPage.items return dict(page='tipoItemUsuario', user=user, fase=fase, atributos=atributos, tipoItem=tipoItem, subtitulo='ABM-TipoItemUsuario', currentPage=currentPage)
def items_linea_base(self, lb_id, idfase, **named): expresion="" submit=named.get( 'submit') if(submit=="Buscar"): expresion=named.get( 'filtro') expre_cad=expresion items=DBSession.query(ItemUsuario).filter(ItemUsuario.estado_id==3).filter(ItemUsuario.linea_base_id==lb_id).filter(or_(ItemUsuario.descripcion.like('%'+str(expre_cad)+'%'),(ItemUsuario.cod_item.like('%'+str(expre_cad)+'%')))).all() else: items = DBSession.query(ItemUsuario).filter(ItemUsuario.linea_base_id == lb_id).all() fase = DBSession.query(Fase).filter(Fase.id == idfase).one() lineabase = DBSession.query(LineaBase).filter(LineaBase.id == lb_id).one() from webhelpers import paginate #count = items.count() count = items.__len__() page =int( named.get( 'page', '1' )) currentPage = paginate.Page( items, page, item_count=count, items_per_page=2, ) items = currentPage.items return dict(items=items, fase=fase, filtro=expresion, lineabase=lineabase, page = page, currentPage=currentPage)
def saveItemAtri(self, id, descripcion, tipoId, submit): """Create a new movie record""" new = TipoItemUsuarioAtributos(tipo_item_id=id, nombre_atributo=descripcion, tipo_id=tipoId) DBSession.add(new) redirect('./atributosDef/' + id) flash('''Atributo Agregado! %s''')
def agregar_Atributo(self,id): tipoItem=DBSession.query(TipoItemUsuario).filter_by(id=id).one() tipos=DBSession.query(Tipo).order_by(Tipo.id) atributo=TipoItemUsuarioAtributos() atributo.descripcion='' return dict(page='Nuevo Atributo', atributo=atributo, tipoItem=tipoItem,tipos=tipos,subtitulo='Agregar-Atributos')
def actualizar_atributo( self,tipo_item_id, id, nombre,idTipo, submit ): """Create a new movie record""" atributo = DBSession.query(TipoItemUsuarioAtributos).filter_by(id=id).one() atributo.nombre_atributo=nombre, atributo.tipo_item_id=tipo_item_id, atributo.tipo_id=idTipo, DBSession.flush() redirect( './atributosDef/'+ tipo_item_id)
def faseDef(self, id): fases = DBSession.query(Fase).order_by(Fase.id) proyecto = DBSession.query(Proyecto).filter_by(id=id).one() return dict(page='Lista de Fases', id=id, fases=fases, proyecto=proyecto, subtitulo='Lista de Fases')
def save_permiso(self, id, name, descripcion, submit): """Crea un nuevo permiso""" new = Permission( permission_name=name, description=descripcion, ) DBSession.add(new) redirect('./permiso') flash('''Permiso Agregado! %s''')
def actualizar(self, id, descripcion, id_user, submit): """Create a new movie record""" proyecto = DBSession.query(Proyecto).filter_by(id=id).one() proyecto.descripcion = descripcion proyecto.id_lider = id_user DBSession.flush() redirect('/proyecto')
def actualizar_atributo(self, tipo_item_id, id, nombre, idTipo, submit): """Create a new movie record""" atributo = DBSession.query(TipoItemUsuarioAtributos).filter_by( id=id).one() atributo.nombre_atributo = nombre, atributo.tipo_item_id = tipo_item_id, atributo.tipo_id = idTipo, DBSession.flush() redirect('./atributosDef/' + tipo_item_id)
def save_permiso( self, id, name,descripcion, submit ): """Crea un nuevo permiso""" new = Permission( permission_name = name, description = descripcion, ) DBSession.add( new ) redirect( './permiso' ) flash( '''Permiso Agregado! %s''')
def actualizar(self, id, descripcion, id_user , submit): """Create a new movie record""" proyecto = DBSession.query(Proyecto).filter_by(id=id).one() proyecto.descripcion = descripcion proyecto.id_lider = id_user DBSession.flush() redirect('/proyecto')
def usuario_faseList(self, id, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] expresion = named.get('expresion') orden = named.get('submit') usuarioFaseRols = DBSession.query(UsuarioFaseRol).filter( UsuarioFaseRol.fase_id == id).all() for ufr in usuarioFaseRols: if ufr.usuario == None: DBSession.delete(ufr) DBSession.flush() if (orden == None or orden == 'Listar Todos' or orden == 'Cancelar'): usuarioFaseRol = DBSession.query(UsuarioFaseRol).filter( UsuarioFaseRol.fase_id == id).all() muestraBoton = "false" elif (orden == 'Buscar' and expresion != None): usuarioxnombre = DBSession.query(UsuarioFaseRol).join( (User, UsuarioFaseRol.usuario)).filter( UsuarioFaseRol.fase_id == id).filter( User.user_name.like('%' + expresion + '%')).order_by( User.user_name).all() usuarioxrol = DBSession.query(UsuarioFaseRol).join( (Rol, UsuarioFaseRol.rol)).filter( UsuarioFaseRol.fase_id == id).filter( Rol.group_name.like('%' + expresion + '%')).all() usuarioFaseRol1 = usuarioxnombre + usuarioxrol usuarioFaseRol = set(usuarioFaseRol1) usuarioFaseRol = list(usuarioFaseRol) muestraBoton = "true" fase = DBSession.query(Fase).filter(Fase.id == id).one() from webhelpers import paginate count = usuarioFaseRol.__len__() page = int(named.get('page', '1')) currentPage = paginate.Page( usuarioFaseRol, page, item_count=count, items_per_page=5, ) usuarioFaseRol = currentPage.items descripcion = fase.descripcion proyecto = DBSession.query(Proyecto).filter( Proyecto.id == fase.proyecto_id).one() return dict(page='Usuarios de fase ' + descripcion, usuariofaserol=usuarioFaseRol, descripcion=descripcion, fase_id=id, subtitulo='Usuarios de fase', proyecto_id=fase.proyecto_id, user=user, muestraBoton=muestraBoton, proyecto=proyecto, currentPage=currentPage)
def agregar_Atributo(self, id): tipoItem = DBSession.query(TipoItemUsuario).filter_by(id=id).one() tipos = DBSession.query(Tipo).order_by(Tipo.id) atributo = TipoItemUsuarioAtributos() atributo.descripcion = '' return dict(page='Nuevo Atributo', atributo=atributo, tipoItem=tipoItem, tipos=tipos, subtitulo='Agregar-Atributos')
def add_proyecto(self, descripcion, lider, **named): """Registra un proyecto nuevo """ new = Proyecto( descripcion=descripcion, id_lider=lider, estado=1, ) DBSession.add(new) flash('''Proyecto Registrado: %s''' % (descripcion, )) redirect('./index')
def saveItemAtri( self, id,descripcion, tipoId,submit ): """Create a new movie record""" new = TipoItemUsuarioAtributos( tipo_item_id=id, nombre_atributo = descripcion, tipo_id = tipoId ) DBSession.add( new ) redirect( './atributosDef/'+id ) flash( '''Atributo Agregado! %s''')
def add_proyecto(self, descripcion, lider, **named): """Registra un proyecto nuevo """ new = Proyecto( descripcion=descripcion, id_lider=lider, estado=1, ) DBSession.add(new) flash('''Proyecto Registrado: %s''' % (descripcion,)) redirect('./index')
def accionSolicitud( self, idFase, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] lbs=DBSession.query(LineaBase).filter_by(fase_id=idFase).filter_by(estado_id = 2).all() for lb in lbs: accion=named.get(str(lb.id),'') if (accion!="") and (accion=="Cerrar"): lb.estado_id=1 DBSession.flush() ###Cambia Estado del Item items=DBSession.query(ItemUsuario).filter_by(linea_base_id=lb.id).all() for item in items: if(item.estado_id == 5): item.estado_id=3 DBSession.flush estados=[1,2,3,4,5,8] itemsEnLB=DBSession.query(ItemUsuario).filter(ItemUsuario.fase_id==idFase).filter(ItemUsuario.estado_id.in_(estados)).order_by(ItemUsuario.id).all() faseConLB=0 for itemP in itemsEnLB: if itemP.estado_id!=3: faseConLB=1 if faseConLB==0: fase=DBSession.query(Fase).filter_by(id=idFase).one() fase.estado_id=4 DBSession.flush() fase=DBSession.query(Fase).filter_by(id=idFase).one() redirect( '/item/itemList/'+str(fase.id) )
def accionSolicitud(self, idFase, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] lbs = DBSession.query(LineaBase).filter_by(fase_id=idFase).filter_by( estado_id=2).all() for lb in lbs: accion = named.get(str(lb.id), '') if (accion != "") and (accion == "Cerrar"): lb.estado_id = 1 DBSession.flush() ###Cambia Estado del Item items = DBSession.query(ItemUsuario).filter_by( linea_base_id=lb.id).all() for item in items: if (item.estado_id == 5): item.estado_id = 3 DBSession.flush estados = [1, 2, 3, 4, 5, 8] itemsEnLB = DBSession.query(ItemUsuario).filter( ItemUsuario.fase_id == idFase).filter( ItemUsuario.estado_id.in_(estados)).order_by( ItemUsuario.id).all() faseConLB = 0 for itemP in itemsEnLB: if itemP.estado_id != 3: faseConLB = 1 if faseConLB == 0: fase = DBSession.query(Fase).filter_by(id=idFase).one() fase.estado_id = 4 DBSession.flush() fase = DBSession.query(Fase).filter_by(id=idFase).one() redirect('/item/itemList/' + str(fase.id))
def tipoItemUsuario(self,id,expresion,**named): identity = request.environ.get('repoze.who.identity') user = identity['user'] if expresion=="lista": muestraBoton="false" fase = DBSession.query(Fase).filter_by(id=id).one() proyecto = DBSession.query(Proyecto).filter_by(id=fase.proyecto_id).one() tiposItemUs=DBSession.query(TipoItemUsuario).filter_by(fase_id=fase.id).order_by( TipoItemUsuario.id ) else : muestraBoton="true" if expresion.isdigit(): fase = DBSession.query(Fase).filter_by(id=id).one() proyecto = DBSession.query(Proyecto).filter_by(id=fase.proyecto_id).one() tiposItemUs=DBSession.query(TipoItemUsuario).filter_by(fase_id=fase.id).filter_by(id=expresion) else: fase = DBSession.query(Fase).filter_by(id=id).one() proyecto = DBSession.query(Proyecto).filter_by(id=fase.proyecto_id).one() tiposItemUs=DBSession.query(TipoItemUsuario).filter_by(fase_id=fase.id).filter((TipoItemUsuario.descripcion.like('%'+expresion+'%'))).order_by(TipoItemUsuario.id) from webhelpers import paginate count = tiposItemUs.count() page =int( named.get( 'page', '1' )) currentPage = paginate.Page( tiposItemUs, page, item_count=count, items_per_page=3, ) tiposItemUs = currentPage.items return dict(muestraBoton=muestraBoton,user=user,page='tipoItemUsuario',fase=fase, tiposItemUs=tiposItemUs, proyecto=proyecto, subtitulo='ABM-TipoItemUsuario',currentPage = currentPage)
def agregar_fase(self, id): identity = request.environ.get('repoze.who.identity') user = identity['user'] proyecto = DBSession.query(Proyecto).filter(Proyecto.id == id).one() fase = DBSession.query(Fase).filter(Fase.proyecto_id == proyecto.id).all() codigos = [] for i, cod in enumerate(fase): codigos.append(cod.codigo_fase) codigos.append(",") return dict(page='Nueva Fase', proyecto=proyecto, user=user , codigos=codigos)
def actualizar_permiso( self, id, name,descripcion, submit ): """Create a new movie record""" permiso = DBSession.query(Permission).filter_by(permission_id=id).one() permiso.permission_name = name permiso.description = descripcion DBSession.flush() redirect( './permiso' )
def actualizar_permiso(self, id, name, descripcion, submit): """Create a new movie record""" permiso = DBSession.query(Permission).filter_by(permission_id=id).one() permiso.permission_name = name permiso.description = descripcion DBSession.flush() redirect('./permiso')
def save_fase(self, id, descripcion_proyecto, nombre_fase, codFase, submit): fases = DBSession.query(Fase).filter(Fase.proyecto_id == id) num = fases.count() + 1 new = Fase(descripcion=nombre_fase, proyecto_id=id, numero_fase=num, estado_id=3, codigo_fase=codFase ) DBSession.add(new) flash('''Fase Registrada: %s''' % (nombre_fase,)) redirect('/proyecto/definir_fase/' + id)
def save_fase(self, id, descripcion_proyecto, nombre_fase, codFase, submit): fases = DBSession.query(Fase).filter(Fase.proyecto_id == id) num = fases.count() + 1 new = Fase(descripcion=nombre_fase, proyecto_id=id, numero_fase=num, estado_id=3, codigo_fase=codFase) DBSession.add(new) flash('''Fase Registrada: %s''' % (nombre_fase, )) redirect('/proyecto/definir_fase/' + id)
def listar_fases_definidas(self, idfaseDestino,idproyecto, **named): expre_cad="" proyecto = DBSession.query(Proyecto).filter_by(id= idproyecto).one() submit=named.get( 'submit') if(submit=="Buscar"): expresion=named.get( 'filtros') expre_cad=expresion fases = DBSession.query(Fase).filter(Fase.proyecto_id == idproyecto).filter(Fase.descripcion.like('%'+str(expre_cad)+'%')).all() else: fases = DBSession.query(Fase).filter(Fase.proyecto_id == idproyecto).all() return dict(proyecto=proyecto, fases=fases, filtro = expre_cad, idfaseDestino=idfaseDestino)
def agregar_fase(self, id): identity = request.environ.get('repoze.who.identity') user = identity['user'] proyecto = DBSession.query(Proyecto).filter(Proyecto.id == id).one() fase = DBSession.query(Fase).filter( Fase.proyecto_id == proyecto.id).all() codigos = [] for i, cod in enumerate(fase): codigos.append(cod.codigo_fase) codigos.append(",") return dict(page='Nueva Fase', proyecto=proyecto, user=user, codigos=codigos)
def atributo_editar(self, id, idAtributo): atributo = DBSession.query(TipoItemUsuarioAtributos).filter_by( id=idAtributo).one() tipoItem = DBSession.query(TipoItemUsuario).filter_by(id=id).one() tipo = DBSession.query(Tipo).filter_by(id=atributo.tipo_id).order_by( Tipo.id) tipos = DBSession.query(Tipo).order_by(Tipo.id) return dict(page='Editar Atributo', id=id, tipo=tipo, idTipo=atributo.tipo_id, tipos=tipos, tipoItem=tipoItem, atributo=atributo, subtitulo='Atributo-Editar')
def listar_proyectos_definidos(self, idfaseDestino,**named): submit=named.get( 'submit') if(submit=="Buscar"): expresion=named.get( 'filtros') expre_cad=expresion proyectos = DBSession.query(Proyecto).filter(or_(Proyecto.estado == 2,Proyecto.estado == 3 )).filter(Proyecto.descripcion.like('%'+str(expre_cad)+'%')).all() else: proyectos = DBSession.query(Proyecto).filter(or_(Proyecto.estado == 2,Proyecto.estado == 3 )).all() return dict(proyecto=proyectos, filtro='', proy = '1', idfaseDestino=idfaseDestino)
def tipoItem_editar(self,id,idFase): fase=DBSession.query(Fase).filter_by(id=idFase).one() proyecto=DBSession.query(Proyecto).filter_by(id=fase.proyecto_id).one() tipoItem=DBSession.query(TipoItemUsuario).filter_by(id=id).one() todosItems=DBSession.query(TipoItemUsuario).filter_by(fase_id=fase.id) codigos=[] for i, itemUser in enumerate(todosItems): codigos.append(itemUser.codigo) codigos.append(",") identity = request.environ.get('repoze.who.identity') user = identity['user'] return dict(page='Editar Tipo de Item',user=user,codigos=codigos, id=id,proyecto=proyecto,fase=fase,tipoItem=tipoItem,subtitulo='TipoItem-Editar')
def editar_usuario_fase(self, ufr, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] usuarioFaseRol = DBSession.query(UsuarioFaseRol).filter(UsuarioFaseRol.id == ufr).one() fase = DBSession.query(Fase).filter(Fase.id == usuarioFaseRol.fase_id).one() usuario = DBSession.query(User).filter(User.user_id == usuarioFaseRol.user_id).one() rol = DBSession.query(Rol).filter(Rol.group_id == usuarioFaseRol.rol_id).one() roles = DBSession.query(Rol).filter(or_(Rol.group_name == 'Aprobador', Rol.group_name == 'Desarrollador')).all() return dict(page='Editar Usuario de fase' + fase.descripcion, fase=fase, usuario=usuario, roles=roles, rol=rol, user=user, ufr=usuarioFaseRol)
def agregar_usuario_fase(self, id, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] usuarios = DBSession.query(User).join((Rol, User.groups)).filter(or_(Rol.group_name == 'Aprobador', Rol.group_name == 'Desarrollador')).all() roles = DBSession.query(Rol).filter(or_(Rol.group_name == 'Aprobador', Rol.group_name == 'Desarrollador')).all() fase = DBSession.query(Fase).filter(Fase.id == id).one() # usuarioFaseRol = DBSession.query(UsuarioFaseRol).filter(UsuarioFaseRol.fase_id == id).all() return dict(page='Asignar Usuario a fase ' + fase.descripcion, usuarios=usuarios, roles=roles, proyecto_id=id, user=user, fase=fase)
def nuevo(self): """Handle the front-page.""" identity = request.environ.get('repoze.who.identity') user = identity['user'] lideres = DBSession.query(User).join( (Rol, User.groups)).filter(Rol.group_name == 'LiderProyecto').all() nombreProyectos = [] proyectos = DBSession.query(Proyecto).all() for proyecto in proyectos: nombreProyectos.append(proyecto.descripcion) nombreProyectos.append(",") return dict(page='Nuevo Proyecto', lideres=lideres, nombreProyectos=nombreProyectos, user=user)
def nuevo(self): """Handle the front-page.""" identity = request.environ.get('repoze.who.identity') user = identity['user'] lideres = DBSession.query(User).join((Rol, User.groups)).filter(Rol.group_name == 'LiderProyecto').all() nombreProyectos = [] proyectos = DBSession.query(Proyecto).all() for proyecto in proyectos: nombreProyectos.append(proyecto.descripcion) nombreProyectos.append(",") return dict( page='Nuevo Proyecto', lideres=lideres, nombreProyectos=nombreProyectos, user=user )
def listar_linea_base(self, idproyecto, idfase, **named): expresion = "" submit = named.get('submit') if (submit == "Buscar"): expresion = named.get('filtro') if expresion.isdigit(): lista = DBSession.query(LineaBase).filter( LineaBase.estado_id == 1).filter( LineaBase.fase_id == idfase).filter( LineaBase.id == int(expresion)).all() else: lista = DBSession.query(LineaBase).filter( LineaBase.estado_id == 1).filter( LineaBase.fase_id == idfase).all() else: lista = DBSession.query(LineaBase).filter( LineaBase.estado_id == 1).filter( LineaBase.fase_id == idfase).all() fase = DBSession.query(Fase).filter(Fase.id == idfase).one() proyecto = DBSession.query(Proyecto).filter( Proyecto.id == idproyecto).one() from webhelpers import paginate #count = items.count() count = lista.__len__() page = int(named.get('page', '1')) currentPage = paginate.Page( lista, page, item_count=count, items_per_page=2, ) lista = currentPage.items return dict(lista=lista, fase=fase, proyecto=proyecto, filtro=expresion, currentPage=currentPage, page=page)
def agregar_permiso(self): permiso = Permission permiso.permission_name = '' permiso.description ='' permisos=DBSession.query(Permission) return dict(page = 'Nuevo Permiso', permisos = permisos, permiso = permiso, subtitulo = 'ABM-Permiso')
def saveItem(self, idProy, idFase, codItem, descripcion, submit): """Create a new movie record""" listaIds = DBSession.query(TipoItemUsuario).order_by( TipoItemUsuario.id) if (listaIds.count() > 0): list = listaIds[-1] id = list.id + 1 else: id = 1 new = TipoItemUsuario(id=id, descripcion=descripcion, fase_id=idFase, codigo=codItem) DBSession.add(new) redirect('./tipoItemUsuario/' + idFase + '/lista') flash('''Tipo Item Agregado! %s''')
def editar_fase(self, id): identity = request.environ.get('repoze.who.identity') user = identity['user'] fase = DBSession.query(Fase).filter(Fase.id == id).one() fases = DBSession.query(Fase).filter(Fase.proyecto_id == fase.proyecto_id).all() codigos = [] for i, cod in enumerate(fases): codigos.append(cod.codigo_fase) codigos.append(",") return dict(page='Editar fase', id=id, fase=fase, user=user, codigos=codigos, subtitulo='ABM-Fase')
def proyectoDef(self, id, **named): fases = DBSession.query(Fase).filter(Fase.proyecto_id == id) proyecto_id = id return dict(page='Definir Proyecto', proyecto_id=proyecto_id, subtitulo='Definir Proyecto')
def editar(self, id): identity = request.environ.get('repoze.who.identity') user = identity['user'] proyecto = DBSession.query(Proyecto).filter_by(id=id).one() if proyecto.lider != None: usuarios = DBSession.query(User).join((Rol, User.groups)).filter(Rol.group_name == 'LiderProyecto').filter(User.user_id != proyecto.lider.user_id).all() else: usuarios = DBSession.query(User).join((Rol, User.groups)).filter(Rol.group_name == 'LiderProyecto') return dict(page='Editar Proyecto', id=id, proyecto=proyecto, subtitulo='ABM-Proyecto', user=user, usuarios=usuarios)
def importar_tipoItems_proyecto(self, idfaseDestino,idfase, **named): #proyecto= DBSession.query(Proyecto).filter(Proyecto.id == idproyecto).one() itemSeleccionado=DBSession.query(TipoItemUsuario).filter_by(id=-1) itemselect=named.get( 'itemselect','0') if (itemselect!=0 ): try: itemselect=int(itemselect) itemselect=[itemselect] itemSeleccionado=DBSession.query(TipoItemUsuario).filter(TipoItemUsuario.id.in_(itemselect)).order_by(TipoItemUsuario.id) except: itemSeleccionado=DBSession.query(TipoItemUsuario).filter(TipoItemUsuario.id.in_(itemselect)).order_by(TipoItemUsuario.id) fase= DBSession.query(Fase).filter(Fase.id == idfase).one() proyecto = DBSession.query(Proyecto).filter(Proyecto.id == fase.proyecto_id).one() submit=named.get('submit') if(submit=="Buscar"): expresion=named.get( 'filtros') expre_cad=expresion itemUsuarios = DBSession.query(TipoItemUsuario).filter(TipoItemUsuario.fase_id == idfase).filter(or_(TipoItemUsuario.descripcion.like('%'+str(expre_cad)+'%'),(TipoItemUsuario.codigo.like('%'+str(expre_cad)+'%')))).all() else: itemUsuarios = DBSession.query(TipoItemUsuario).filter(TipoItemUsuario.fase_id == idfase).all() return dict(listaItemUser=itemUsuarios, proyecto=proyecto, itemSeleccionado=itemSeleccionado, filtro = "",fase=fase,idfaseDestino=idfaseDestino)
def usuario_faseList(self, id, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] expresion = named.get('expresion') orden = named.get('submit') usuarioFaseRols = DBSession.query(UsuarioFaseRol).filter(UsuarioFaseRol.fase_id == id).all() for ufr in usuarioFaseRols: if ufr.usuario == None: DBSession.delete(ufr) DBSession.flush() if(orden == None or orden == 'Listar Todos' or orden == 'Cancelar'): usuarioFaseRol = DBSession.query(UsuarioFaseRol).filter(UsuarioFaseRol.fase_id == id).all() muestraBoton = "false" elif(orden == 'Buscar' and expresion != None): usuarioxnombre = DBSession.query(UsuarioFaseRol).join((User, UsuarioFaseRol.usuario)).filter(UsuarioFaseRol.fase_id == id).filter(User.user_name.like('%' + expresion + '%')).order_by(User.user_name).all() usuarioxrol = DBSession.query(UsuarioFaseRol).join((Rol, UsuarioFaseRol.rol)).filter(UsuarioFaseRol.fase_id == id).filter(Rol.group_name.like('%' + expresion + '%')).all() usuarioFaseRol1 = usuarioxnombre + usuarioxrol usuarioFaseRol = set(usuarioFaseRol1) usuarioFaseRol = list(usuarioFaseRol) muestraBoton = "true" fase = DBSession.query(Fase).filter(Fase.id == id).one() from webhelpers import paginate count = usuarioFaseRol.__len__() page = int(named.get('page', '1')) currentPage = paginate.Page( usuarioFaseRol, page, item_count=count, items_per_page=5, ) usuarioFaseRol = currentPage.items descripcion = fase.descripcion proyecto = DBSession.query(Proyecto).filter(Proyecto.id==fase.proyecto_id).one() return dict(page='Usuarios de fase ' + descripcion, usuariofaserol=usuarioFaseRol, descripcion=descripcion, fase_id=id, subtitulo='Usuarios de fase', proyecto_id=fase.proyecto_id, user=user, muestraBoton=muestraBoton, proyecto=proyecto, currentPage=currentPage )
def agregar_permiso(self): permiso = Permission permiso.permission_name = '' permiso.description = '' permisos = DBSession.query(Permission) return dict(page='Nuevo Permiso', permisos=permisos, permiso=permiso, subtitulo='ABM-Permiso')
def atributosDef(self,id,**named): identity = request.environ.get('repoze.who.identity') user = identity['user'] tipoItem = DBSession.query(TipoItemUsuario).filter_by(id=id).one() fase=DBSession.query(Fase).filter_by(id=tipoItem.fase_id).one() atributos=DBSession.query(TipoItemUsuarioAtributos).filter_by(tipo_item_id=id).order_by( TipoItemUsuarioAtributos.id ) from webhelpers import paginate count = atributos.count() page =int( named.get( 'page', '1' )) currentPage = paginate.Page( atributos, page, item_count=count, items_per_page=3, ) atributos = currentPage.items return dict(page='tipoItemUsuario',user=user, fase=fase, atributos=atributos, tipoItem=tipoItem, subtitulo='ABM-TipoItemUsuario',currentPage = currentPage)
def saveItem( self, idProy, idFase, codItem, descripcion,submit ): """Create a new movie record""" listaIds=DBSession.query(TipoItemUsuario).order_by(TipoItemUsuario.id) if (listaIds.count()>0): list=listaIds[-1] id=list.id + 1 else: id=1 new = TipoItemUsuario( id=id, descripcion = descripcion, fase_id = idFase, codigo = codItem ) DBSession.add( new ) redirect( './tipoItemUsuario/'+idFase+'/lista' ) flash( '''Tipo Item Agregado! %s''')
def agregar_usuario_fase(self, id, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] usuarios = DBSession.query(User).join((Rol, User.groups)).filter( or_(Rol.group_name == 'Aprobador', Rol.group_name == 'Desarrollador')).all() roles = DBSession.query(Rol).filter( or_(Rol.group_name == 'Aprobador', Rol.group_name == 'Desarrollador')).all() fase = DBSession.query(Fase).filter(Fase.id == id).one() # usuarioFaseRol = DBSession.query(UsuarioFaseRol).filter(UsuarioFaseRol.fase_id == id).all() return dict(page='Asignar Usuario a fase ' + fase.descripcion, usuarios=usuarios, roles=roles, proyecto_id=id, user=user, fase=fase)
def editar_fase(self, id): identity = request.environ.get('repoze.who.identity') user = identity['user'] fase = DBSession.query(Fase).filter(Fase.id == id).one() fases = DBSession.query(Fase).filter( Fase.proyecto_id == fase.proyecto_id).all() codigos = [] for i, cod in enumerate(fases): codigos.append(cod.codigo_fase) codigos.append(",") return dict(page='Editar fase', id=id, fase=fase, user=user, codigos=codigos, subtitulo='ABM-Fase')
def tipoItemUsuario(self, id, expresion, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] if expresion == "lista": muestraBoton = "false" fase = DBSession.query(Fase).filter_by(id=id).one() proyecto = DBSession.query(Proyecto).filter_by( id=fase.proyecto_id).one() tiposItemUs = DBSession.query(TipoItemUsuario).filter_by( fase_id=fase.id).order_by(TipoItemUsuario.id) else: muestraBoton = "true" if expresion.isdigit(): fase = DBSession.query(Fase).filter_by(id=id).one() proyecto = DBSession.query(Proyecto).filter_by( id=fase.proyecto_id).one() tiposItemUs = DBSession.query(TipoItemUsuario).filter_by( fase_id=fase.id).filter_by(id=expresion) else: fase = DBSession.query(Fase).filter_by(id=id).one() proyecto = DBSession.query(Proyecto).filter_by( id=fase.proyecto_id).one() tiposItemUs = DBSession.query(TipoItemUsuario).filter_by( fase_id=fase.id).filter( (TipoItemUsuario.descripcion.like('%' + expresion + '%') )).order_by(TipoItemUsuario.id) from webhelpers import paginate count = tiposItemUs.count() page = int(named.get('page', '1')) currentPage = paginate.Page( tiposItemUs, page, item_count=count, items_per_page=3, ) tiposItemUs = currentPage.items return dict(muestraBoton=muestraBoton, user=user, page='tipoItemUsuario', fase=fase, tiposItemUs=tiposItemUs, proyecto=proyecto, subtitulo='ABM-TipoItemUsuario', currentPage=currentPage)
def proyectoDef(self, id, **named): fases = DBSession.query(Fase).filter(Fase.proyecto_id == id) proyecto_id = id return dict(page='Definir Proyecto', proyecto_id=proyecto_id, subtitulo='Definir Proyecto' )
def items_linea_base(self, lb_id, idfase, **named): expresion = "" submit = named.get('submit') if (submit == "Buscar"): expresion = named.get('filtro') expre_cad = expresion items = DBSession.query(ItemUsuario).filter( ItemUsuario.estado_id == 3).filter( ItemUsuario.linea_base_id == lb_id).filter( or_( ItemUsuario.descripcion.like('%' + str(expre_cad) + '%'), (ItemUsuario.cod_item.like('%' + str(expre_cad) + '%')))).all() else: items = DBSession.query(ItemUsuario).filter( ItemUsuario.linea_base_id == lb_id).all() fase = DBSession.query(Fase).filter(Fase.id == idfase).one() lineabase = DBSession.query(LineaBase).filter( LineaBase.id == lb_id).one() from webhelpers import paginate #count = items.count() count = items.__len__() page = int(named.get('page', '1')) currentPage = paginate.Page( items, page, item_count=count, items_per_page=2, ) items = currentPage.items return dict(items=items, fase=fase, filtro=expresion, lineabase=lineabase, page=page, currentPage=currentPage)
def listar_proyectos_definidos(self, idfaseDestino, **named): submit = named.get('submit') if (submit == "Buscar"): expresion = named.get('filtros') expre_cad = expresion proyectos = DBSession.query(Proyecto).filter( or_(Proyecto.estado == 2, Proyecto.estado == 3)).filter( Proyecto.descripcion.like('%' + str(expre_cad) + '%')).all() else: proyectos = DBSession.query(Proyecto).filter( or_(Proyecto.estado == 2, Proyecto.estado == 3)).all() return dict(proyecto=proyectos, filtro='', proy='1', idfaseDestino=idfaseDestino)
def listar_fases_definidas(self, idfaseDestino, idproyecto, **named): expre_cad = "" proyecto = DBSession.query(Proyecto).filter_by(id=idproyecto).one() submit = named.get('submit') if (submit == "Buscar"): expresion = named.get('filtros') expre_cad = expresion fases = DBSession.query(Fase).filter( Fase.proyecto_id == idproyecto).filter( Fase.descripcion.like('%' + str(expre_cad) + '%')).all() else: fases = DBSession.query(Fase).filter( Fase.proyecto_id == idproyecto).all() return dict(proyecto=proyecto, fases=fases, filtro=expre_cad, idfaseDestino=idfaseDestino)
def avisoEliminarProyecto(self, id, **named): identity = request.environ.get('repoze.who.identity') user = identity['user'] proyecto = DBSession.query(Proyecto).filter_by(id=id).one() return dict(page='Aviso Editar Item', user=user, fases=proyecto.fases, proyecto=proyecto, subtitulo='Aviso')
def editar(self, id): identity = request.environ.get('repoze.who.identity') user = identity['user'] proyecto = DBSession.query(Proyecto).filter_by(id=id).one() if proyecto.lider != None: usuarios = DBSession.query(User).join((Rol, User.groups)).filter( Rol.group_name == 'LiderProyecto').filter( User.user_id != proyecto.lider.user_id).all() else: usuarios = DBSession.query(User).join( (Rol, User.groups)).filter(Rol.group_name == 'LiderProyecto') return dict(page='Editar Proyecto', id=id, proyecto=proyecto, subtitulo='ABM-Proyecto', user=user, usuarios=usuarios)