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.

