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

-- 



Reply via email to