formulaImport = db.define_table('formulaImport',
Field('formulaImportId', 'id', readable=False),
Field('fileName', length=256, required=True, label='File'),
Field('sweptOn', 'date', required=True, label='Swept',
default=datetime.datetime.today()),
Field('importedOn', 'date', label='Imported'),
Field('brillPlant', length=5, required=True, label='Plant'),
Field('productNumber', length=30, required=True,
label='Product'),
Field('productName', length=75, required=True,
label='Name'),
format = '%(productNumber)s')
formulaImport._plural = 'Formula Imports'
formulaImport.fileName.requires = IS_NOT_EMPTY()
formulaImport.brillPlant.requires = IS_NOT_EMPTY()
formulaImport.sweptOn.requires = IS_DATE('%m/%d/%Y')
formulaImport.productNumber.requires = IS_NOT_EMPTY()
formulaImport.productName.requires = IS_NOT_EMPTY()
formulaImport.importedOn.requires = IS_NULL_OR(IS_DATE('%m/%d/%Y'))
formulaImportLine = db.define_table('formulaImportLine',
Field('formulaImportLineId', 'id', readable=False),
Field('formulaImportId', db.formulaImport, required=True,
label='Formula Import'),
Field('sequence', 'integer', required=True),
Field('productNumber', length=30, required=True, label='Product Number'),
Field('quantity', 'decimal(13,5)', required=True),
format=('%(productNumber)s'))
formulaImportLine.formulaImportId.required = IS_IN_DB(db, db.formulaImport,
'$(fileName)s',
'.choose.')
formulaImportLine.sequence.requires = [IS_INT_IN_RANGE(0,9999999),
IS_NOT_EMPTY()]
formulaImportLine.productNumber.requires = IS_NOT_EMPTY()
formulaImportLine.quantity.requires = [IS_FLOAT_IN_RANGE(0,2000),
IS_NOT_EMPTY()]
db.formulaImportLine.formulaImportId.represent = lambda p, r: r.productNumber