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.

Reply via email to