def importar_tipo_item(self, id_fase_vieja, id_fase_nueva): """ Realiza la importación de un tipo de ítem de una fase a otra. @param id_fase_vieja: id de la fase a ser importada. @param id_fase_nueva: id de la fase que será creada en base a la importada. @type id_fase_vieja: unicode @type id_fase_nueva: unicode """ tipos_item = DBSession.query(TipoItem).filter(TipoItem.id_fase == \ id_fase_vieja).all() for tipo_item in tipos_item: t = TipoItem() t.codigo = tipo_item.codigo t.nombre = tipo_item.nombre t.descripcion = tipo_item.descripcion ids_tipos_item = DBSession.query(TipoItem.id) \ .filter(TipoItem.id_fase == id_fase_nueva).all() if ids_tipos_item: proximo_id_tipo_item = proximo_id(ids_tipos_item) else: proximo_id_tipo_item = "TI1-" + id_fase_nueva t.id = proximo_id_tipo_item t.fase = DBSession.query(Fase).filter(Fase.id == id_fase_nueva) \ .one() DBSession.add(t) cont = DBSession.query(Caracteristica) \ .filter(Caracteristica.id_tipo_item == t.id).count() self.importar_caracteristica(tipo_item.id, t.id)
def crear_tipo_default(self, id_fase): """ Crea un tipo de ítem por defecto al crear una fase. """ ti = TipoItem() ti.nombre = "Default" ti.descripcion = "Default" ti.id = "TI1-" + id_fase ti.codigo = "DF" ti.fase = DBSession.query(Fase).filter(Fase.id == id_fase).one() DBSession.add(ti)