Re: [web2py] SQLFORM.grid not doing what I want :)
I guessed it was something like that :-) Thanks Massimo I am going to test it. On 03/30/2012 10:51 AM, Massimo Di Pierro wrote: You have to pass it SQLFORM.grid(...,field_id=db.lvdisksetup.id,) else it does not know what table to use. On Thursday, 29 March 2012 19:58:52 UTC-5, Gwayne aka Mike Veltman wrote: On 03/30/2012 12:01 AM, Massimo Di Pierro wrote: When you say I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk what do you mean by manipulates? That when I delete a record or do add a record it gives me the db.lvdisk table and not the db.lvdisksetup table. So I delete or add a record that is supposed to be a reverence. On Wednesday, 28 March 2012 22:58:31 UTC-5, Gwayne aka Mike Veltman wrote: Gentle people, I have the following grid: query = ( (db.lvdisksetup.lvgroupname_id == usedlvdisksetup) (db.lvgroupname.id http://db.lvgroupname.id == usedlvdisksetup) (db.lvdisksetup.lvdisk_id == db.lvdisk.id http://db.lvdisk.id) ) fields = [db.lvdisksetup.id http://db.lvdisksetup.id, db.lvgroupname.lvgroupnamedesc , db.lvdisk.lvdiskdesc, db.lvdisksetup.lunid] form = SQLFORM.grid(query, fields=fields, orderby=['lvdisksetup.lunid'], csv=False, create = False, maxtextlength=45 ) I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk :-) What causes havoc by deleting essential table data :) Part of the db models :) # All the LV sizes will be collected in here in bytes, like 30GB, 10GB, 2GB etc db.define_table('lvsize', Field('sizename', type='string', unique=True, label=T('Lun Size')), Field('size', type='string', label=T('LV Size in bytes')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # The LV Disk groups db.define_table('lvgroupname', Field('lvgroupnamedesc', type='string', unique=True, label=T('LV Disk Groupname ')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvgroupname.lvgroupnamedesc.requires = IS_NOT_EMPTY() # Logical volume on storage db.define_table('lvdisk', Field('lvdiskdesc', type='string', unique=True, label=T('LV Disk description ')), Field('lvsize_id', db.lvsize, default=2, label=T('Size ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisk.lvsize_id.requires = IS_IN_DB(db, 'lvsize.id http://lvsize.id', 'lvsize.sizename') db.lvdisk.lvdiskdesc.requires = IS_NOT_EMPTY() # lvdisksetup db.define_table('lvdisksetup', Field('lvdisk_id', db.lvdisk, default=1, label=T('Logical volume to be added')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('Member of Logical volume group name')), Field('lunid', type='integer', default=2, label=T('Lun ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisksetup.lvdisk_id.requires = IS_IN_DB(db, 'lvdisk.id http://lvdisk.id', 'lvdisk.lvdiskdesc') db.lvdisksetup.lvgroupname_id.requires = IS_IN_DB(db, 'lvgroupname.id http://lvgroupname.id', 'lvgroupname.lvgroupnamedesc') # hbahostgroupsetup (to add the right disks to a hba or a hostgroup)
Re: [web2py] SQLFORM.grid not doing what I want :)
After testing form = SQLFORM.grid(query, fields=fields, field_id=db.lvdisksetup.id, --- orderby=['lvdisksetup.lunid'], csv=False, create = True, maxtextlength=45 ) It worked like a charm, its really great Massimo. Thanks On 03/30/2012 03:55 PM, Mike Veltman wrote: I guessed it was something like that :-) Thanks Massimo I am going to test it. On 03/30/2012 10:51 AM, Massimo Di Pierro wrote: You have to pass it SQLFORM.grid(...,field_id=db.lvdisksetup.id,) else it does not know what table to use. On Thursday, 29 March 2012 19:58:52 UTC-5, Gwayne aka Mike Veltman wrote: On 03/30/2012 12:01 AM, Massimo Di Pierro wrote: When you say I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk what do you mean by manipulates? That when I delete a record or do add a record it gives me the db.lvdisk table and not the db.lvdisksetup table. So I delete or add a record that is supposed to be a reverence. On Wednesday, 28 March 2012 22:58:31 UTC-5, Gwayne aka Mike Veltman wrote: Gentle people, I have the following grid: query = ( (db.lvdisksetup.lvgroupname_id == usedlvdisksetup) (db.lvgroupname.id http://db.lvgroupname.id == usedlvdisksetup) (db.lvdisksetup.lvdisk_id == db.lvdisk.id http://db.lvdisk.id) ) fields = [db.lvdisksetup.id http://db.lvdisksetup.id, db.lvgroupname.lvgroupnamedesc , db.lvdisk.lvdiskdesc, db.lvdisksetup.lunid] form = SQLFORM.grid(query, fields=fields, orderby=['lvdisksetup.lunid'], csv=False, create = False, maxtextlength=45 ) I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk :-) What causes havoc by deleting essential table data :) Part of the db models :) # All the LV sizes will be collected in here in bytes, like 30GB, 10GB, 2GB etc db.define_table('lvsize', Field('sizename', type='string', unique=True, label=T('Lun Size')), Field('size', type='string', label=T('LV Size in bytes')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # The LV Disk groups db.define_table('lvgroupname', Field('lvgroupnamedesc', type='string', unique=True, label=T('LV Disk Groupname ')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvgroupname.lvgroupnamedesc.requires = IS_NOT_EMPTY() # Logical volume on storage db.define_table('lvdisk', Field('lvdiskdesc', type='string', unique=True, label=T('LV Disk description ')), Field('lvsize_id', db.lvsize, default=2, label=T('Size ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisk.lvsize_id.requires = IS_IN_DB(db, 'lvsize.id http://lvsize.id', 'lvsize.sizename') db.lvdisk.lvdiskdesc.requires = IS_NOT_EMPTY() # lvdisksetup db.define_table('lvdisksetup', Field('lvdisk_id', db.lvdisk, default=1, label=T('Logical volume to be added')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('Member of Logical volume group name')), Field('lunid', type='integer', default=2, label=T('Lun ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now),
Re: [web2py] SQLFORM.grid not doing what I want :)
When you say I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk what do you mean by manipulates? On Wednesday, 28 March 2012 22:58:31 UTC-5, Gwayne aka Mike Veltman wrote: Gentle people, I have the following grid: query = ( (db.lvdisksetup.lvgroupname_id == usedlvdisksetup) ( db.lvgroupname.id == usedlvdisksetup) (db.lvdisksetup.lvdisk_id == db.lvdisk.id) ) fields = [db.lvdisksetup.id, db.lvgroupname.lvgroupnamedesc , db.lvdisk.lvdiskdesc, db.lvdisksetup.lunid] form = SQLFORM.grid(query, fields=fields, orderby=['lvdisksetup.lunid'], csv=False, create = False, maxtextlength=45 ) I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk :-) What causes havoc by deleting essential table data :) Part of the db models :) # All the LV sizes will be collected in here in bytes, like 30GB, 10GB, 2GB etc db.define_table('lvsize', Field('sizename', type='string', unique=True, label=T('Lun Size')), Field('size', type='string', label=T('LV Size in bytes')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # The LV Disk groups db.define_table('lvgroupname', Field('lvgroupnamedesc', type='string', unique=True, label=T('LV Disk Groupname ')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvgroupname.lvgroupnamedesc.requires = IS_NOT_EMPTY() # Logical volume on storage db.define_table('lvdisk', Field('lvdiskdesc', type='string', unique=True, label=T('LV Disk description ')), Field('lvsize_id', db.lvsize, default=2, label=T('Size ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisk.lvsize_id.requires = IS_IN_DB(db, 'lvsize.id', 'lvsize.sizename') db.lvdisk.lvdiskdesc.requires = IS_NOT_EMPTY() # lvdisksetup db.define_table('lvdisksetup', Field('lvdisk_id', db.lvdisk, default=1, label=T('Logical volume to be added')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('Member of Logical volume group name')), Field('lunid', type='integer', default=2, label=T('Lun ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisksetup.lvdisk_id.requires = IS_IN_DB(db, 'lvdisk.id', 'lvdisk.lvdiskdesc') db.lvdisksetup.lvgroupname_id.requires = IS_IN_DB(db, 'lvgroupname.id', 'lvgroupname.lvgroupnamedesc') # hbahostgroupsetup (to add the right disks to a hba or a hostgroup) db.define_table('hbahostgroupsetup', Field('hbahgdesc', type='string', label=T('LV Disk setup Description ')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('LV Disk')), Field('mapping_id', db.storagemap, default=1, label=T('HBA or Hostgroup mapping')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.hbahostgroupsetup.lvgroupname_id.requires = IS_IN_DB(db, ' lvgroupname.id', 'lvdisk.lvgroupnamedesc') db.hbahostgroupsetup.mapping_id.requires = IS_IN_DB(db, 'storagemap.id', 'storagemap.mapping') db.hbahostgroupsetup.hbahgdesc.requires = IS_NOT_EMPTY() # disksetupname (to make it possible to have the same lv setup for different class setups) db.define_table('disksetupname', Field('disksetupnamedesc', type='string', label=T('LV Disk group selection description ')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False),
Re: [web2py] SQLFORM.grid not doing what I want :)
On 03/30/2012 12:01 AM, Massimo Di Pierro wrote: When you say I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk what do you mean by manipulates? That when I delete a record or do add a record it gives me the db.lvdisk table and not the db.lvdisksetup table. So I delete or add a record that is supposed to be a reverence. On Wednesday, 28 March 2012 22:58:31 UTC-5, Gwayne aka Mike Veltman wrote: Gentle people, I have the following grid: query = ( (db.lvdisksetup.lvgroupname_id == usedlvdisksetup) (db.lvgroupname.id http://db.lvgroupname.id == usedlvdisksetup) (db.lvdisksetup.lvdisk_id == db.lvdisk.id http://db.lvdisk.id) ) fields = [db.lvdisksetup.id http://db.lvdisksetup.id, db.lvgroupname.lvgroupnamedesc , db.lvdisk.lvdiskdesc, db.lvdisksetup.lunid] form = SQLFORM.grid(query, fields=fields, orderby=['lvdisksetup.lunid'], csv=False, create = False, maxtextlength=45 ) I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk :-) What causes havoc by deleting essential table data :) Part of the db models :) # All the LV sizes will be collected in here in bytes, like 30GB, 10GB, 2GB etc db.define_table('lvsize', Field('sizename', type='string', unique=True, label=T('Lun Size')), Field('size', type='string', label=T('LV Size in bytes')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # The LV Disk groups db.define_table('lvgroupname', Field('lvgroupnamedesc', type='string', unique=True, label=T('LV Disk Groupname ')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvgroupname.lvgroupnamedesc.requires = IS_NOT_EMPTY() # Logical volume on storage db.define_table('lvdisk', Field('lvdiskdesc', type='string', unique=True, label=T('LV Disk description ')), Field('lvsize_id', db.lvsize, default=2, label=T('Size ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisk.lvsize_id.requires = IS_IN_DB(db, 'lvsize.id http://lvsize.id', 'lvsize.sizename') db.lvdisk.lvdiskdesc.requires = IS_NOT_EMPTY() # lvdisksetup db.define_table('lvdisksetup', Field('lvdisk_id', db.lvdisk, default=1, label=T('Logical volume to be added')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('Member of Logical volume group name')), Field('lunid', type='integer', default=2, label=T('Lun ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisksetup.lvdisk_id.requires = IS_IN_DB(db, 'lvdisk.id http://lvdisk.id', 'lvdisk.lvdiskdesc') db.lvdisksetup.lvgroupname_id.requires = IS_IN_DB(db, 'lvgroupname.id http://lvgroupname.id', 'lvgroupname.lvgroupnamedesc') # hbahostgroupsetup (to add the right disks to a hba or a hostgroup) db.define_table('hbahostgroupsetup', Field('hbahgdesc', type='string', label=T('LV Disk setup Description ')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('LV Disk')), Field('mapping_id', db.storagemap, default=1, label=T('HBA or Hostgroup mapping')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules
Re: [web2py] SQLFORM.grid not doing what I want :)
You have to pass it SQLFORM.grid(...,field_id=db.lvdisksetup.id,) else it does not know what table to use. On Thursday, 29 March 2012 19:58:52 UTC-5, Gwayne aka Mike Veltman wrote: On 03/30/2012 12:01 AM, Massimo Di Pierro wrote: When you say I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk what do you mean by manipulates? That when I delete a record or do add a record it gives me the db.lvdisk table and not the db.lvdisksetup table. So I delete or add a record that is supposed to be a reverence. On Wednesday, 28 March 2012 22:58:31 UTC-5, Gwayne aka Mike Veltman wrote: Gentle people, I have the following grid: query = ( (db.lvdisksetup.lvgroupname_id == usedlvdisksetup) ( db.lvgroupname.id == usedlvdisksetup) (db.lvdisksetup.lvdisk_id == db.lvdisk.id) ) fields = [db.lvdisksetup.id, db.lvgroupname.lvgroupnamedesc , db.lvdisk.lvdiskdesc, db.lvdisksetup.lunid] form = SQLFORM.grid(query, fields=fields, orderby=['lvdisksetup.lunid'], csv=False, create = False, maxtextlength=45 ) I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk :-) What causes havoc by deleting essential table data :) Part of the db models :) # All the LV sizes will be collected in here in bytes, like 30GB, 10GB, 2GB etc db.define_table('lvsize', Field('sizename', type='string', unique=True, label=T('Lun Size')), Field('size', type='string', label=T('LV Size in bytes')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # The LV Disk groups db.define_table('lvgroupname', Field('lvgroupnamedesc', type='string', unique=True, label=T('LV Disk Groupname ')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvgroupname.lvgroupnamedesc.requires = IS_NOT_EMPTY() # Logical volume on storage db.define_table('lvdisk', Field('lvdiskdesc', type='string', unique=True, label=T('LV Disk description ')), Field('lvsize_id', db.lvsize, default=2, label=T('Size ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisk.lvsize_id.requires = IS_IN_DB(db, 'lvsize.id', 'lvsize.sizename') db.lvdisk.lvdiskdesc.requires = IS_NOT_EMPTY() # lvdisksetup db.define_table('lvdisksetup', Field('lvdisk_id', db.lvdisk, default=1, label=T('Logical volume to be added')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('Member of Logical volume group name')), Field('lunid', type='integer', default=2, label=T('Lun ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisksetup.lvdisk_id.requires = IS_IN_DB(db, 'lvdisk.id', 'lvdisk.lvdiskdesc') db.lvdisksetup.lvgroupname_id.requires = IS_IN_DB(db, 'lvgroupname.id', 'lvgroupname.lvgroupnamedesc') # hbahostgroupsetup (to add the right disks to a hba or a hostgroup) db.define_table('hbahostgroupsetup', Field('hbahgdesc', type='string', label=T('LV Disk setup Description ')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('LV Disk')), Field('mapping_id', db.storagemap, default=1, label=T('HBA or Hostgroup mapping')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.hbahostgroupsetup.lvgroupname_id.requires = IS_IN_DB(db, ' lvgroupname.id', 'lvdisk.lvgroupnamedesc') db.hbahostgroupsetup.mapping_id.requires = IS_IN_DB(db, 'storagemap.id', 'storagemap.mapping')
[web2py] SQLFORM.grid not doing what I want :)
Gentle people, I have the following grid: query = ( (db.lvdisksetup.lvgroupname_id == usedlvdisksetup) (db.lvgroupname.id == usedlvdisksetup) (db.lvdisksetup.lvdisk_id == db.lvdisk.id) ) fields = [db.lvdisksetup.id, db.lvgroupname.lvgroupnamedesc , db.lvdisk.lvdiskdesc, db.lvdisksetup.lunid] form = SQLFORM.grid(query, fields=fields, orderby=['lvdisksetup.lunid'], csv=False, create = False, maxtextlength=45 ) I want to manipulate db.lvdisksetup but in stead it manipulates db.lvdisk :-) What causes havoc by deleting essential table data :) Part of the db models :) # All the LV sizes will be collected in here in bytes, like 30GB, 10GB, 2GB etc db.define_table('lvsize', Field('sizename', type='string', unique=True, label=T('Lun Size')), Field('size', type='string', label=T('LV Size in bytes')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # The LV Disk groups db.define_table('lvgroupname', Field('lvgroupnamedesc', type='string', unique=True, label=T('LV Disk Groupname ')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvgroupname.lvgroupnamedesc.requires = IS_NOT_EMPTY() # Logical volume on storage db.define_table('lvdisk', Field('lvdiskdesc', type='string', unique=True, label=T('LV Disk description ')), Field('lvsize_id', db.lvsize, default=2, label=T('Size ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisk.lvsize_id.requires = IS_IN_DB(db, 'lvsize.id', 'lvsize.sizename') db.lvdisk.lvdiskdesc.requires = IS_NOT_EMPTY() # lvdisksetup db.define_table('lvdisksetup', Field('lvdisk_id', db.lvdisk, default=1, label=T('Logical volume to be added')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('Member of Logical volume group name')), Field('lunid', type='integer', default=2, label=T('Lun ID')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.lvdisksetup.lvdisk_id.requires = IS_IN_DB(db, 'lvdisk.id', 'lvdisk.lvdiskdesc') db.lvdisksetup.lvgroupname_id.requires = IS_IN_DB(db, 'lvgroupname.id', 'lvgroupname.lvgroupnamedesc') # hbahostgroupsetup (to add the right disks to a hba or a hostgroup) db.define_table('hbahostgroupsetup', Field('hbahgdesc', type='string', label=T('LV Disk setup Description ')), Field('lvgroupname_id', db.lvgroupname, default=1, label=T('LV Disk')), Field('mapping_id', db.storagemap, default=1, label=T('HBA or Hostgroup mapping')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.hbahostgroupsetup.lvgroupname_id.requires = IS_IN_DB(db, 'lvgroupname.id', 'lvdisk.lvgroupnamedesc') db.hbahostgroupsetup.mapping_id.requires = IS_IN_DB(db, 'storagemap.id', 'storagemap.mapping') db.hbahostgroupsetup.hbahgdesc.requires = IS_NOT_EMPTY() # disksetupname (to make it possible to have the same lv setup for different class setups) db.define_table('disksetupname', Field('disksetupnamedesc', type='string', label=T('LV Disk group selection description ')), Field('created_on','datetime',default=request.now, label=T('Created On'),writable=False,readable=False), Field('modified_on','datetime',default=request.now, label=T('Modified On'),writable=False,readable=False, update=request.now), migrate=settings.migrate) # Table rules db.disksetupname.disksetupnamedesc.requires = IS_NOT_EMPTY() # hbahggroup db.define_table('hbahggroup', Field('hbahostgroupsetup_id', db.hbahostgroupsetup,