def crear(self, *args, **kw): '''crear relaciones''' im = ItemManager() rm = RelacionManager() no_creados=[] seleccion = kw['Aceptar'] if seleccion != 'Cancelar': '''validar relaciones''' id_item_actual = kw['item'] item_actual = im.getById(id_item_actual) id_lista_items = [] id_lista_items = kw['lista_items'] try: id_lista_items.count(1) except: int = id_lista_items id_lista_items = [] id_lista_items.append(int) #por cada item a relacionar for id_item in id_lista_items: item = im.getById(id_item) #obtener el item if rm.relacionDuplicada(item_actual,item): #comprobar si es una relacion duplicada no_creados.append(item.identificador) else: if item.id_fase == item_actual.id_fase : #son items de la misma fase if not rm.tieneciclos(item_actual, item):#no tiene ciclos rm.add(item_actual,item,'padre-hijo') else: no_creados.append(item.identificador) else: '''son de fases distintas''' rm.add(item,item_actual, 'antecesor-sucesor') if no_creados: print no_creados largo=True if len(no_creados)==1: largo=False raise redirect('/relacion/resumen_errores',no_creados=no_creados,id_fase= item_actual.id_fase, largo=largo) else: raise redirect('/relacion?id_fase='+kw['id_fase']) else: raise redirect('/relacion?id_fase='+kw['id_fase'])