Massimo,

Thank you.

Of course.

Here are are the real table defs:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++
db.define_table('purchase_orders',
    Field('issue_date', 'date'),
    Field('number', length=24, requires=IS_NOT_EMPTY(),
          required=True, notnull=True, comment='Required'),
    Field('supplier', db.suppliers),
    Field('shipto', db.locations, label='Ship To'),
    Field('billto', db.locations, label='Bill To'),
    Field('del_terms', db.del_terms, label='Delivery Terms'),
    Field('currency', db.currencies),
    Field('pmt_terms', db.pmt_terms, label='Payment Terms'),
    Field('project_no', length=12, label='Project Number'),
    Field('taxable', 'list:string', default='No'),
    Field('po_contact', db.contacts,
            label='Purchase Order Contact'),
    Field('ap_contact',  db.contacts,
            label='Accounts Payable Contact'),
    Field('vendor_rep',  db.contacts,
            label='Vendor Representative'),
    Field('documentation_required', 'list:reference documentation',
            comment='Click to select.  Use Ctrl key for multiple
selection.')
    )
db.purchase_orders.taxable.requires = IS_IN_SET(['Yes', 'No'])
db.purchase_orders.shipto.requires = IS_IN_DB(db, db.locations.id, '%
(name)s',
        zero='Choice required')
db.purchase_orders.billto.requires = IS_IN_DB(db, db.locations.id, '%
(name)s',
        zero='Choice required')
db.purchase_orders.supplier.requires = IS_IN_DB(db, db.suppliers.id, '%
(name)s',
        zero='Choice required')
db.purchase_orders.del_terms.requires = IS_IN_DB(db, db.del_terms.id,
'%(name)s',
        zero='Choice required')
db.purchase_orders.currency.requires = IS_IN_DB(db, db.currencies.id,
'%(name)s',
        zero='Choice required')
db.purchase_orders.pmt_terms.requires = IS_IN_DB(db, db.pmt_terms.id,
'%(name)s',
        zero='Choice required')
db.purchase_orders.po_contact.requires = IS_IN_DB(
        db(), db.contacts.id, '%(first_name)s, %(middle_name)s, %
(last_name)s, %(generation)s ',
        zero='Choice required')
db.purchase_orders.ap_contact.requires = IS_IN_DB(
        db(), db.contacts.id, '%(first_name)s',
        zero='Choice required')
db.purchase_orders.vendor_rep.requires = IS_IN_DB(
        db(), db.supplier_contacts.id, '%(first_name)s',
        zero='Choice required')

db.define_table('suppliers',
    Field('name', length=256, required=True, notnull=True),
    Field('address', length=64),
    Field('address_2', length=64),
    Field('city', length=32),
    Field('state', length=24),
    Field('zip', length=18),
    Field('website', length=512, requires=IS_URL()),
    format = '%(name)s'
    )


db.define_table(
    'supplier_contacts',
    Field('supplier_id', db.suppliers),
    Field('first_name', length=32, required=True, notnull=True),
    Field('middle_name', length=32),
    Field('last_name', length=32, required=True, notnull=True),
    Field('generation', length=16),
    Field('email', length=512,
          requires=IS_EMPTY_OR(IS_EMAIL('invalid email'))),
    Field('mobile', length=18, label='Mobile phone'),
    Field('land_line', length=18),
    Field('fax', length=18),
    format='%(first_name)s, %(middle_name)s, %(last_name)s, %
(generation)s'
    )
db.supplier_contacts.supplier_id.requires = IS_IN_DB(
    db, db.suppliers.id, '%(name)s', zero='Choose'
    )
db.supplier_contacts.supplier_id.readable = False
db.supplier_contacts.supplier_id.writable = False

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++

This is the actual call from the controller:
            # we already know the supplier_id and vendor_rep
            hidden['supplier']=supplier_id
            hidden['vendor_rep'=vendor_rep
            field_lst = 'issue_date number shipto billto del_terms
currency pmt_terms project_no taxable po_contact ap_contact
documentation_required'.split(' ')
            form = SQLTABLE(db.suppliers, fields=field_lst,
hidden=hidden)



On Aug 26, 8:39 am, Massimo Di Pierro <massimo.dipie...@gmail.com>
wrote:
> Can I see the model?
>
> On Aug 26, 4:43 am, Cliff <cjk...@gmail.com> wrote:
>
>
>
>
>
>
>
> > I use SQLFORM something like this:
>
> > fields = 'dog_name dog_weight dog_birtdate'.split(' ')
> > hidden = {'dog_owner' : some_known_value} # We already know who the
> > owner is
> > SQLFORM(db.dogs, fields=fields, hidden=hidden)
>
> > The hidden fields are on the form.  When I submit the form, they are
> > in request.vars, but SQLFORM does not insert them in the database.
>
> > Is this the way it's supposed to work or do I have a bug?
>
> > Thanks,
> > Cliff Kachinske

Reply via email to