Example #1
0
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)
Example #2
0
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)