def importar_tipo_item(self, *args, **kw):
     """
     Importa un tipo de ítem a una fase determinada.
     """
     id_fase = unicode(request.url.split("/")[-10])
     t = TipoItem()
     id_tipo_item = unicode(request.url.split("/")[-2])
     tipo_item_a_importar = DBSession.query(TipoItem) \
             .filter(TipoItem.id == id_tipo_item).one()
     existe_nombre = DBSession.query(TipoItem).filter(TipoItem.id_fase == \
             id_fase).filter(TipoItem.nombre == \
             tipo_item_a_importar.nombre).count()
     existe_codigo = DBSession.query(TipoItem).filter(TipoItem.id_fase == \
             id_fase).filter(TipoItem.codigo == \
             tipo_item_a_importar.codigo).count()    
     t.nombre = tipo_item_a_importar.nombre
     t.codigo = tipo_item_a_importar.codigo
     if existe_nombre:  
         t.nombre = t.nombre + "'"
     if existe_codigo:  
         t.codigo = t.codigo + "'"
     t.descripcion = tipo_item_a_importar.descripcion
     ids_tipos_item = DBSession.query(TipoItem.id) \
             .filter(TipoItem.id_fase == id_fase).all()
     if ids_tipos_item:        
         proximo_id_tipo_item = proximo_id(ids_tipos_item)
     else:
         proximo_id_tipo_item = "TI1-" + id_fase
     t.id = proximo_id_tipo_item
     t.fase = DBSession.query(Fase).filter(Fase.id == id_fase).one()        
     DBSession.add(t)
     self.importar_caracteristica(id_tipo_item, t.id)
     flash("Se importo de forma exitosa")
     raise redirect('./../../../../../../..')
示例#2
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)
示例#3
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)
示例#4
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)