def tipo_fase(self,start=0,end=5,indice=None,texto=""): """ Menu para Tipos de Fase """ nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") paginado = 5 if start <> 0: end=int(start.split('=')[1]) #obtiene el fin de pagina start=int(start.split('&')[0]) #obtiene el inicio de pagina #print start,end #total = len(Tipo_Fase.get_tipo_fases()) pagina_actual = ((start % end) / paginado) + 1 if ((start % end) % paginado) <> 0: pagina_actual = pagina_actual + 1 if indice <> None and texto <> "": tipos_fases = Tipo_Fase.get_tipo_fase_por_filtro(indice,texto) total = len(tipos_fases) else: tipos_fases = Tipo_Fase.get_tipo_fase_por_pagina(start,end) total = len(Tipo_Fase.get_tipo_fases()) lista = ['nombre','descripcion'] return dict(pagina="tipo_fase",tipos_fases=tipos_fases, nom_proyecto=nom_proyecto,nom_fase=nom_fase, inicio=start,fin=end,paginado=paginado, pagina_actual=pagina_actual,total=total, param="/tipo_fase/tipo_fase",lista=lista)
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 editar_tipo_fase(self,id_tipo_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_tipo_fase is not None: id_tipo_fase=int(id_tipo_fase) tipo_fase = Tipo_Fase.get_tipo_fase_by_id(id_tipo_fase) tipos_items = Tipo_Item.get_tipos_items() tipos = tipo_fase.tipos_items tipos_items2 = [] for tip in tipos: tipos_items2.append(tip.id_tipo_item) if request.method != 'PUT': values = dict(id_tipo_fase=tipo_fase.id_tipo_fase, nombre_tipo_fase=tipo_fase.nombre_tipo_fase, descripcion=tipo_fase.descripcion, ) return dict(pagina="editar_tipo_fase",values=values, tipos_items=tipos_items, nom_proyecto=nom_proyecto, tipos_items2=tipos_items2,nom_fase=nom_fase)
def editar_proyecto(self, id_proyecto, *args, **kw): nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") if id_proyecto is not None: id_proyecto=int(id_proyecto) usuarios = Usuario.get_usuarios() tipos_fases = Tipo_Fase.get_tipo_fases() proyecto = Proyecto.get_proyecto_by_id(id_proyecto) usuario2 = Usuario.get_user_by_id(int(proyecto.idusuario)) tipos = proyecto.tipos_fases tipos_fases2 = [] for tip in tipos: tipos_fases2.append(tip.id_tipo_fase) values = dict(id_proyecto=proyecto.id_proyecto, nombre_proyecto=proyecto.nombre_proyecto, descripcion=proyecto.descripcion, idusuario=proyecto.idusuario ) values.update(kw) return dict(pagina="editar_proyecto",values=values, usuarios=usuarios, tipos_fases=tipos_fases, tipos_fases2=tipos_fases2, usuario2=usuario2, nom_proyecto=nom_proyecto, nom_fase=nom_fase)
def ver_tipos_items(self,id_tipo_fase): """Lista privilegios """ nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") if id_tipo_fase is not None: id_tipo_fase=int(id_tipo_fase) tipo_fase=Tipo_Fase.get_tipo_fase_by_id(id_tipo_fase) values = dict(id_tipo_fase=tipo_fase.id_tipo_fase, nombre_tipo_fase=tipo_fase.nombre_tipo_fase, descripcion=tipo_fase.descripcion ) tipos =tipo_fase.tipos_items tipos_items = [] for t in tipos: tipos_items.append(t) return dict(pagina="listar_mis_tipos_items",tipos_items=tipos_items, nom_proyecto=nom_proyecto,nom_fase=nom_fase, values=values)
def editar_fase(self,id_fase,*args, **kw): """ Permite editar una fase. Es posible la modificación del nombre de la fase y de su descripción. """ 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) tipos_fases = Tipo_Fase.get_tipo_fases() fase = Fase.get_fase_by_id(id_fase) tipos_items = Tipo_Item.get_tipos_items() id_tipo_fase=int(fase.id_tipo_fase) lista=[] lista.append(id_tipo_fase) 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, descripcion=fase.descripcion, ) return dict(pagina="editar_fase",values=values,tipos_fases=tipos_fases, tipos_items=tipos_items,tipos_items2=tipos_items2, lista=lista,nom_fase=nom_fase, nom_proyecto= nom_proyecto )
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 listar_tipo_fase(self): """Lista tipos de fases """ nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") tipos_fases = Tipo_Fase.get_tipo_fase() return dict(pagina="listar_tipo_fase",tipos_fases=tipos_fases, nom_proyecto=nom_proyecto,nom_fase=nom_fase)
def agregar_proyecto(self, *args, **kw): nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") usuarios = Usuario.get_usuarios() tipos_fases = Tipo_Fase.get_tipo_fases() return dict(pagina="agregar_proyecto",values=kw, tipos_fases=tipos_fases, usuarios=usuarios,nom_proyecto=nom_proyecto ,nom_fase=nom_fase)
def agregar_fase(self, *args, **kw): nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") tipos_fases = Tipo_Fase.get_tipo_fases() tipos_items = Tipo_Item.get_tipos_items() return dict(pagina="agregar_fase",values=kw, tipos_fases=tipos_fases, tipos_items=tipos_items,nom_proyecto=nom_proyecto ,nom_fase=nom_fase)
def eliminar_tipo_fase(self,id_tipo_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_tipo_fase is not None: id_tipo_fase=int(id_tipo_fase) tipo_fase =Tipo_Fase.get_tipo_fase_by_id(id_tipo_fase) values = dict(id_tipo_fase=tipo_fase.id_tipo_fase, nombre_tipo_fase=tipo_fase.nombre_tipo_fase, descripcion=tipo_fase.descripcion, ) return dict(pagina="eliminar_tipo_fase",values=values, nom_proyecto=nom_proyecto,nom_fase=nom_fase)
def post_fase(self, nombre_fase, id_tipo_fase, tipos_items, descripcion, asmSelect0): """ Permite agregar una nueva fase al proyecto. """ proyecto=int(Variables.get_valor_by_nombre("proyecto_actual")) nombres=Fase.get_nombres_by_id(proyecto) if not isinstance(nombres, list): nombres = [nombres] if nombre_fase not in nombres: if id_tipo_fase is not None: id_tipo_fase = int(id_tipo_fase) if tipos_items is not None: 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 = Fase (nombre_fase=nombre_fase, id_tipo_fase=id_tipo_fase, estado="nuevo", linea_base="abierta", descripcion=descripcion,tipos_items=tipos_items, proyecto=0,orden=0) DBSession.add(fase) DBSession.flush() flash("Fase agregada!") redirect('/fase/fase') else: nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") tipos_fases = Tipo_Fase.get_tipo_fases() tipos_items = Tipo_Item.get_tipos_items() values = dict(nombre_fase=nombre_fase, descripcion=descripcion, ) flash("Nombre de Fase es repetido!") return dict(pagina="agregar_fase",values=values, tipos_fases=tipos_fases, tipos_items=tipos_items,nom_proyecto=nom_proyecto ,nom_fase=nom_fase)
def put_tipo_fase(self, id_tipo_fase, nombre_tipo_fase, descripcion, tipos_items, **kw): if id_tipo_fase is not None: id_tipo_fase=int(id_tipo_fase) tipo_fase = Tipo_Fase.get_tipo_fase_by_id(id_tipo_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] tipo_fase.nombre_tipo_fase = nombre_tipo_fase tipo_fase.descripcion = descripcion tipo_fase.tipos_items=tipos_items DBSession.flush() flash("Tipo de Fase modificada!") redirect('/tipo_fase/tipo_fase')
def post_proyecto(self, nombre_proyecto, idusuario, tipos_fases, asmSelect0, descripcion,start=0,end=5,indice=None,texto=""): nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") nombres=Proyecto.get_nombres() if not isinstance(nombres, list): nombres = [nombres] if nombre_proyecto not in nombres: if idusuario is not None: idusuario = int(idusuario) if tipos_fases is not None: if not isinstance(tipos_fases, list): tipos_fases = [tipos_fases] tipos_fases = [DBSession.query(Tipo_Fase).get(tipo_fase) for tipo_fase in tipos_fases] proyecto = Proyecto (nombre_proyecto=nombre_proyecto, idusuario=idusuario, descripcion=descripcion, tipos_fases=tipos_fases, estado ="Desactivado") DBSession.add(proyecto) DBSession.flush() proy=int(Proyecto.get_ultimo_id()) cant=1 lista=[] for tipo_fase in tipos_fases: fase = Fase (nombre_fase=tipo_fase.nombre_tipo_fase, id_tipo_fase=tipo_fase.id_tipo_fase, estado ="Nuevo",proyecto=proy, orden=cant,linea_base="Abierta", descripcion=tipo_fase.descripcion) DBSession.add(fase) DBSession.flush() lista.append(fase) cant+=1 nom="Lider Proyecto" mirol=Rol.get_rol_by_nombre(nom) fases2=Fase.get_fase_by_proyecto(proy) equipo = Equipo_Desarrollo(proyecto=Proyecto.get_ultimo_id(), idusuario=idusuario, idrol=mirol.idrol,fases=fases2) DBSession.add(equipo) DBSession.flush() fases,len_fases = Fase.get_fase_by_proyecto_por_pagina(proy,start,end) ############ paginado = 5 if start <> 0: end=int(start.split('=')[1]) #obtiene el fin de pagina start=int(start.split('&')[0]) #obtiene el inicio de pagina #print start,end total = len(Fase.get_fase_by_proyecto(proy)) pagina_actual = ((start % end) / paginado) + 1 if ((start % end) % paginado) <> 0: pagina_actual = pagina_actual + 1 #roles = Fase.get_fase_by_proyecto_por_pagina(proy,start,end) ########### param="/fase/fase" flash("Proyecto Agregado!") return dict(pagina="../fase/fase", fases=fases, nom_proyecto=nom_proyecto,nom_fase=nom_fase, inicio=start,fin=end,paginado=paginado, pagina_actual=pagina_actual,total=total, param=param) else: nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") usuarios = Usuario.get_usuarios() tipos_fases = Tipo_Fase.get_tipo_fases() flash("Nombre del Proyecto ya existe!") redirect('../proyecto/agregar_proyecto')
def listar_tipo_fase(self): """Lista tipos de fases """ tipos_fases = Tipo_Fase.get_tipo_fase() return dict(pagina="listar_tipo_fase",tipos_fases=tipos_fases)