def create(): my_logger.debug(message='request.vars:%s' % request.vars) product_id = request.args(0) db.storage.product.default = product_id db.storage.barecode.default = STORAGE_MAPPER.create_barecode(product_id) # creating the form db.storage.product.widget.attributes['_disabled'] = 'disabled' form = crud.create( db.storage, next=URL(request.application, 'product', 'details_reload', args=product_id, vars={'load_storage_list': True}), onvalidation=lambda form: clean_unit(form), # onvalidation=lambda form: (clean_unit(form), # generate_barecode(form)), onaccept=lambda form: (duplicate_storage(form), create_stock(form))) if form.errors: session.flash = DIV(cc.get_string("MISSING_FIELDS"), _class="flasherror") cache.ram.clear(regex='.*/storage/list') cache.ram.clear(regex='.*/product/details') return dict(product_id=product_id, form=form)
def generate_barecode(form): my_logger.debug(message='generate_barecode') product_id = form.element('[name=product]').attributes['_value'] form.vars.barecode = STORAGE_MAPPER.create_barecode(product_id)