def borrar_by_id(self,id_tipo_fase): """ Elimina el Tipo de Fase. """ DBSession.delete(DBSession.query(Tipo_Fase).get(id_tipo_fase)) DBSession.flush()
def borrar_by_id(self,id_historial): """ Elimina un historial. """ DBSession.delete(DBSession.query(Historial).get(id_historial)) DBSession.flush()
def post_tipo_item(self, nombre_tipo_item, codigo_tipo_item, descripcion, campo, valor): tipo_item = Tipo_Item( nombre_tipo_item=nombre_tipo_item, codigo_tipo_item=codigo_tipo_item, descripcion=descripcion ) DBSession.add(tipo_item) if campo is not None: if not isinstance(campo, list): campo = [campo] if valor is not None: if not isinstance(valor, list): valor = [valor] indice = 0 id_tipo = Tipo_Item.get_ultimo_id() for c in campo: if len(c) > 0: camp = Tipo_Campos(id_tipo_item=id_tipo, nombre_campo=c, valor_campo=valor[indice]) DBSession.add(camp) indice += 1 flash("Tipo Item Agregado!") redirect("/tipo_item/tipo_item")
def borrar_by_id(self,id_tipo_item): """ Obtiene la lista de todos los tipo_item """ DBSession.delete(DBSession.query(Tipo_Item).get(id_tipo_item)) DBSession.flush()
def borrar_by_id(self,rel_id): """ Elimina una relación. """ DBSession.delete(DBSession.query(Relaciones).get(rel_id)) DBSession.flush()
def seleccionar_tipo(self,id_fase,*args, **kw): nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") if id_fase is not None: id_fase=int(id_fase) fase = DBSession.query(Fase).get(id_fase) tipos_items = DBSession.query(Tipo_Item).all() tipos = fase.tipos_items tipos_items2 = [] for tip in tipos: tipos_items2.append(tip.id_tipo_item) if request.method != 'PUT': values = dict(id_fase=fase.id_fase, nombre_fase=fase.nombre_fase, id_tipo_fase=fase.id_tipo_fase, nombre_tipo_fase=fase.nombre_tipo_fase, estado=fase.estado, linea_base=fase.linea_base, descripcion=fase.descripcion, ) return dict(pagina="seleccionar_tipo",values=values, tipos_items=tipos_items,tipos_items2=tipos_items2, nom_proyecto=nom_proyecto,nom_fase=nom_fase)
def borrar_by_id(self,id_campos): """ Elimina un campo. """ DBSession.delete(DBSession.query(Campos).get(id_campos)) DBSession.flush()
def put_seleccionar_tipo(self, id_fase, nombre_fase, id_tipo_fase, tipos_items, descripcion, asmSelect0, nombre_tipo_fase,**kw): if id_fase is not None: id_fase=int(id_fase) if id_tipo_fase is not None: id_tipo_fase=int(id_tipo_fase) fase = Fase.get_fase_by_id(id_fase) if not isinstance(tipos_items, list): tipos_items = [tipos_items] tipos_items = [DBSession.query(Tipo_Item).get(tipo_item) for tipo_item in tipos_items] fase.nombre_fase = nombre_fase fase.id_tipo_fase=id_tipo_fase fase.estado = fase.estado fase.linea_base = fase.linea_base fase.descripcion = descripcion fase.tipos_items=tipos_items DBSession.flush() flash("Tipos Item agregados!") redirect('/proyecto/proyecto')
def borrar_by_id(self, id_miembro): """ Elimina un miembro de equipo. """ DBSession.delete(DBSession.query(Equipo_Desarrollo).get(id_miembro)) DBSession.flush()
def borrar_by_id(self,id_proyecto): """ Obtiene la lista de todos los proyecto """ DBSession.delete(DBSession.query(Proyecto).get(id_proyecto)) DBSession.flush()
def borrar_by_id(self,id_campo): """ Elimina el tipo de campo. """ DBSession.delete(DBSession.query(Tipo_Campos).get(id_campo)) DBSession.flush()
def put_privilegio(self, idprivilegio, nombreprivilegio, descripcion, **kw): if idprivilegio is not None: idprivilegio = int(idprivilegio) privilegio = Privilegios.get_privilegio_by_id(idprivilegio) nombres = Privilegios.get_nombreprivilegio() if not isinstance(nombres, list): nombres = [nombres] if privilegio.nombreprivilegio in nombres: nombres.remove(privilegio.nombreprivilegio) if nombreprivilegio not in nombres: privilegio.nombreprivilegio = nombreprivilegio privilegio.descripcion = descripcion DBSession.flush() flash("Privilegio modificado!") redirect("/privilegio") else: nom_proyecto = Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase = Variables.get_valor_by_nombre("nombre_fase_actual") values = dict(idprivilegio=idprivilegio, nombreprivilegio=nombreprivilegio, descripcion=descripcion) flash("Nombre del Privilegio ya existe!") return dict(pagina="editar_privilegio", values=values, nom_proyecto=nom_proyecto, nom_fase=nom_fase)
def ingresar(self,id_proyecto): nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") usuario=Usuario.get_user_by_alias( request.identity['repoze.who.userid']) if id_proyecto is not None: id_proyecto=int(id_proyecto) proyecto=Proyecto.get_proyecto_by_id(id_proyecto) Variables.set_valor_by_nombre("fase_actual",0) Variables.set_valor_by_nombre("proyecto_actual",proyecto.id_proyecto) Variables.set_valor_by_nombre("nombre_proyecto_actual", proyecto.nombre_proyecto) miembros=Equipo_Desarrollo.get_miembros_by_proyecto(proyecto.id_proyecto) rol="" for miembro in miembros: if ( miembro.idusuario == usuario.idusuario ): temp=int (Variables.get_valor_by_nombre("rol_anterior")) if temp == 0: Variables.set_valor_by_nombre("rol_anterior", usuario.roles[0].idrol) Variables.set_valor_by_nombre("rol_actual",miembro.idrol) rol=Rol.get_rol_by_id(miembro.idrol) usuario.roles=[] DBSession.flush() usuario.roles.append(rol) DBSession.flush() break; redirect('/')
def post_logout(self, came_from=url("/")): """ Redirect the user to the initially requested page on logout and say goodbye as well. """ condicion = int(Variables.get_valor_by_nombre("rol_anterior")) if condicion > 0: usuario = Usuario.get_user_by_alias(Variables.get_valor_by_nombre("usuario_actual")) Variables.set_valor_by_nombre("fase_actual", 0) Variables.set_valor_by_nombre("proyecto_actual", 0) Variables.set_valor_by_nombre("nombre_proyecto_actual", "") Variables.set_valor_by_nombre("nombre_fase_actual", "") Variables.set_valor_by_nombre("usuario_actual", "") rol = int(Variables.get_valor_by_nombre("rol_anterior")) Variables.set_valor_by_nombre("rol_actual", 0) Variables.set_valor_by_nombre("rol_anterior", 0) rol2 = Rol.get_rol_by_id(rol) usuario.roles = [] usuario.roles.append(rol2) DBSession.flush() flash(_("Hasta luego!")) redirect("/")
def borrar_by_id(self,id_item): """ Eliina un item específico. """ DBSession.delete(DBSession.query(Item).get(id_item)) DBSession.flush()
def post_miembro(self, idusuario, idrol, asmSelect0, fases): if idusuario is not None: idusuario = int(idusuario) if idrol is not None: idrol = int(idrol) if fases is not None: if not isinstance(fases, list): fases = [fases] fases = [DBSession.query(Fase).get(fase) for fase in fases] valor=int( Variables.get_valor_by_nombre("proyecto_actual")) equipo = Equipo_Desarrollo(proyecto=valor, idusuario=idusuario, idrol=idrol, fases=fases) # usuario = Usuario.get_user_by_id(idusuario) # rol = Rol.get_rol_by_id(idrol) # usuario.roles=[] # usuario.roles.append(rol) DBSession.add(equipo) DBSession.flush() flash("Miembro Agregado Agregado!") redirect('/equipo/equipo')
def post_delete_miembro(self, id_equipo, nombre_usuario, nombre_rol, **kw): if id_equipo is not None: id_equipo=int(id_equipo) Equipo_Desarrollo.borrar_by_id(id_equipo) DBSession.flush() flash("Miembro eliminado!") redirect('/equipo/equipo')
def post_delete_fase(self, id_fase, nombre_fase, nombre_tipo_fase, estado, descripcion, **kw): Fase.borrar_by_id(id_fase) DBSession.flush() flash("Fase eliminada!") redirect('/fase/fase')
def finalizar(self, id_item): """ """ proyecto = DBSession.query(Item).get(id_item) if item.estado == "con_linea_base": item.estado="finalizado" DBSession.flush()
def post_delete_rol(self, idrol, nombrerol, descripcion, privilegios, **kw): if idrol is not None: idrol = int(idrol) Rol.borrar_by_id(idrol) DBSession.flush() flash("Rol eliminado!") redirect("/rol")
def post_delete_privilegio(self, idprivilegio, nombreprivilegio, descripcion, **kw): if idprivilegio is not None: idprivilegio = int(idprivilegio) Privilegios.borrar_by_id(idprivilegio) DBSession.flush() flash("Privilegio eliminado!") redirect("/privilegio")
def con_linea_base(self, id_item): """ Se asigna al item como parte de la linea base. """ item = DBSession.query(Item).get(id_item) if item.estado == "aprobado": item.estado="con_linea_base" DBSession.flush()
def put_fase(self, id_fase, nombre_fase, id_tipo_fase, tipos_items, descripcion, asmSelect0, **kw): if id_fase is not None: id_fase=int(id_fase) if id_tipo_fase is not None: id_tipo_fase=int(id_tipo_fase) fase =Fase.get_fase_by_id(id_fase) nombres=Fase.get_nombres_by_id(fase.proyecto) nombres.remove(fase.nombre_fase) if not isinstance(tipos_items, list): tipos_items = [tipos_items] tipos_items = [DBSession.query(Tipo_Item).get(tipo_item) for tipo_item in tipos_items] if nombre_fase not in nombres: fase.nombre_fase = nombre_fase fase.id_tipo_fase=id_tipo_fase fase.estado = fase.estado fase.linea_base = fase.linea_base fase.descripcion = descripcion fase.tipos_items=tipos_items DBSession.flush() flash("Fase modificada!") redirect('/fase/fase') else: nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") id_tipo_fase=fase.id_tipo_fase tipos_fases = Tipo_Fase.get_tipo_fases() tipos = fase.tipos_items lista=[] lista.append(id_tipo_fase) tipos = fase.tipos_items tipos_items2 = [] for tip in tipos: tipos_items2.append(tip.id_tipo_item) values = dict(id_fase=id_fase, nombre_fase=nombre_fase, descripcion=descripcion, ) flash("El nombre de fase solicitado ya existe!") return dict(pagina="editar_fase",values=values, tipos_fases=tipos_fases,tipos_items=tipos_items, tipos_items2=tipos_items2,lista=lista, id_tipo_fase=id_tipo_fase,nom_fase=nom_fase, nom_proyecto= nom_proyecto )
def activar(self, id_item): """ Activa un item. """ item = DBSession.query(Item).get(id_item) if item.estado == "nuevo": item.estado="en_desarrollo" DBSession.flush()
def revisar(self, id_item): """ El item se pasa al estado 'a revisar'. """ item = DBSession.query(Item).get(id_item) if item.estado == "aprobado" or item.estado == "con_linea_base": item.estado="a_revisar" DBSession.flush()
def aprobar(self, id_item): """ Aprueba un item en estado en desarrollo. """ item = DBSession.query(Item).get(id_item) if item.estado == "en_desarrollo": item.estado="aprobado" DBSession.flush()
def post_revivir_item(self, id_item, nombre_item , codigo_item, nombre_tipo_item, estado, complejidad, **kw): item = Item.get_item_by_id(id_item) item.estado_oculto="Activo" DBSession.add(item) DBSession.flush() flash("item Revivido!") redirect('/item/item')
def set_valor_by_nombre(self, nombre, valor): """ Setea el nombre de una variable. """ variables = DBSession.query(Variables).all() for var in variables: if (var.nombre == nombre): var.valor=valor DBSession.flush()
def post_delete_tipo_fase(self, id_tipo_fase, nombre_tipo_fase, descripcion, **kw): if id_tipo_fase is not None: id_tipo_fase=int(id_tipo_fase) Tipo_Fase.borrar_by_id(id_tipo_fase) DBSession.flush() flash("Tipo de Fase eliminada!") redirect('/tipo_fase')
def get_proyectos_por_filtro(self,param,texto): """ Obtiene los proyectos buscados por nombre o descripción del proyecto. """ if param == "nombre": proyectos = DBSession.query(Proyecto).filter(Proyecto.nombre_proyecto.like('%s%s%s' % ('%',texto,'%'))).all() elif param == "descripcion": proyectos = DBSession.query(Proyecto).filter(Proyecto.descripcion.like('%s%s%s' % ('%',texto,'%'))).all() return proyectos