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 <atayl...@gmail.com<javascript:>
> > 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 <atayl...@gmail.com> 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 <oliver...@gmx.net> 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 web2py+un...@googlegroups.com.
>>>>>>>
>>>>>>> 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 web2py+un...@googlegroups.com.
>>>>> 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 web2py+un...@googlegroups.com <javascript:>.
>> 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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to