summaryrefslogtreecommitdiffstats
path: root/views.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2014-11-19 05:26:43 +0100
committerAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2014-11-19 05:27:19 +0100
commit8d2a752b66c1c78f6a7e8eecbebda4a611f886a4 (patch)
tree782fd2dce885391529fc3e8f2623fbe590987563 /views.py
parent9ccfd14b15c04cd96b87603ffb54936d2f806a44 (diff)
downloadpadlite-teams-8d2a752b66c1c78f6a7e8eecbebda4a611f886a4.tar.gz
padlite-teams-8d2a752b66c1c78f6a7e8eecbebda4a611f886a4.tar.bz2
padlite-teams-8d2a752b66c1c78f6a7e8eecbebda4a611f886a4.zip
templates/pad_delete: add view/template/link to delete a pad
Diffstat (limited to 'views.py')
-rw-r--r--views.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/views.py b/views.py
index b7d495b..53dba97 100644
--- a/views.py
+++ b/views.py
@@ -157,6 +157,31 @@ def pad_change(group_name, pad_name):
'breadcrumbs': [{'href': url_for('group', group_name=group.name), 'text': group},
{'text': 'Edit pad: %s' % pad.name}]}
+@app.route('/<group_name>/<pad_name>/_delete/', methods=['GET', 'POST'])
+@templated('pad_delete.html')
+@auth.login_required
+def pad_delete(group_name, pad_name):
+ group = get_group_or_404(Group.name == group_name, Member.admin == True)
+
+ try:
+ pad = Pad.get(Pad.name == pad_name, Pad.group == group)
+ except Pad.DoesNotExist:
+ if member.admin == True:
+ return redirect(url_for('group', group_name = group_name))
+ abort(404)
+
+ form = DeleteForm(request.form)
+ if form.validate_on_submit():
+ if form.sure.data == 'yes':
+ pad.delete_instance(recursive=True)
+ return redirect(url_for('group', group_name=group.name))
+
+ return {'group': group,
+ 'pad': pad,
+ 'delete_form': form,
+ 'breadcrumbs': [{'href': url_for('group', group_name=group.name), 'text': group},
+ {'text': 'Delete pad: %s' % pad.name}]}
+
@app.route('/<group_name>/<pad_name>/')
@templated('pad.html')