wiki(menugroups=['wiki_editor'])
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.2.1 (2012-11-30 08:33:32) stable
|
Version 2.2.1 (2012-11-30 09:01:49) stable
|
||||||
|
|||||||
+17
-5
@@ -3292,13 +3292,15 @@ class Auth(object):
|
|||||||
force_prefix='',
|
force_prefix='',
|
||||||
restrict_search=False,
|
restrict_search=False,
|
||||||
resolve=True,
|
resolve=True,
|
||||||
extra=None):
|
extra=None,
|
||||||
|
menugroups=None):
|
||||||
if not hasattr(self, '_wiki'):
|
if not hasattr(self, '_wiki'):
|
||||||
self._wiki = Wiki(self, render=render,
|
self._wiki = Wiki(self, render=render,
|
||||||
manage_permissions=manage_permissions,
|
manage_permissions=manage_permissions,
|
||||||
force_prefix=force_prefix,
|
force_prefix=force_prefix,
|
||||||
restrict_search=restrict_search,
|
restrict_search=restrict_search,
|
||||||
env=env, extra=extra or {})
|
env=env, extra=extra or {},
|
||||||
|
menugroups=menugroups)
|
||||||
else:
|
else:
|
||||||
self._wiki.env.update(env or {})
|
self._wiki.env.update(env or {})
|
||||||
# if resolve is set to True, process request as wiki call
|
# if resolve is set to True, process request as wiki call
|
||||||
@@ -4702,7 +4704,7 @@ class Wiki(object):
|
|||||||
|
|
||||||
def __init__(self, auth, env=None, render='markmin',
|
def __init__(self, auth, env=None, render='markmin',
|
||||||
manage_permissions=False, force_prefix='',
|
manage_permissions=False, force_prefix='',
|
||||||
restrict_search=False, extra=None):
|
restrict_search=False, extra=None, menugroups=None):
|
||||||
self.env = env or {}
|
self.env = env or {}
|
||||||
self.env['component'] = Wiki.component
|
self.env['component'] = Wiki.component
|
||||||
if render == 'markmin':
|
if render == 'markmin':
|
||||||
@@ -4711,6 +4713,7 @@ class Wiki(object):
|
|||||||
render = self.html_render
|
render = self.html_render
|
||||||
self.render = render
|
self.render = render
|
||||||
self.auth = auth
|
self.auth = auth
|
||||||
|
self.menugroups = menugroups
|
||||||
if self.auth.user:
|
if self.auth.user:
|
||||||
self.force_prefix = force_prefix % self.auth.user
|
self.force_prefix = force_prefix % self.auth.user
|
||||||
else:
|
else:
|
||||||
@@ -4826,6 +4829,16 @@ class Wiki(object):
|
|||||||
|
|
||||||
def can_search(self):
|
def can_search(self):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def can_see_menu(self):
|
||||||
|
if self.menugroups is None:
|
||||||
|
return True
|
||||||
|
if self.auth.user:
|
||||||
|
groups = self.auth.user_groups.values()
|
||||||
|
if any(t in self.menugroups for t in groups):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
### END POLICY
|
### END POLICY
|
||||||
|
|
||||||
def __call__(self):
|
def __call__(self):
|
||||||
@@ -5089,8 +5102,7 @@ class Wiki(object):
|
|||||||
subtree = []
|
subtree = []
|
||||||
tree[base] = subtree
|
tree[base] = subtree
|
||||||
parent.append((current.T(title), False, link, subtree))
|
parent.append((current.T(title), False, link, subtree))
|
||||||
# Changed from True to self.auth.user. Why just True anyway?
|
if self.can_see_menu():
|
||||||
if self.auth.user:
|
|
||||||
submenu = []
|
submenu = []
|
||||||
menu.append((current.T('[Wiki]'), None, None, submenu))
|
menu.append((current.T('[Wiki]'), None, None, submenu))
|
||||||
if URL() == URL(controller, function):
|
if URL() == URL(controller, function):
|
||||||
|
|||||||
Reference in New Issue
Block a user