diff --git a/VERSION b/VERSION
index fb701311..ade57586 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Version 2.00.0 (2012-08-22 16:02:59) dev
+Version 2.00.0 (2012-08-22 17:07:39) dev
diff --git a/gluon/tools.py b/gluon/tools.py
index b5d8d44a..e67d5e4c 100644
--- a/gluon/tools.py
+++ b/gluon/tools.py
@@ -3136,10 +3136,9 @@ class Auth(object):
new_record[key] = value
id = archive_table.insert(**new_record)
return id
- def wiki(self,slug=None,env=None,automenu=True,manage_permissions=False,force_prefix=''):
+ def wiki(self,slug=None,env=None,manage_permissions=False,force_prefix=''):
if not hasattr(self,'_wiki'):
self._wiki = Wiki(self,
- automenu=automenu,
manage_permissions=manage_permissions,
force_prefix=force_prefix,env=env)
else:
@@ -4468,13 +4467,12 @@ class Wiki(object):
items = text.split('/')
controller, function, args = items[0], items[1], items[2:]
return LOAD(controller, function, args=args, ajax=True).xml()
- def __init__(self,auth,env=None,automenu=True,render='markmin',
+ def __init__(self,auth,env=None,render='markmin',
manage_permissions=False,force_prefix=''):
self.env = env or {}
self.env['component'] = Wiki.component
if render == 'markmin': render=self.markmin_render
self.auth = auth
- self.automenu = automenu
if self.auth.user:
self.force_prefix = force_prefix % self.auth.user
else:
@@ -4489,7 +4487,6 @@ class Wiki(object):
readable=False,writable=False),
Field('title',unique=True),
Field('body','text',notnull=True),
- Field('menu'),
Field('tags','list:string'),
Field('can_read','list:string',writable=perms,readable=perms,
default=[Wiki.everybody]),
@@ -4555,9 +4552,8 @@ class Wiki(object):
### END POLICY
def __call__(self):
request = current.request
- if self.automenu:
- current.response.menu = self.menu(request.controller,
- request.function)
+ automenu = self.menu(request.controller,request.function)
+ current.response.menu += automenu
zero = request.args(0)
if zero and zero.isdigit():
return self.media(int(zero))
@@ -4646,8 +4642,10 @@ class Wiki(object):
db.wiki_page.can_edit.default = [auth.user_group_role()]
db.wiki_page.title.default = title_guess
db.wiki_page.slug.default = slug
- db.wiki_page.menu.default = slug
- db.wiki_page.body.default = '## %s\n\npage content' % title_guess
+ if slug == 'wiki-menu':
+ db.wiki_page.body.default = '- Menu Item > @////index\n- - Submenu > http://web2py.com'
+ else:
+ db.wiki_page.body.default = '## %s\n\npage content' % title_guess
vars = current.request.post_vars
if vars.body:
vars.body=vars.body.replace('://%s' % self.host,'://HOSTNAME')
@@ -4718,23 +4716,23 @@ class Wiki(object):
def menu(self,controller='default',function='index'):
db = self.auth.db
request = current.request
- rows = db((db.wiki_page.menu!=None)|(db.wiki_page.menu!=''))\
- .select(db.wiki_page.menu,db.wiki_page.title,db.wiki_page.slug,
- orderby = db.wiki_page.menu)
+ menu_page = db.wiki_page(slug='wiki-menu')
menu = []
- tree = {'.':menu}
- regex = re.compile('\d\:')
- for row in rows:
- if row.menu:
- key = './'+regex.sub('',row.menu)
- base = key.rsplit('/',1)[0]
- subtree = tree[key] = []
- if base in tree:
- tree[base].append((current.T(row.title),
- request.args(0)==row.slug,
- URL(controller,function,args=row.slug),
- subtree))
- #if self.auth.user:
+ if menu_page:
+ tree = {'':menu}
+ regex = re.compile('[\r\n\t]*(?P