Merge with upstream.

This commit is contained in:
Michele Comitini
2013-04-13 00:04:26 +02:00
5 changed files with 27 additions and 24 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.4.6-stable+timestamp.2013.04.10.22.14.20 Version 2.4.6-stable+timestamp.2013.04.12.13.07.05
+1 -10
View File
@@ -137,13 +137,4 @@ def _():
)] )]
if DEVELOPMENT_MENU: _() if DEVELOPMENT_MENU: _()
if "auth" in locals(): auth.wikimenu()
#########################################################################
## This adds the wiki menu to any action if specified in wiki settings.
#########################################################################
if "auth" in locals():
if auth.settings.wiki.controller and auth.settings.wiki.function:
auth.wiki(controller=auth.settings.wiki.controller,
function=auth.settings.wiki.function)
+22 -12
View File
@@ -3389,6 +3389,7 @@ class Auth(object):
function=function) function=function)
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
# resolve=False allows initial setup without wiki redirection # resolve=False allows initial setup without wiki redirection
wiki = None wiki = None
@@ -3405,6 +3406,13 @@ class Auth(object):
wiki = XML(wiki) wiki = XML(wiki)
return wiki return wiki
def wikimenu(self):
"""to be used in menu.py for app wide wiki menus"""
if (hasattr(self, "_wiki") and
self._wiki.settings.controller and
self._wiki.settings.function):
self._wiki.automenu()
class Crud(object): class Crud(object):
@@ -4987,7 +4995,7 @@ class Wiki(object):
menu_groups=None, templates=None, migrate=True, menu_groups=None, templates=None, migrate=True,
controller=None, function=None): controller=None, function=None):
settings = self.settings = Settings() settings = self.settings = auth.settings.wiki
# render: "markmin", "html", ..., <function> # render: "markmin", "html", ..., <function>
settings.render = render settings.render = render
@@ -5005,6 +5013,7 @@ class Wiki(object):
self.env = env or {} self.env = env or {}
self.env['component'] = Wiki.component self.env['component'] = Wiki.component
self.auth = auth self.auth = auth
self.wiki_menu_items = None
if self.auth.user: if self.auth.user:
self.settings.force_prefix = force_prefix % self.auth.user self.settings.force_prefix = force_prefix % self.auth.user
@@ -5095,13 +5104,6 @@ class Wiki(object):
auth.add_membership(gid) auth.add_membership(gid)
settings.lock_keys = True settings.lock_keys = True
if controller and function:
self.automenu = self.menu(settings.controller,
settings.function)
current.response.menu += self.automenu
else:
self.automenu = None
# WIKI ACCESS POLICY # WIKI ACCESS POLICY
@@ -5150,12 +5152,20 @@ class Wiki(object):
### END POLICY ### END POLICY
def automenu(self):
"""adds the menu if not present"""
request = current.request
if not self.wiki_menu_items and self.settings.controller and self.settings.function:
self.wiki_menu_items = self.menu(self.settings.controller,
self.settings.function)
current.response.menu += self.wiki_menu_items
def __call__(self): def __call__(self):
request = current.request request = current.request
if not self.automenu: settings.controller = settings.controller or request.controller
self.automenu = self.menu(request.controller, settings.function = settings.function or request.function
request.function) self.automenu()
current.response.menu += self.automenu
zero = request.args(0) or 'index' zero = request.args(0) or 'index'
if zero and zero.isdigit(): if zero and zero.isdigit():
return self.media(int(zero)) return self.media(int(zero))
+1 -1
View File
@@ -538,7 +538,7 @@ class IS_IN_DB(Validator):
records = self.dbset(table).select(table.ALL, **dd) records = self.dbset(table).select(table.ALL, **dd)
self.theset = [str(r[self.kfield]) for r in records] self.theset = [str(r[self.kfield]) for r in records]
if isinstance(self.label, str): if isinstance(self.label, str):
self.labels = [self.label % dict(r) for r in records] self.labels = [self.label % r for r in records]
else: else:
self.labels = [self.label(r) for r in records] self.labels = [self.label(r) for r in records]
+2
View File
@@ -136,6 +136,8 @@ class Web2pyService(Service):
path=options.folder path=options.folder
) )
try: try:
from rewrite import load
load()
self.server.start() self.server.start()
except: except: