From 8d2a752b66c1c78f6a7e8eecbebda4a611f886a4 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Wed, 19 Nov 2014 05:26:43 +0100 Subject: templates/pad_delete: add view/template/link to delete a pad --- templates/group.html | 3 +++ templates/pad_delete.html | 38 ++++++++++++++++++++++++++++++++++++++ views.py | 25 +++++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 templates/pad_delete.html diff --git a/templates/group.html b/templates/group.html index 750b8ea..6a5236c 100644 --- a/templates/group.html +++ b/templates/group.html @@ -37,6 +37,9 @@ + + + diff --git a/templates/pad_delete.html b/templates/pad_delete.html new file mode 100644 index 0000000..7b37a5a --- /dev/null +++ b/templates/pad_delete.html @@ -0,0 +1,38 @@ +{% extends "layout.html" %} +{% from "_formhelpers.html" import render_field %} + +{% block head %}Group: {{group}}{% endblock %} + +{% block content %} +
+
+

Delete this pad

+
+ +
+
+
+
+

+ Are you sure you want to delete the pad {{pad}} in the group {{group}}? +

+ +

+ This will permanently delete all versions and the complete + history of the pad. +

+
+
+ + {% for field in delete_form %} + {{ render_field(field) }} + {% endfor %} +
+
+ +
+
+
+
+
+{% endblock %} 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('///_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('///') @templated('pad.html') -- cgit v1.2.3-1-g7c22