Thanks Anthony,

Altered the code to fix those two issues and that took me back to the 
original problem that I had which is "syntax not supported"

relevant section is now...

...
form=SQLFORM.factory(db.job_requests,db.tech_notes,table_name='remote_check'
)
    if form.process().accepted:
        session.flash = 'Job Updated'
        db.tech_notes.insert(**db.tech_notes._filter_fields(form.vars))
        db.job_requests.update(**db.job_requests._filter_fields(form.vars))
        if form.vars.job_result=='Completed':
            redirect(URL('ops', 'tech_main_page'))
        else:
            redirect(URL('ops', 'maintenance_customer_service_request'))...

and the error...

  File "c:/Users/gsv/Desktop/web2py/applications/eco/controllers/ops.py" 
<http://127.0.0.1:8000/admin/default/edit/eco/controllers/ops.py>, line 129, 
in remote_check

    db.job_requests.update(**db.job_requests._filter_fields(form.vars))
  File "c:\Users\gsv\Desktop\web2py\gluon\dal.py", line 8790, in update
    raise RuntimeError("Syntax Not Supported")
RuntimeError: Syntax Not Supported


Which is not a surprise... I tried to adapt posts from here and the 
examples in the book but I don't get SQLFORM well enough to see where I am 
screwing it up...

Can you point me in the right direction please?

Cheers
Greg


On Tuesday, 9 September 2014 23:30:46 UTC+10, Anthony wrote:
>
> You've got a redirect right before the update code, so it will never get 
> to execute that code.
>
> Also, your two tables include a field with the same name 
> ("business_name"), so putting them both in SQLFORM.factory won't work 
> properly.
>
> Anthony
>
> On Tuesday, September 9, 2014 9:10:50 AM UTC-4, Greg Vaughan wrote:
>>
>> I am trying to do a combined update and insert using SQLFORM.factory with 
>> some redirects for good measure.
>>
>> Everything works fine except the update which fails to alter the record 
>> in question.
>>
>> @auth.requires_login()
>> def remote_check():
>>     j_id=request.args[0]
>>     for row in db(db.job_requests.id==j_id).select(db.job_requests.
>> business_name, db.job_requests.cta, db.job_requests.spoke_to, db.
>> job_requests.job_result, db.job_requests.job_note):
>>         bus = row.business_name
>>         contact = row.spoke_to
>>         cta = row.cta
>>         jn = row.job_note
>>         jr = row.job_result
>>         for row in db(db.clients.id==row.business_name).select(db.clients
>> .id, db.clients.phone):
>>             c_id=str(row.id)
>>             phone=row.phone
>>     address = get_client_address(c_id)
>>     db.job_requests.id.readable=False
>>     db.job_requests.business_name.default=c_id
>>     db.job_requests.business_name.writable=False
>>     db.job_requests.sr_number.writable=False
>>     db.job_requests.sr_number.readable=False
>>     db.job_requests.cta.default=cta
>>     db.job_requests.cta.writable=False
>>     db.job_requests.send_via.writable=False
>>     db.job_requests.send_via.readable=False
>>     db.job_requests.email_to.writable=False
>>     db.job_requests.email_to.readable=False
>>     db.job_requests.fax_to.writable=False
>>     db.job_requests.fax_to.readable=False
>>     db.job_requests.snd_other.writable=False
>>     db.job_requests.snd_other.readable=False
>>     db.job_requests.spoke_to.default=contact
>>     db.job_requests.spoke_to.writable=False
>>     db.job_requests.job_result.default=jr
>>     db.job_requests.job_note.default=jn
>>     db.job_requests.job_note.writable=False
>>     db.tech_notes.business_name.default=c_id
>>     db.tech_notes.business_name.writable=False
>>     form=SQLFORM.factory(db.job_requests,db.tech_notes,table_name=
>> 'remote_check')
>>     if form.process().accepted:
>>         session.flash = 'Job Updated'
>>         db.tech_notes.insert(**db.tech_notes._filter_fields(form.vars))
>>         redirect(URL('ops', 'tech_main_page'))
>>         if form.vars.job_result=='Completed':
>>             db.job_requests.update(**db.job_requests._filter_fields(form.
>> vars))
>>             redirect(URL('ops', 'tech_main_page'))
>>         else:
>>             redirect(URL('ops', 'maintenance_customer_service_request'))
>>     elif form.errors:
>>         response.flash = 'Form has errors'
>>     return dict(form=form,phone=phone,address=address,
>> left_sidebar_enabled=True,right_sidebar_enabled=True)
>>
>> Any hints please?
>>
>

-- 
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