After disabling the key constraints none of those errors about it have 
appeared.  I am grateful for the assistance and will return it anyway I 
can.  I will post a summary here for anyone attempting this also.  Thanks a 
million!

On Wednesday, January 22, 2014 12:03:26 PM UTC-6, web2pygroup wrote:
>
> That works great, thank you!!!  My only remaining question is that when I 
> try to edit the first record "main" in the appadmin I get the foreign key 
> error.  I read here -> 
> https://groups.google.com/forum/#!topic/web2py/klspqXpha4E <- about how 
> to disable it.  Wasn't sure if I should do that or not...  The other 
> records do not act up when changed, just that one so I'm sure I could work 
> around that but, just in case someone else manages the site... I'm not 
> sure.  Thoughts?
>
> On Tuesday, January 21, 2014 11:03:46 PM UTC-6, Massimo Di Pierro wrote:
>>
>> Sorry typo. Let's try again:
>>
>> db.define_table('store_catalog',
>>     Field('title'),
>>     Field('slug',requires=IS_SLUG(),compute=lambda row: 
>> IS_SLUG.urlify(row.titl\
>> e)),
>>     Field('parent_id','reference store_catalog'))
>>
>> id1 = db.store_catalog.insert(title='main')
>> id2 = db.store_catalog.insert(title='one',parent_id=id1)
>> id3 = db.store_catalog.insert(title='two',parent_id=id2)
>>
>> def menu_rec(items): return 
>> [(x.title,None,URL('action',args=x.slug),menu_rec(x\
>> .children)) for x in items or []]
>> response.menu = menu_rec(db(db.store_catalog).select().as_trees())
>> print response.menu
>>
>> On Tuesday, 21 January 2014 12:17:19 UTC-6, web2pygroup wrote:
>>>
>>> Here's what I've tried so far and here's the results if it helps any to 
>>> get me on the right track, plus I hope this helps someone else looking for 
>>> this to because this is something very commonly done in PHP.
>>>
>>> I have tried changing this:
>>> response.menu3[-1]+=([[(T(subcat.subcategory)), False, 'link',]])
>>>
>>> to this:
>>> response.menu3[-1]+=([(T(subcat.subcategory)), False, 'link',])
>>>
>>> Which changes the output in the shell to:
>>> [<lazyT 'Catalog'>,
>>>  False,
>>>  '',
>>>  [<lazyT 'Animals'>,
>>>   False,
>>>   'link',
>>>   <lazyT 'Dogs'>,
>>>   False,
>>>   'link',
>>>   <lazyT 'Cats'>,
>>>   False,
>>>   'link']]
>>>
>>> Which obviously isn't correct.  
>>>
>>> Continuing:
>>>
>>> original:
>>> response.menu3[-1]+=([[(T(subcat.subcategory)), False, 'link',]])
>>>
>>> to this:
>>> response.menu3+=([[(T(subcat.subcategory)), False, 'link',]])
>>>
>>> Gives this in the shell output:
>>> [<lazyT 'Catalog'>,
>>>  False,
>>>  '',
>>>  [<lazyT 'Animals'>, False, 'link'],
>>>  [<lazyT 'Dogs'>, False, 'link'],
>>>  [<lazyT 'Cats'>, False, 'link']]
>>>
>>> Again obviously incorrect.  Continuing:
>>>
>>> original:
>>> response.menu3+=([[(T(subcat.subcategory)), False, 'link',]])
>>>
>>> changed:
>>> response.menu3[-1]+=((T(subcat.subcategory)), False, 'link',)
>>>
>>> Shell output shows:
>>> [<lazyT 'Catalog'>,
>>>  False,
>>>  '',
>>>  [<lazyT 'Animals'>,
>>>   False,
>>>   'link',
>>>   <lazyT 'Dogs'>,
>>>   False,
>>>   'link',
>>>   <lazyT 'Cats'>,
>>>   False,
>>>   'link']]
>>>
>>> I tried additional variations but, not sure how much space we have here 
>>> to keep going with my 2 weeks worth of work.  Essentially the end result is 
>>> the same a bracket missing to seperate the subcategories.  I've been able 
>>> to modify and add to lists before, however I've never really experienced a 
>>> situation where the negative slice appears to be ignored (removing the 
>>> bracket at the end of dogs and beginning of cats as it is doing for the 
>>> main category Animals as can be seen), even removed the negative slice 
>>> ([-1]) for the main categories iteration and when I do it clearly shows 
>>> that it is actually doing the negative slice properly because the brackets 
>>> come back at the end of Animals, unlike the subcategories that do not 
>>> appear to be removing the bracket(s)
>>>
>>>
>>> On Monday, January 20, 2014 2:33:50 PM UTC-6, web2pygroup wrote:
>>>>
>>>>
>>>> Hi all,
>>>>
>>>> I have been trying for a little over 2 weeks to figure this out...
>>>>
>>>> I'm trying to generate a menu that drops down, I have been able to 
>>>> statically create it by overwriting sample app that has the same drop down 
>>>> menu like the web2py.com site.
>>>>
>>>> I have this in my db.py:
>>>> db.define_table('store_catalog',
>>>>     Field('maincategory', 'string'),
>>>>     Field('subcategory', 'string'),
>>>>     Field('description', 'text'))
>>>>
>>>>
>>>> in my menu.py I have gotten this so far:
>>>> response.menu=[]
>>>> response.menu.append([T('Catalog'), False, '',
>>>>                [(T('%s' % menucatchoice['maincategory']), False, 'link',
>>>>                     [(T('%s' % menucatchoice['subcategory']), False, 
>>>> 'link'),]) for menucatchoice in rows ] ])
>>>>
>>>> It gets me a drop down menu except that for each subcategory it repeats 
>>>> adding it to the main category. Let's say there is only 1 main category 
>>>> and 
>>>> 2 subs that go after that
>>>> Catalog (this just shows with the caret next to it as intended)
>>>> MainCategory
>>>>     Sub
>>>>     Sub
>>>> What I have does put the "Catalog" for the first but, what I get is:
>>>> MainCategory
>>>>     (blank)
>>>> MainCategory(don't want this it's being repeated)
>>>>    Subcategory
>>>> MainCategory(and this one is also a repeat)
>>>>    Subcategory
>>>>
>>>> I have tried to break out the response.menu with so many different 
>>>> .appends it's not funny.  I have also tried adding the "[-1]".  This was 
>>>> the closest I have gotten to what I want it to look like.  I'm at an 
>>>> absolute loss on this, any and all help would be greatly appreciated.
>>>>
>>>

-- 
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/groups/opt_out.

Reply via email to