diff --git a/issue/static/js/confirm.js b/issue/static/js/confirm.js new file mode 100644 index 0000000..159d928 --- /dev/null +++ b/issue/static/js/confirm.js @@ -0,0 +1,9 @@ +$('#confirm-delete').on('show.bs.modal', function(e) { + var item = $(e.relatedTarget).data('item'); + if (!item) { + item = 'item'; + } + $('#confirm-delete-form').attr('action', $(e.relatedTarget).data('action')); + $('#confirm-delete-title').html('Delete ' + item); + $('#confirm-delete-message').html('Are you sure to delete this ' + item + '?'); +}); diff --git a/issue/templates/base.html b/issue/templates/base.html index 584dc11..6073954 100644 --- a/issue/templates/base.html +++ b/issue/templates/base.html @@ -100,11 +100,30 @@ {% block content %}{% endblock %} + + + {% block js_end %}{% endblock %} diff --git a/issue/templates/issue/global_permission_list.html b/issue/templates/issue/global_permission_list.html index 1dd6444..f50c632 100644 --- a/issue/templates/issue/global_permission_list.html +++ b/issue/templates/issue/global_permission_list.html @@ -75,7 +75,7 @@ {{ perm.delete_tags|boolean }} Edit - Delete + Delete {% endfor %} diff --git a/issue/templates/issue/issue.html b/issue/templates/issue/issue.html index 5a93701..5a2cce6 100644 --- a/issue/templates/issue/issue.html +++ b/issue/templates/issue/issue.html @@ -36,7 +36,7 @@ {% if event.code == event.DESCRIBE %}
{% if perm.delete_issue %} - + {% endif %} {% if perm.modify_issue %} Edit @@ -45,7 +45,7 @@ {% elif event.code == event.COMMENT %}
{% if perm.delete_comment %} - + {% endif %} {% if perm.modify_comment %} Edit @@ -86,7 +86,7 @@
- Delete this issue + Delete this issue
diff --git a/issue/templates/issue/label_list.html b/issue/templates/issue/label_list.html index 3ea5b05..d30b280 100644 --- a/issue/templates/issue/label_list.html +++ b/issue/templates/issue/label_list.html @@ -31,7 +31,7 @@ Edit {% endif %} {% if perm.delete_tags %} - Delete + Delete {% endif %} {% endif %} diff --git a/issue/templates/issue/milestone_list.html b/issue/templates/issue/milestone_list.html index 2e41fa1..f086b9c 100644 --- a/issue/templates/issue/milestone_list.html +++ b/issue/templates/issue/milestone_list.html @@ -36,7 +36,7 @@ {% endif %} {% if perm.delete_tags %} - + Delete {% endif %} diff --git a/issue/templates/issue/project.html b/issue/templates/issue/project.html index 7e33b86..538be9b 100644 --- a/issue/templates/issue/project.html +++ b/issue/templates/issue/project.html @@ -13,7 +13,7 @@
  • Modify this project
  • {% endif %} {% if perm.delete_project %} -
  • Delete this project
  • +
  • Delete this project
  • {% endif %} {% if perm.create_project %}
  • New project…
  • diff --git a/issue/templates/issue/project_permission_list.html b/issue/templates/issue/project_permission_list.html index f4b8c2f..e2fa976 100644 --- a/issue/templates/issue/project_permission_list.html +++ b/issue/templates/issue/project_permission_list.html @@ -58,7 +58,7 @@ {{ perm.manage_project_permission|boolean }} Edit - Delete + Delete {% endfor %} diff --git a/issue/templates/issue/team.html b/issue/templates/issue/team.html index d370193..a0d4b57 100644 --- a/issue/templates/issue/team.html +++ b/issue/templates/issue/team.html @@ -40,7 +40,7 @@
    Go back to list Modify team - Delete team + Delete team
    diff --git a/issue/templates/issue/team_list.html b/issue/templates/issue/team_list.html index 0aa5242..7c00f24 100644 --- a/issue/templates/issue/team_list.html +++ b/issue/templates/issue/team_list.html @@ -33,7 +33,7 @@ {{ team.groups|first_few:'group' }} Edit - Delete + Delete {% endfor %} diff --git a/issue/views.py b/issue/views.py index c3af6b0..948ece6 100644 --- a/issue/views.py +++ b/issue/views.py @@ -3,6 +3,7 @@ from django.contrib import messages from django.core.exceptions import ObjectDoesNotExist from django.contrib.auth.decorators import login_required from django.http import Http404, HttpResponseForbidden +from django.views.decorators.http import require_http_methods from issue.models import * from issue.forms import * @@ -85,6 +86,7 @@ def global_permission_toggle(request, id, perm): return redirect('list-global-permission') +@require_http_methods(["POST"]) @project_perm_required('manage_global_permission') def global_permission_delete(request, id): @@ -160,6 +162,7 @@ def project_permission_toggle(request, project, id, perm): return redirect('list-project-permission', project.name) +@require_http_methods(["POST"]) @project_perm_required('manage_project_permission') def project_permission_delete(request, project, id): @@ -232,6 +235,7 @@ def project_edit(request, project): return render(request, 'issue/project_edit.html', c) +@require_http_methods(["POST"]) @project_perm_required('delete_project') def project_delete(request, project): @@ -486,6 +490,7 @@ def issue_edit_comment(request, project, issue, comment=None): return render(request, 'issue/issue_comment.html', c) +@require_http_methods(["POST"]) @project_perm_required('delete_comment') def issue_delete_comment(request, project, issue, comment): @@ -528,6 +533,7 @@ def issue_reopen(request, project, issue): return redirect('show-issue', project.name, issue.id) +@require_http_methods(["POST"]) @project_perm_required('delete_issue') def issue_delete(request, project, issue): @@ -649,6 +655,7 @@ def label_edit(request, project, id=None): return render(request, 'issue/label_edit.html', c) +@require_http_methods(["POST"]) @project_perm_required('delete_tags') def label_delete(request, project, id): @@ -769,6 +776,7 @@ def milestone_reopen(request, project, name): return redirect('list-milestone', project.name) +@require_http_methods(["POST"]) @project_perm_required('delete_tags') def milestone_delete(request, project, name): @@ -896,6 +904,7 @@ def team_remove_group(request, team, group): return redirect('show-team', team.pk) +@require_http_methods(["POST"]) @project_perm_required('manage_team') def team_delete(request, team):