wiki(templates=None), thanks Alan
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.4.1-alpha.2+timestamp.2013.01.16.09.40.52
|
Version 2.4.1-alpha.2+timestamp.2013.01.16.11.22.49
|
||||||
|
|||||||
+30
-16
@@ -3317,14 +3317,17 @@ class Auth(object):
|
|||||||
restrict_search=False,
|
restrict_search=False,
|
||||||
resolve=True,
|
resolve=True,
|
||||||
extra=None,
|
extra=None,
|
||||||
menu_groups=None):
|
menu_groups=None,
|
||||||
|
templates=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 {},
|
||||||
menu_groups=menu_groups)
|
menu_groups=menu_groups,
|
||||||
|
templates=templates)
|
||||||
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
|
||||||
@@ -4739,7 +4742,9 @@ 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, menu_groups=None):
|
restrict_search=False, extra=None,
|
||||||
|
menu_groups=None, templates=None):
|
||||||
|
db = auth.db
|
||||||
self.env = env or {}
|
self.env = env or {}
|
||||||
self.env['component'] = Wiki.component
|
self.env['component'] = Wiki.component
|
||||||
if render == 'markmin':
|
if render == 'markmin':
|
||||||
@@ -4757,7 +4762,10 @@ class Wiki(object):
|
|||||||
perms = self.manage_permissions = manage_permissions
|
perms = self.manage_permissions = manage_permissions
|
||||||
self.restrict_search = restrict_search
|
self.restrict_search = restrict_search
|
||||||
self.extra = extra or {}
|
self.extra = extra or {}
|
||||||
db = auth.db
|
if templates is None and not manage_permissions:
|
||||||
|
templates = db.auth_wiki.tags.contains('template')&\
|
||||||
|
db.auth_wiki.can_read.contains('everybody')
|
||||||
|
self.templates = templates
|
||||||
table_definitions = [
|
table_definitions = [
|
||||||
('wiki_page', {
|
('wiki_page', {
|
||||||
'args':[
|
'args':[
|
||||||
@@ -4981,8 +4989,8 @@ class Wiki(object):
|
|||||||
if slug == 'wiki-menu':
|
if slug == 'wiki-menu':
|
||||||
db.wiki_page.body.default = \
|
db.wiki_page.body.default = \
|
||||||
'- Menu Item > @////index\n- - Submenu > http://web2py.com'
|
'- Menu Item > @////index\n- - Submenu > http://web2py.com'
|
||||||
#else:
|
else:
|
||||||
# db.wiki_page.body.default = db(db.wiki_page.id==from_template).select(db.wiki_page.body)[0].body if int(from_template) > 0 else '## %s\n\npage content' % title_guess
|
db.wiki_page.body.default = db(db.wiki_page.id==from_template).select(db.wiki_page.body)[0].body if int(from_template) > 0 else '## %s\n\npage content' % title_guess
|
||||||
vars = current.request.post_vars
|
vars = current.request.post_vars
|
||||||
if vars.body:
|
if vars.body:
|
||||||
vars.body = vars.body.replace('://%s' % self.host, '://HOSTNAME')
|
vars.body = vars.body.replace('://%s' % self.host, '://HOSTNAME')
|
||||||
@@ -5073,18 +5081,24 @@ class Wiki(object):
|
|||||||
slugs=db(db.wiki_page.id>0).select(db.wiki_page.id,db.wiki_page.slug)
|
slugs=db(db.wiki_page.id>0).select(db.wiki_page.id,db.wiki_page.slug)
|
||||||
options=[OPTION(row.slug,_value=row.id) for row in slugs]
|
options=[OPTION(row.slug,_value=row.id) for row in slugs]
|
||||||
options.insert(0, OPTION('',_value=''))
|
options.insert(0, OPTION('',_value=''))
|
||||||
form = SQLFORM.factory(Field("slug", default=current.request.args(1) or self.force_prefix,
|
fields = [Field("slug", default=current.request.args(1) or
|
||||||
requires=(IS_SLUG(),
|
self.force_prefix,
|
||||||
IS_NOT_IN_DB(db,db.wiki_page.slug))),
|
requires=(IS_SLUG(), IS_NOT_IN_DB(db,db.wiki_page.slug))),]
|
||||||
#Field("from_template", "reference wiki_page",
|
if self.templates:
|
||||||
# requires=IS_EMPTY_OR(IS_IN_DB(db, db.wiki_page, '%(slug)s')),
|
fields.append(
|
||||||
# comment=current.T("Choose Template or empty for new Page")),
|
Field("from_template", "reference wiki_page",
|
||||||
_class="well span6")
|
requires=IS_EMPTY_OR(IS_IN_DB(db(self.templates),
|
||||||
form.element("[type=submit]").attributes["_value"] = current.T("Create Page from Slug")
|
'%(slug)s')),
|
||||||
|
comment=current.T(
|
||||||
|
"Choose Template or empty for new Page")))
|
||||||
|
form = SQLFORM.factory(*fields, _class="well span6")
|
||||||
|
form.element("[type=submit]").attributes["_value"] = \
|
||||||
|
current.T("Create Page from Slug")
|
||||||
|
|
||||||
if form.process().accepted:
|
if form.process().accepted:
|
||||||
# form.vars.from_template = 0 if not form.vars.from_template else form.vars.from_template
|
form.vars.from_template = 0 if not form.vars.from_template \
|
||||||
redirect(URL(args=('_edit',form.vars.slug,form.vars.from_template or 0))) # added param
|
else form.vars.from_template
|
||||||
|
redirect(URL(args=('_edit', form.vars.slug,form.vars.from_template or 0))) # added param
|
||||||
return dict(content=form)
|
return dict(content=form)
|
||||||
|
|
||||||
def pages(self):
|
def pages(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user