Hi Villas I like the idea of using a var instead of args but I am still uncertain of how I get the ID of the current record I am viewing/editing in smartgrid.
Mike On Monday, 19 November 2012 08:57:09 UTC, villas wrote: > > If you cannot control the order of args, you could still look for an > int, but that may not always be reliable. I sometimes decide to use vars > instead. Then you know exactly what you have: your/url/here?id=1234 > Construction of the url is easy using the URL helper. > > On Friday, November 16, 2012 12:45:35 PM UTC, Mike H wrote: >> >> I am using smartgrid for the membership database I am building. >> >> I have 3 tables, contact (the members contact details and name), courses >> (any courses the member is doing with us) and membership (the users >> membership details). >> >> I am using conditionals to present customised view of the generated forms >> tables and records, basically a little dashboard that will sit above the >> contact/member/course details giving an overview of that contact. However I >> am struggling to extract the row id for the contact in order to pull up >> data for my dashboard. >> >> The following is the URL I get when viewing a contact with the id 11: >> 27.0.01:8000/MYDB/default/contact_manage/t_contact/t_membership.f_contact_id/11/view/t_membership/11 >> >> On this particular url I can get the id using: >> request.args(2) >> >> However the postion of the id is not the same on every page for example >> when I view another contact (12) I get this URL: >> >> http://127.0.01:8000/ILSPA_DB2/default/contact_manage/t_contact/view/t_contact/12 >> >> The argument with the position 2 is t_contact not 12. >> >> Is there some voodoo I can use to get the id of the entry in order to use >> it to pull up data from other tables? >> >> FYI I have included a snippet from the controller and corresponding view. >> >> Controller code: >> >> @auth.requires_login() >> def contact_manage(): >> memberId = request.args(2) >> form = SQLFORM.smartgrid(db.t_contact,linked_tables=['t_courses', >> 't_membership','t_paypal'], onupdate=auth.archive, formname="Contact >> Manager") >> return locals() >> >> View Code: >> >> {{extend 'layout.html'}} >> >> {{if 'view' in request.args:}} >> <p>Do something with {{=memberId}}</p> >> <h2>Manage Contact</h2><p>{{=form}}</p> >> {{else:}} >> <h2>Manage Contact</h2><p>{{=form}}</p> >> {{pass}} >> >> Thanks in advance. >> >> Mike >> > --