예제 #1
0
    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)
예제 #2
0
 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)