wiki: Correct a failure when editing a page.

Occurs when the previous revision is hidden.
This commit is contained in:
Andre D
2012-10-30 03:44:27 -05:00
committed by Neil Williams
parent b020ee7fee
commit 0fbe7f63c3
2 changed files with 5 additions and 3 deletions

View File

@@ -208,9 +208,11 @@ class VWikiPageName(Validator):
return (page, page != original_page)
class VWikiPage(VWikiPageName):
def __init__(self, param, required=True, restricted=True, modonly=False, **kw):
def __init__(self, param, required=True, restricted=True, modonly=False,
allow_hidden_revision=True, **kw):
self.restricted = restricted
self.modonly = modonly
self.allow_hidden_revision = allow_hidden_revision
self.required = required
Validator.__init__(self, param, **kw)
@@ -254,7 +256,7 @@ class VWikiPage(VWikiPageName):
return
try:
r = WikiRevision.get(version, pageid)
if r.is_hidden and not c.is_wiki_mod:
if not self.allow_hidden_revision and (r.is_hidden and not c.is_wiki_mod):
self.set_error('HIDDEN_REVISION', code=403)
raise AbortWikiError
return r

View File

@@ -76,7 +76,7 @@ class WikiController(RedditController):
allow_stylesheets = True
@wiki_validate(pv=VWikiPageAndVersion(('page', 'v', 'v2'), required=False,
restricted=False),
restricted=False, allow_hidden_revision=False),
page_name=VWikiPageName('page'))
def GET_wiki_page(self, pv, page_name):
page, version, version2 = pv