def importar_caracteristica(self, id_tipo_item_viejo, id_tipo_item_nuevo): """ Realiza la importación de características de un tipo de ítem a otro. @param id_tipo_item_viejo: id del tipo de ítem a ser importado. @param id_tipo_item_nuevo: id del tipo de ítem que será creado en base al importado. @type id_tipo_item_viejo: unicode @type id_tipo_item_nuevo: unicode """ caracteristicas = DBSession.query(Caracteristica) \ .filter(Caracteristica.id_tipo_item == id_tipo_item_viejo).all() for caracteristica in caracteristicas: c = Caracteristica() c.nombre = caracteristica.nombre c.tipo = caracteristica.tipo c.descripcion = caracteristica.descripcion ids_caracteristicas = DBSession.query(Caracteristica.id) \ .filter(Caracteristica.id_tipo_item == id_tipo_item_nuevo).all() if ids_caracteristicas: proximo_id_caracteristica = proximo_id(ids_caracteristicas) else: proximo_id_caracteristica = "CA1-" + id_tipo_item_nuevo c.id = proximo_id_caracteristica c.tipo_item = DBSession.query(TipoItem).filter(TipoItem.id == \ id_tipo_item_nuevo).one() DBSession.add(c)
def importar_caracteristica(self, id_tipo_item_viejo, id_tipo_item_nuevo): """ Importa las características correspondientes al tipo de ítem a importar. @param id_tipo_item_viejo: Id del tipo de item a importar. @type id_tipo_item_viejo: Unicode. @param id_tipo_item_nuevo: Id del tipo de item nuevo o importado. @type id_tipo_item_nuevo: Unicode """ caracteristicas = DBSession.query(Caracteristica) \ .filter(Caracteristica.id_tipo_item == id_tipo_item_viejo).all() for caracteristica in caracteristicas: c = Caracteristica() c.nombre = caracteristica.nombre c.tipo = caracteristica.tipo c.descripcion = caracteristica.descripcion ids_caracteristicas = DBSession.query(Caracteristica.id) \ .filter(Caracteristica.id_tipo_item == id_tipo_item_nuevo).all() if ids_caracteristicas: proximo_id_caracteristica = proximo_id(ids_caracteristicas) else: proximo_id_caracteristica = "CA1-" + id_tipo_item_nuevo c.id = proximo_id_caracteristica c.tipo_item = DBSession.query(TipoItem).filter(TipoItem.id == \ id_tipo_item_nuevo).one() DBSession.add(c)
def post(self, **kw): c = Caracteristica() c.descripcion = kw['descripcion'] c.nombre = kw['nombre'] c.tipo = kw['tipo'] ids_caracteristicas = DBSession.query(Caracteristica.id).filter( \ Caracteristica.id_tipo_item == self.id_tipo_item).all() if ids_caracteristicas: proximo_id_caracteristica = proximo_id(ids_caracteristicas) else: proximo_id_caracteristica = "CA1-" + self.id_tipo_item c.id = proximo_id_caracteristica c.tipo_item = DBSession.query(TipoItem).filter(TipoItem.id == \ self.id_tipo_item).one() DBSession.add(c) self.set_null(c) raise redirect('./')