def get_padres_habilitados(self,orden): """ Obtiene los items habilitados. """ if orden is not None: orden=int(orden) padres=Item.get_item_activados() #cambiar esta funcion y solo traer lo que no forman ciclos padres.remove(Item.get_master()) fases_habilitadas=[] fases_habilitadas.append(orden) fases_habilitadas.append(orden-1) aux=[] for padre in padres: c=int(padre.orden) if c not in fases_habilitadas: aux.append(padre) elif (padre.estado_oculto!="Activo"): padres.remove(padre) for a in aux: padres.remove(a) return padres
def agregar_item(self, *args, **kw): nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") id_fase=int(Variables.get_valor_by_nombre("fase_actual")) fase = Fase.get_fase_by_id(id_fase) orden=str(fase.orden) padres=Relaciones.get_padres_habilitados(fase.orden) master=[] if (fase.orden ==1): master.append(Item.get_master().id_item) else: master.append(0) tipos_items=fase.tipos_items return dict(pagina="agregar_item",values=kw, tipos_items=tipos_items ,nom_proyecto=nom_proyecto,nom_fase=nom_fase,padres=padres, master=master,orden=orden)
def editar_item(self,id_item,*args, **kw): nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual") nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual") id_fase=int (Variables.get_valor_by_nombre("fase_actual") ) if id_item is not None: id_item=int(id_item) id_fase=int(Variables.get_valor_by_nombre("fase_actual")) item = Item.get_item_by_id(id_item) fase = Fase.get_fase_by_id(id_fase) orden=str(fase.orden) padres=Relaciones.get_padres_habilitados(fase.orden) hijos=Relaciones.get_sucesores(id_item) master=[] if (fase.orden ==1): master.append(Item.get_master().id_item) else: master.append(0) for hijo in hijos: #evita que yo o algun sucesor sea mi nuevo padre if hijo in padres: padres.remove(hijo) for padre in padres: if padre.id_item == id_item: padres.remove(padre) tipos_items=fase.tipos_items lista=[] lista.append(item.id_tipo_item ) values = dict(id_item=item.id_item, nombre_item=item.nombre_item, nombre_tipo_item=item.nombre_tipo_item, codigo_item=item.codigo_item, estado=item.estado, complejidad=item.complejidad, ) adjuntos=Adjunto.get_adjuntos_by_item(item.id_item) adjuntados=[] for adj in adjuntos: var = dict(id_adjunto=adj.id_adjunto, nombre_archivo=adj.nombre_archivo) adjuntados.append(var) padres2=[] padr=Relaciones.get_mis_padres(id_item) for pad in padr: padres2.append(pad.id_item) campos= Campos.get_campos_by_item(id_item) return dict(pagina="editar_item",values=values,adjuntados=adjuntados, nom_proyecto=nom_proyecto,nom_fase=nom_fase, lista=lista,tipos_items=tipos_items,padres=padres, padres2=padres2,master=master,orden=orden,campos=campos)