I have simple table and everything works fine with View, Add, Edit. It has
two key field and I want to protect (Writabe = False) in Edit Mode.
When I set writable = False in Controller, They're readonly in Edit mode
but I get tampering with form's record_id.. error when I submit. Any idea?
*Controller*
def email_update():
response.title = 'Update'
response.subtitle = 'E-mail Account'
request.args(0) or redirect (URL('email_index'))
record = db.UDMEM(db.UDMEM.EMTKSC==request.args(0) and
db.UDMEM.EMTKCD==request.args(1))
if record != None:
db.UDMEM.EMTKSC.writable = False
db.UDMEM.EMTKCD.writable = False
form = SQLFORM(db.UDMEM,record, deletable=True)
else:
redirect(URL('email_index'))
*Model*
# MF - Email
db.define_table('UDMEM',
Field('EMTKCD', length=8, label="Customer"),
Field('EMTKSC', length=3, label="Dept"),
Field('EMTO01', length=50, label="To:Address 01"),
Field('EMTO02', length=50, label="To:Address 02"),
Field('EMTO03', length=50, label="To:Address 03"),
Field('EMTO04', length=50, label="To:Address 04"),
Field('EMTO05', length=50, label="To:Address 05"),
Field('EMCC01', length=50, label="Cc:Address 01"),
Field('EMCC02', length=50, label="Cc:Address 02"),
Field('EMCC03', length=50, label="Cc:Address 03"),
Field('EMCC04', length=50, label="Cc:Address 04"),
Field('EMFLAG', length=1, label="Upload Flag"),
Field('EMUUSR', length=128, update = auth.user.username.upper() if
auth.user else None, label="Updated by"),
Field('EMUDAT', 'datetime', update =request.now, label="Updated on"),
primarykey=['EMTKCD', 'EMTKSC'])
db.UDMEM.EMTKSC.requires=IS_IN_DB(dbe,dbe.TDMBUL00.BUSEC1,'%(BUBURK)s
(%(BUSEC1)s)')
db.UDMEM.EMTKCD.requires=IS_IN_DB(dbe,dbe.CDMTKJ00.TRTRCD,'%(TRTRKN)s
(%(TRTRCD)s)', cache=(cache.ram, 1800))
db.UDMEM.EMTO01.requires=IS_NOT_EMPTY()
db.UDMEM.EMFLAG.writable = db.UDMEM.EMFLAG.readable = False
db.UDMEM.EMUUSR.writable = False
db.UDMEM.EMUDAT.writable = False
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.