示例#1
0
    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"))
示例#2
0
def add_tva(value, default=False):
    t = Tva(name="%s %%" % (value/100.0), value=value, default=default)
    session = DBSESSION()
    session.add(t)
    session.flush()
示例#3
0
def tva(dbsession):
    tva = Tva(name='TVA 20%', value=2000, default=1)
    dbsession.add(tva)
    dbsession.flush()
    return tva
示例#4
0
 def factory(value, name, default=True):
     tva = Tva(value=value, name=name, default=default)
     dbsession.add(tva)
     dbsession.flush()
     return tva
示例#5
0
def tva(dbsession):
    from autonomie.models.tva import Tva
    tva = Tva(value=2000, name='20%', default=True)
    dbsession.add(tva)
    dbsession.flush()
    return tva