add config option to lock pages explicitly
This commit is contained in:
parent
f0bce6c8d5
commit
1b433f1762
|
@ -42,6 +42,9 @@ WIKI_HOME = 'home'
|
|||
ALLOW_ANON = True
|
||||
LOGIN_DISABLED = ALLOW_ANON
|
||||
|
||||
# Page names that can't be modified
|
||||
LOCKED = []
|
||||
|
||||
ROOT_ENDPOINT = 'wiki.page'
|
||||
|
||||
try:
|
||||
|
|
|
@ -86,6 +86,8 @@ class Wiki():
|
|||
if m.group(1):
|
||||
return "```" + unescape(m.group(1)) + "```"
|
||||
|
||||
cname = to_canonical(name)
|
||||
|
||||
# prevents p tag from being added, we remove this later
|
||||
content = '<div>' + content + '</div>'
|
||||
content = re.sub(r"```(.*?)```", escape_repl, content, flags=re.DOTALL)
|
||||
|
@ -115,7 +117,6 @@ class Wiki():
|
|||
|
||||
content = re.sub(r"```(.*?)```", unescape_repl, content, flags=re.DOTALL)
|
||||
|
||||
cname = to_canonical(name)
|
||||
filename = self.cname_to_filename(cname)
|
||||
with open(self.path + "/" + filename, 'w') as f:
|
||||
f.write(content)
|
||||
|
|
|
@ -51,6 +51,10 @@ def edit(name):
|
|||
cname = to_canonical(name)
|
||||
if request.method == 'POST':
|
||||
edit_cname = to_canonical(request.form['name'])
|
||||
|
||||
if edit_cname in config.LOCKED:
|
||||
return redirect(url_for(config.ROOT_ENDPOINT))
|
||||
|
||||
if edit_cname.lower() != cname.lower():
|
||||
wiki.rename_page(cname, edit_cname)
|
||||
|
||||
|
@ -61,6 +65,7 @@ def edit(name):
|
|||
else:
|
||||
if data:
|
||||
name = remove_ext(data['name'])
|
||||
|
||||
content = data.get('data')
|
||||
g.assets['js'].append('editor.js')
|
||||
return render_template('wiki/edit.html', name=name, content=content, partials=data.get('partials'))
|
||||
|
@ -79,6 +84,14 @@ def delete(name):
|
|||
@login_required
|
||||
def create(name):
|
||||
if request.method == 'POST':
|
||||
cname = to_canonical(request.form['name'])
|
||||
|
||||
if cname in config.LOCKED:
|
||||
return redirect(url_for("wiki.create"))
|
||||
|
||||
if not cname:
|
||||
return redirect(url_for("wiki.create"))
|
||||
|
||||
wiki.write_page(request.form['name'],
|
||||
request.form['content'],
|
||||
message=request.form['message'],
|
||||
|
|
|
@ -89,7 +89,11 @@
|
|||
<li><a tabindex="-1" href="#" data-value="ace/theme/twilight" >Twilight</a></li>
|
||||
<li><a tabindex="-1" href="#" data-value="ace/theme/vibrant_ink" >Vibrant Ink</a></li>
|
||||
</ul>
|
||||
{% if name in config.LOCKED %}
|
||||
<a class="btn btn-danger btn-sm"><i class="icon-lock"></i> Locked</a>
|
||||
{% else %}
|
||||
<a id="save-native" class="btn btn-primary btn-sm"><i class="icon-save"></i> Save</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue