def submit_success(self, appstruct): """ fired on submit success, set Tvas """ # First we disable the elements that are no longer part of the # configuration self.disable_elements(Product, self.get_remaining_prod_ids(appstruct)) self.disable_elements(Tva, self.get_remaining_tva_ids(appstruct)) self.dbsession.flush() for data in appstruct['tvas']: products = data.pop('products') if 'id' in data: tva = Tva.get(data['id']) merge_session_with_post(tva, data) tva = self.dbsession.merge(tva) else: tva = Tva() merge_session_with_post(tva, data) self.dbsession.add(tva) for prod in products: if 'id' in prod: product = Product.get(prod['id']) product.tva = tva merge_session_with_post(product, prod) self.dbsession.merge(product) else: product = Product() merge_session_with_post(product, prod) product.tva = tva self.dbsession.add(product) self.request.session.flash(self.validation_msg) return HTTPFound(self.request.route_path("admin_tva"))
def product_without_tva(dbsession): from autonomie.models.tva import Product product = Product(name='product', compte_cg='122') dbsession.add(product) dbsession.flush() return product
def factory(name, tva, compte_cg='122'): product = Product(name=name, tva_id=tva.id, compte_cg=compte_cg) dbsession.add(product) dbsession.flush() return product
def product(tva, dbsession): from autonomie.models.tva import Product product = Product(name='product', compte_cg='122', tva_id=tva.id) dbsession.add(product) dbsession.flush() return product