This worked well. Thanks.
On Thursday, July 18, 2013 11:18:23 AM UTC-5, Ykä Marjanen wrote:
>
> Hi,
>
> If I understood correctly, you could use 'session' to save the list, so
> you don't have to pass it back and forth to the controller.
>
> E.g. session.serials = [] and then session.serials.append(x)
>
> Ykä
>
> On Thursday, July 18, 2013 6:55:52 PM UTC+3, Kyle Flanagan wrote:
>>
>> What's the best way to pass a Python list back to the controller, i.e.
>> keep the list object persistent between calls? The list could get quite
>> large so I'm not sure if request.args or request.vars is appropriate for it
>> (well the items in the list)? The code below is a mockup of what I'm trying
>> to achieve. The list in question is 'serials.'
>>
>> @auth.requires_login()
>> def send():
>> """
>> Method for 'sending'an IBC tote to a location.
>> """
>> try:
>> if serials:
>> pass
>> except:
>> serials = list()
>>
>> if request.vars["location_id"]:
>> if request.vars["serial_number"]:
>> # update the location
>> serials.append(request.vars["serial_number"])
>>
>> # start accepting input to update IBC's to this location
>> status = "Location: " + db.MyLocation[request.vars['location_id'
>> ]].name
>> form = SQLFORM.factory(Field('Object_serial_number', requires=
>> IS_IN_DB(db, 'Object.serial_number', '%(serial_number)s', orderby=db.
>> Object.serial_number)))
>> if form.process().accepted:
>> response.flash = form.vars.Object_serial_number
>> redirect(URL('send', vars=dict(location_id=request.vars[
>> "location_id"], serial_number=form.vars.Object_serial_number)))
>> else:
>> # we need to pick a location
>> form = SQLFORM.factory(Field('send_location', requires=IS_IN_DB(
>> db, 'MyLocation.id', '%(name)s', orderby=db.MyLocation.name)))
>> if form.process().accepted:
>> response.flash = form.vars.send_location
>> redirect(URL('send', vars=dict(location_id=form.vars.
>> send_location)))
>> status = "No location"
>>
>> return dict(grid=form, status=status, serials=serials, count=len(
>> serials))
>>
>> Basically, the user goes to the 'send' controller, picks a location, then
>> enters serial numbers. I'd like to keep a list going so that the user can
>> remove a serial number from the list if they added one in error and then
>> submit them for updating all at once.
>>
>
--
---
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/groups/opt_out.