summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--templates/group.html3
-rw-r--r--templates/pad_delete.html38
-rw-r--r--views.py25
3 files changed, 66 insertions, 0 deletions
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 @@
<a href="{{ url_for('pad_change', group_name=group.name, pad_name=pad.name) }}" class="btn btn-xs btn-info">
<span class="glyphicon glyphicon-cog" />
</a>
+ <a href="{{ url_for('pad_delete', group_name=group.name, pad_name=pad.name) }}" class="btn btn-xs btn-danger">
+ <span class="glyphicon glyphicon-remove" />
+ </a>
</td>
</tr>
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 %}
+<div class="panel panel-danger">
+ <div class="panel-heading">
+ <h3 class="panel-title">Delete this pad</h3>
+ </div>
+
+ <div class="panel-body">
+ <form class="form-horizontal" role="form" method="POST">
+ <div class="form-group">
+ <div class="col-lg-offset-2 col-lg-8">
+ <p class="form-control-static text-center lead">
+ Are you sure you want to delete the pad {{pad}} in the group {{group}}?
+ </p>
+
+ <p class="form-control-static text-center">
+ This will permanently delete all versions and the complete
+ history of the pad.
+ </p>
+ </div>
+ </div>
+
+ {% for field in delete_form %}
+ {{ render_field(field) }}
+ {% endfor %}
+ <div class="form-group">
+ <div class="col-lg-offset-2 col-lg-8">
+ <button type="submit" class="btn btn-danger btn-lg btn-block">Delete pad {{pad}}</button>
+ </div>
+ </div>
+ </form>
+ </div>
+</div>
+{% 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('/<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')