]> git.agnieray.net Git - galette.git/blob - galette/templates/default/elements/js/removal.js.twig
d5edc3427cf8c2d0222e491643340f043a3f3eb2
[galette.git] / galette / templates / default / elements / js / removal.js.twig
1 {% if selector is not defined %}
2 {% set selector = '.delete' %}
3 {% endif %}
4 {% if loader is not defined %}
5 {% set loader = 'action' %}
6 {% endif %}
7 {% if loader_selector is not defined %}
8 {% set loader_selector = '.loader_selector' %}
9 {% endif %}
10
11 //handle removals
12 {% if single_action is defined %}
13 var _removeItems = function() {
14 $('{{ selector }}').off('click').on('click', function(event) {
15 event.preventDefault();
16 var _this = $(this);
17 {% endif %}
18 {% if extra_check is defined %}
19 {{ extra_check }}
20 {% endif %}
21 {% if method is not defined %}
22 {% set method = 'GET' %}
23 {% endif %}
24 $.ajax({
25 url: {% if deleteurl is not defined %}_this.attr('href'){% else %}'{{ deleteurl|raw }}'{% endif %},
26 type: "{{ method }}",
27 data: {
28 ajax: true,
29 {% if extra_data is defined %}
30 {{ extra_data|raw }}
31 {% endif %}
32 },
33 datatype: 'json',
34 {% include 'elements/js/loader.js.twig' with {
35 loader: loader,
36 selector: loader_selector
37 } %},
38 success: function(res){
39 var _res = $(res);
40 _res.find('form').on('submit', function(e) {
41 e.preventDefault();
42 var _form = $(this);
43 var _data = _form.serialize();
44 $.ajax({
45 url: _form.attr('action'),
46 type: "POST",
47 data: _data,
48 datatype: 'json',
49 {% include 'elements/js/loader.js.twig' with {
50 loader: loader,
51 selector: loader_selector
52 } %},
53 success: function(res){
54 if (res.success) {
55 window.location.href = _form.find('input[name=redirect_uri]').val();
56 } else {
57 $.ajax({
58 url: '{{ url_for("ajaxMessages") }}',
59 method: "GET",
60 success: function (message) {
61 {% include "elements/js/modal.js.twig" with {
62 modal_without_title: true,
63 modal_content: "message",
64 modal_class: "mini",
65 modal_deny_only: true,
66 modal_cancel_text: _T("Close")|e("js")
67 } %}
68 }
69 });
70 }
71 },
72 error: function() {
73 {% include "elements/js/modal.js.twig" with {
74 modal_title_twig: _T("An error occurred :(")|e("js"),
75 modal_without_content: true,
76 modal_class: "mini",
77 modal_deny_only: true,
78 modal_cancel_text: _T("Close")|e("js"),
79 modal_classname: "redalert",
80 } %}
81 }
82 });
83 });
84
85 var _title = _res.find('.header');
86
87 {% include "elements/js/modal.js.twig" with {
88 modal_title: "_title",
89 modal_class: "tiny",
90 modal_content: "_res",
91 modal_onapprove: "$('#confirm_removal form').submit();",
92 modal_approve_text: _T("Remove")|e('js'),
93 modal_approve_icon: 'trash',
94 modal_approve_color: 'red',
95 modal_classname: "redalert"
96 } %}
97 },
98 error: function() {
99 {% include "elements/js/modal.js.twig" with {
100 modal_title_twig: _T("An error occurred :(")|e("js"),
101 modal_without_content: true,
102 modal_class: "mini",
103 modal_deny_only: true,
104 modal_cancel_text: _T("Close")|e("js"),
105 modal_classname: "redalert",
106 } %}
107 }
108 });
109 {% if single_action is defined %}
110 });
111 }
112 _removeItems();
113 {% endif %}