diff options
author | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2014-11-19 05:26:43 +0100 |
---|---|---|
committer | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2014-11-19 05:27:19 +0100 |
commit | 8d2a752b66c1c78f6a7e8eecbebda4a611f886a4 (patch) | |
tree | 782fd2dce885391529fc3e8f2623fbe590987563 | |
parent | 9ccfd14b15c04cd96b87603ffb54936d2f806a44 (diff) | |
download | padlite-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.html | 3 | ||||
-rw-r--r-- | templates/pad_delete.html | 38 | ||||
-rw-r--r-- | views.py | 25 |
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 %} @@ -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') |