Thanks again ! I came back from vacation and tried the code but I got
different error...
File "C:\web2py\gluon\dal.py", line 1386, in log_execute
ret = self.cursor.execute(*a, **b)
ProgrammingError: The cursor's connection has been closed.
sub_menu = [('Admin', False, URL('admin'), []), ] # Added empty list
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 Sunday, April 15, 2012 9:52:01 PM UTC-5, Cliff wrote:
>
> 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')), ]
>>>>
>>>