I actually see it trying to return the values in the variables in the URL
it says field1='data', field2='data2', but its hanging for some reason...


On Fri, May 2, 2014 at 4:15 PM, Austin Taylor <[email protected]> wrote:

> return **dict(form=form)? I am sorry I know my questions are noob, but I
> can't tell you how much I appreciate your help. I've spent two days on this
> problem.
>
>
> On Fri, May 2, 2014 at 4:11 PM, Richard Vézina <
> [email protected]> wrote:
>
>> **dict(...)
>>
>>
>> On Fri, May 2, 2014 at 4:10 PM, Austin Taylor <[email protected]>wrote:
>>
>>> I will definitely upgrade in the upcoming months... but for now I"m
>>> stuck with 2.6. Your dict comprehension worked, but now I'm getting an
>>> error when I click bthe button saying there are too many values to unpack.
>>> I'm guessing this is because I'm using 2.6 again and its something to do
>>> with my function:
>>>
>>> def transition_form():
>>>    for f, v in rqeuest.vars:
>>>      db.table[f].default = v
>>> form = SQLFORM(db.table)
>>> return dict(form=form)
>>>
>>>
>>> On Fri, May 2, 2014 at 4:03 PM, Richard Vézina <
>>> [email protected]> wrote:
>>>
>>>>  Try with dict() contructor in one of my last email if you want to
>>>> stay in 2.6
>>>>
>>>> Richard
>>>>
>>>>
>>>> On Fri, May 2, 2014 at 4:02 PM, Richard Vézina <
>>>> [email protected]> wrote:
>>>>
>>>>> python2.7 web2py ...
>>>>>
>>>>>
>>>>> On Fri, May 2, 2014 at 4:01 PM, LoveWeb2py <[email protected]>wrote:
>>>>>
>>>>>> Is there a way to force web2py to use 2.7 instead of 2.6? I thought
>>>>>> it was using 2.7. Thank you for being so patient.
>>>>>>
>>>>>>
>>>>>> On Friday, May 2, 2014 3:59:06 PM UTC-4, Richard wrote:
>>>>>>
>>>>>>> Upgrade to 2.9.5 web2py 2.3 is very old... Consider using 2.7 for
>>>>>>> python...
>>>>>>>
>>>>>>> http://stackoverflow.com/questions/1747817/python-
>>>>>>> create-a-dictionary-with-list-comprehension
>>>>>>>
>>>>>>> You can adapt
>>>>>>>
>>>>>>> Richard
>>>>>>>
>>>>>>>
>>>>>>> On Fri, May 2, 2014 at 3:44 PM, LoveWeb2py <[email protected]>wrote:
>>>>>>>
>>>>>>>> Okay... I think I see the issue. My web2py is running Python 2.6
>>>>>>>> and my Interpreter is 2.7. dictionary comprehension changed between 
>>>>>>>> those
>>>>>>>> versions. I'm going to try and construct a dict comprehension for 2.6 
>>>>>>>> and
>>>>>>>> try it again.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Friday, May 2, 2014 3:40:53 PM UTC-4, LoveWeb2py wrote:
>>>>>>>>>
>>>>>>>>> Okay quick update:
>>>>>>>>>
>>>>>>>>> I loaded a row into python to test the comprehension.
>>>>>>>>> row = db(db.table.id>0).select().first()
>>>>>>>>>
>>>>>>>>> {f: row[f] for f in db.table.fields} prints out the list fine and
>>>>>>>>> its exactly how I"d like to prepopulate my field on the transition 
>>>>>>>>> form.
>>>>>>>>> Thank you for getting me this far.
>>>>>>>>>
>>>>>>>>> However when I try to type vars={f: row[f] for f in
>>>>>>>>> db.table.fields})))] I get invalid syntax and the ^ points to the for 
>>>>>>>>> in
>>>>>>>>> the dict comprehension. When I use regular python it works fine. Any
>>>>>>>>> thoughts?
>>>>>>>>>
>>>>>>>>> On Friday, May 2, 2014 3:16:24 PM UTC-4, LoveWeb2py wrote:
>>>>>>>>>>
>>>>>>>>>> I just realized I might be running into problems because I'm
>>>>>>>>>> using 2.3. I haven't upgraded because the new web2py threw my css 
>>>>>>>>>> off. It
>>>>>>>>>> looks like you're referencing the virtual fields?
>>>>>>>>>>
>>>>>>>>>> http://web2py.com/books/default/chapter/29/06/the-database-
>>>>>>>>>> abstraction-layer#Old-style-virtual-fields
>>>>>>>>>>
>>>>>>>>>> If you think I should upgrade i'll make the change, but if I
>>>>>>>>>> could stick with 2.3 I would prefer to do so
>>>>>>>>>>
>>>>>>>>>> On Friday, May 2, 2014 3:10:15 PM UTC-4, LoveWeb2py wrote:
>>>>>>>>>>>
>>>>>>>>>>> for this part: {f: row[f] for f in db.table.fields}
>>>>>>>>>>>
>>>>>>>>>>> what do I put for fields... could I just leave it as fields?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Friday, May 2, 2014 11:16:09 AM UTC-4, Richard wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Yes, so you want to pas by a transitionnal form with the data
>>>>>>>>>>>> preset base on the copied record values, where you can make the 
>>>>>>>>>>>> change you
>>>>>>>>>>>> want before submit the form. So if you have a grid where you can 
>>>>>>>>>>>> select the
>>>>>>>>>>>> record to copy with the icon you want that link to the 
>>>>>>>>>>>> transitionnal form,
>>>>>>>>>>>> you just have to pass the value of the record to the form throught 
>>>>>>>>>>>> out URL
>>>>>>>>>>>> vars... You can iter like that :
>>>>>>>>>>>>
>>>>>>>>>>>> SQLFORM.grid(..., links=[dict(header='', body=lambda row:
>>>>>>>>>>>> A(I(_class='icon some_icon'), _href=URL('transitionnal_form',
>>>>>>>>>>>> vars={f: row[f] for f in db.table.fields}))))],)
>>>>>>>>>>>>
>>>>>>>>>>>> This part :
>>>>>>>>>>>> {f: row[f] for f in db.table.fields}
>>>>>>>>>>>>
>>>>>>>>>>>> Is a dict comprehension...
>>>>>>>>>>>>
>>>>>>>>>>>> Then in transitionnal form controller you do something like
>>>>>>>>>>>> that :
>>>>>>>>>>>>
>>>>>>>>>>>> def transition_form():
>>>>>>>>>>>>     for f, v in request.vars:
>>>>>>>>>>>>         db.table[f].default = v
>>>>>>>>>>>>     form = SQLFORM(db.table, ...)
>>>>>>>>>>>>     ...
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Richard
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, May 2, 2014 at 10:18 AM, LoveWeb2py <[email protected]
>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Basically... right now I have a magnifying glass, the pencil,
>>>>>>>>>>>>> and a trash can for my records. I want to add a plus next to each 
>>>>>>>>>>>>> one of my
>>>>>>>>>>>>> records and when I click on the plus it copies that records 
>>>>>>>>>>>>> values into a
>>>>>>>>>>>>> new record and creates a new ID.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I can then modify some of the values in the record or keep it
>>>>>>>>>>>>> the same if I choose. Does that make sense?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Friday, May 2, 2014 9:57:23 AM UTC-4, LoveWeb2py wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This is very helpful, Richard. I have about 20 fields so I
>>>>>>>>>>>>>> think I would have to iterate through the fields and insert the
>>>>>>>>>>>>>> request.vars to the database.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Ahhh after looking at your code it looks like that could
>>>>>>>>>>>>>> would write a record from one table to another. In this case I 
>>>>>>>>>>>>>> just want to
>>>>>>>>>>>>>> copy a record from the same table and insert the record as a new 
>>>>>>>>>>>>>> ID.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I think the answer will be a combination of your and Oli's
>>>>>>>>>>>>>> approach.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Friday, May 2, 2014 9:39:46 AM UTC-4, Richard wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> What do you mean?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> You can redirect (A('Link', _href=URL(controler, function,
>>>>>>>>>>>>>>> vars=dict(pass_your_record_vars_here=record_vars1, ...)))
>>>>>>>>>>>>>>> to a function that do what I wrote above... Just pass record 
>>>>>>>>>>>>>>> value throught
>>>>>>>>>>>>>>> vars then request.vars.field1 request.vars.field2 and assign 
>>>>>>>>>>>>>>> .default=
>>>>>>>>>>>>>>> request.vars.field1
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Richard
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Fri, May 2, 2014 at 9:33 AM, LoveWeb2py <
>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Richard,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> How do I assign this to a button though?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Friday, May 2, 2014 9:30:21 AM UTC-4, Richard wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> keepvalues
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> or
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> row = db(...).select(db.table.record).first()
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> db.other_table.field1.default = row.field
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> form = SQLFORM(db.table, ...)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Richard
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Fri, May 2, 2014 at 9:07 AM, Oli <[email protected]>wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I hope this help.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> def copy_and_edit():
>>>>>>>>>>>>>>>>>>     """
>>>>>>>>>>>>>>>>>>     copy_and_edit
>>>>>>>>>>>>>>>>>>     """
>>>>>>>>>>>>>>>>>>     record = db.t_disciplin(request.args[0])
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>     vals = {}
>>>>>>>>>>>>>>>>>>     for k,v in record.items():
>>>>>>>>>>>>>>>>>>         if k in db.t_disciplin.fields:
>>>>>>>>>>>>>>>>>>             if k == 'f_title':
>>>>>>>>>>>>>>>>>>                 v = v + "_copy"
>>>>>>>>>>>>>>>>>>                 recname = str(v) # Needed to redirect the
>>>>>>>>>>>>>>>>>> page to the right record
>>>>>>>>>>>>>>>>>>             if k != 'id':
>>>>>>>>>>>>>>>>>>                 vals[k] = v
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>     db.t_disziplin.insert(**vals)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>     rec = db(db.t_disziplin.f_title ==
>>>>>>>>>>>>>>>>>> recname).select().first()
>>>>>>>>>>>>>>>>>>     rec_id = rec.id
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>     # redirect for edit the new record
>>>>>>>>>>>>>>>>>>     redirect(URL(r=request, f='konstanten/t_disciplin/
>>>>>>>>>>>>>>>>>> edit/t_disciplin',args=str(rec_id)))
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Am Freitag, 2. Mai 2014 14:29:26 UTC+2 schrieb LoveWeb2py:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> There are many times when I just want to copy the values
>>>>>>>>>>>>>>>>>>> of one record in my sqlform and create a new record, but 
>>>>>>>>>>>>>>>>>>> modify the content
>>>>>>>>>>>>>>>>>>> and save it. Is there an easy way to do this with web2py or 
>>>>>>>>>>>>>>>>>>> would I have to
>>>>>>>>>>>>>>>>>>> write the code?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Many thanks
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>  --
>>>>>>>>>>>>>>>>>> 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/op
>>>>>>>>>>>>>>>>>> tout.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  --
>>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  --
>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>  --
>>>>>>>> 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.
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>> 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.
>>>>>>
>>>>>
>>>>>
>>>>  --
>>>> 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 a topic in the
>>>> Google Groups "web2py-users" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/web2py/U2ajc9LzVCk/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> [email protected].
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  --
>>> 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.
>>>
>>
>>  --
>> 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 a topic in the
>> Google Groups "web2py-users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/web2py/U2ajc9LzVCk/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

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