Omi,

Sorry, my bad.  Been away.

Should be:
    sub_menu = [('Admin',  False,  URL('admin'), []), ] # Added empty list

On Thursday, April 12, 2012 9:43:39 AM UTC-4, Omi Chiba wrote:
>
> Cliff, 
>
> Thank you for sharing code but now I got a different error. Maybe it 
> cannot understand sub_menu contains three parameters..
>
> Traceback (most recent call last):
>   File "C:\web2py\gluon\restricted.py", line 205, in restricted
>     exec ccode in environment
>   File "C:\web2py\applications\home\views\default/index.html", line 64, in 
> <module>
>   File "C:\web2py\gluon\globals.py", line 182, in write
>     self.body.write(xmlescape(data))
>   File "C:\web2py\gluon\html.py", line 114, in xmlescape
>     return data.xml()
>   File "C:\web2py\gluon\html.py", line 2146, in xml
>     return self.serialize(self.data, 0).xml()
>   File "C:\web2py\gluon\html.py", line 2121, in serialize
>     li.append(self.serialize(item[3], level+1))
>   File "C:\web2py\gluon\html.py", line 2109, in serialize
>     (name, active, link) = item[:3]
> ValueError: need more than 0 values to unpack
>
> On Wednesday, April 11, 2012 11:00:30 PM UTC-5, Cliff wrote:
>>
>> I have something like this working:
>>
>> sub_menu = []
>> if (auth.user_id != None) and ((auth.has_membership(role = 'admin'))):
>>     sub_menu = [('Admin',  False,  URL('admin')), ]
>> response.menu = [('Home', False, URL('home','default','index'), []),
>>     (SPAN('Price List',_style='color:yellow'), True, 
>> URL('pricelist','default','index'), 
>>     [('Guideline',  False,  URL('pricelist','default','guideline')),
>>      ('Multiplier Tables',  False, 
>>  URL('pricelist','default','multitable')),
>>      ('Cut Charge Tables',  False, 
>>  URL('pricelist','default','cuttable')),
>>      (sub_menu),
>>     ])]
>>
>> On Wednesday, April 11, 2012 12:24:29 PM UTC-4, Omi Chiba wrote:
>>>
>>> The following menu works. It's add "Admin" menu next to "Price List" if 
>>> the user has role "admin". Now, I want to add the "Admin" menu as sub-menu 
>>> of "Price List" where it's right after the "Cut Charge Tables". How can I 
>>> do this ?
>>>
>>> response.menu = [('Home', False, URL('home','default','index'), []),
>>>     (SPAN('Price List',_style='color:yellow'), True, 
>>> URL('pricelist','default','index'), 
>>>     [('Guideline',  False,  URL('pricelist','default','guideline')),
>>>      ('Multiplier Tables',  False, 
>>>  URL('pricelist','default','multitable')),
>>>      ('Cut Charge Tables',  False, 
>>>  URL('pricelist','default','cuttable')),
>>>     ])]
>>>
>>> if (auth.user_id != None) and ((auth.has_membership(role = 'admin'))):
>>>     response.menu += [('Admin',  False,  URL('admin')), ]
>>>
>>

Reply via email to