##// END OF EJS Templates
strip: improved html output....
marcink -
r1662:db3a7961 default
parent child Browse files
Show More
@@ -1,168 +1,193 b''
1 1 <div class="panel panel-default">
2 2 <div class="panel-heading">
3 3 <h3 class="panel-title">${_('Strip commits from repository')}</h3>
4 4 </div>
5 5 <div class="panel-body">
6 6 %if c.repo_info.repo_type != 'svn':
7 7 <h4>${_('Please provide up to %d commits commits to strip') % c.strip_limit}</h4>
8 8 <p>
9 9 ${_('In the first step commits will be verified for existance in the repository')}. </br>
10 10 ${_('In the second step, correct commits will be available for stripping')}.
11 11 </p>
12 12 ${h.secure_form(h.route_path('strip_check', repo_name=c.repo_info.repo_name), method='post')}
13 13 <div id="change_body" class="field">
14 14 <div id="box-1" class="inputx locked_input">
15 15 <input class="text" id="changeset_id-1" name="changeset_id-1" size="59"
16 16 placeholder="${_('Enter full 40 character commit sha')}" type="text" value="">
17 17 <div id="plus_icon-1" class="btn btn-default plus_input_button" onclick="addNew(1);return false">
18 18 <i class="icon-plus">${_('Add another commit')}</i>
19 19 </div>
20 20 </div>
21 21 </div>
22 22
23 23 <div id="results" style="display:none; padding: 10px 0px;"></div>
24 24
25 25 <div class="buttons">
26 <button class="btn btn-small btn-primary" onclick="checkCommits();return false">
26 <button id="strip_action" class="btn btn-small btn-primary" onclick="checkCommits();return false">
27 27 ${_('Check commits')}
28 28 </button>
29 29 </div>
30 30
31 31 ${h.end_form()}
32 32 %else:
33 33 <h4>${_('Sorry this functionality is not available for SVN repository')}</h4>
34 34 %endif
35 35 </div>
36 36 </div>
37 37
38 38
39 39 <script>
40 40 var plus_leaf = 1;
41 41
42 42 addNew = function(number){
43 43 if (number >= ${c.strip_limit}){
44 44 return;
45 45 }
46 46 var minus = '<i class="icon-minus">${_('Remove')}</i>';
47 47 $('#plus_icon-'+number).detach();
48 48 number++;
49 49
50 50 var input = '<div id="box-'+number+'" class="inputx locked_input">'+
51 51 '<input class="text" id="changeset_id-'+number+'" name="changeset_id-'+number+'" size="59" type="text" value=""' +
52 52 'placeholder="${_('Enter full 40 character commit sha')}">'+
53 53 '<div id="plus_icon-'+number+'" class="btn btn-default plus_input_button" onclick="addNew('+number+');return false">'+
54 54 '<i class="icon-plus">${_('Add another commit')}</i>'+
55 55 '</div>'+
56 56 '<div id="minus_icon-'+number+'" class="btn btn-default minus_input_button" onclick="delOld('+(number)+');return false">'+
57 57 minus +
58 58 '</div>' +
59 59 '</div>';
60 60 $('#change_body').append(input);
61 61 plus_leaf++;
62 62 };
63 63
64 64 reIndex = function(number){
65 65 for(var i=number;i<=plus_leaf;i++){
66 66 var check = $('#box-'+i);
67 67 if (check.length == 0){
68 68 var change = $('#box-'+(i+1));
69 69 change.attr('id','box-'+i);
70 70 var plus = $('#plus_icon-'+(i+1));
71 71
72 72 if (plus.length != 0){
73 73 plus.attr('id','plus_icon-'+i);
74 74 plus.attr('onclick','addNew('+i+');return false');
75 75 plus_leaf--;
76 76 }
77 77 var minus = $('#minus_icon-'+(i+1));
78 78
79 79 minus.attr('id','minus_icon-'+i);
80 80
81 81 minus.attr('onclick','delOld('+i+');re' +
82 82 'turn false');
83 83 var input = $('input#changeset_id-'+(i+1));
84 84 input.attr('name','changeset_id-'+i);
85 85 input.attr('id','changeset_id-'+i);
86 86 }
87 87 }
88 88 };
89 89
90 90 delOld = function(number){
91 91 $('#box-'+number).remove();
92 92 number = number - 1;
93 93 var box = $('#box-'+number);
94 94 var plus = '<div id="plus_icon-'+number+'" class="btn btn-default plus_input_button" onclick="addNew('+number +');return false">'+
95 95 '<i id="i_plus_icon-'+number+'" class="icon-plus">${_('Add another commit')}</i></div>';
96 96 var minus = $('#minus_icon-'+number);
97 97 if(number +1 == plus_leaf){
98 98 minus.detach();
99 99 box.append(plus);
100 100 box.append(minus);
101 101 plus_leaf --;
102 102 }
103 103 reIndex(number+1);
104 104
105 105 };
106 106
107 107 var result_data;
108 108
109 109 checkCommits = function() {
110 110 var postData = $('form').serialize();
111 111 $('#results').show();
112 112 $('#results').html('<h4>${_('Checking commits')}...</h4>');
113 113 var url = "${h.route_path('strip_check', repo_name=c.repo_info.repo_name)}";
114 var btn = $('button');
114 var btn = $('#strip_action');
115 115 btn.attr('disabled', 'disabled');
116 116 btn.addClass('disabled');
117 117
118 118 var success = function (data) {
119 119 result_data = {};
120 120 var i = 0;
121 result ='';
121 var result = '<ol>';
122 122 $.each(data, function(index, value){
123 123 i= index;
124 124 var box = $('#box-'+index);
125 125 if (value.rev){
126 126 result_data[index] = JSON.stringify(value);
127 msg = '${_("author")}: ' + value.author + ' ${_("comment")}: ' + value.comment;
128 result += '<h4><code>' +value.rev+ '</code>${_(' commit verified positive')}</br> '+ msg + '</h4>';
127
128 var verifiedHtml = (
129 '<li style="line-height:1.2em">' +
130 '<code>{0}</code>' +
131 '{1}' +
132 '<div style="white-space:pre">' +
133 'author: {2}\n' +
134 'description: {3}' +
135 '</div>' +
136 '</li>').format(
137 value.rev,
138 "${_(' commit verified positive')}",
139 value.author, value.comment
140 );
141 result += verifiedHtml;
129 142 }
130 else{
131 result += '<h4><code>' +value.commit+ '</code>${_(' commit verified negative')}' + '</h4>';
143 else {
144 var verifiedHtml = (
145 '<li style="line-height:1.2em">' +
146 '<code><strike>{0}</strike></code>' +
147 '{1}' +
148 '</li>').format(
149 value.commit,
150 "${_(' commit verified negative')}"
151 );
152 result += verifiedHtml;
132 153 }
133 154 box.remove();
134 155 });
156 result += '</ol>';
135 157 var box = $('#box-'+(parseInt(i)+1));
136 158 box.remove();
137 159 $('#results').html(result);
138 160 };
139 161
140 162 btn.html('Strip');
141 163 btn.removeAttr('disabled');
142 164 btn.removeClass('disabled');
143 165 btn.attr('onclick','strip();return false;');
144 166 ajaxPOST(url, postData, success, null);
145 167 };
146 168
147 strip = function(){
169 strip = function() {
148 170 var url = "${h.route_path('strip_execute', repo_name=c.repo_info.repo_name)}";
149 var success = function(data){
150 result = '';
171 var success = function(data) {
172 var result = '<h4>Strip executed</h4><ol>';
151 173 $.each(data, function(index, value){
152 if(data[index]){
153 result += '<h4>' +index+ '${_(' commit striped successful')}' + '</h4>';
174 if(data[index]) {
175 result += '<li><code>' +index+ '</code> ${_(' commit striped successfully')}' + '</li>';
154 176 }
155 else{
156 result += '<h4>' +index+ '${_(' commit striped failed')}' + '</h4>';
177 else {
178 result += '<li><code>' +index+ '</code> ${_(' commit strip failed')}' + '</li>';
157 179 }
158 180 });
181 if ($.isEmptyObject(data)) {
182 result += '<li>Nothing done...</li>'
183 }
184 result += '</ol>';
159 185 $('#results').html(result);
160 186
161 187 };
162 188 ajaxPOST(url, result_data, success, null);
163 var btn = $('button');
164 btn.attr('disabled', 'disabled');
165 btn.addClass('disabled');
189 var btn = $('#strip_action');
190 btn.remove();
166 191
167 192 };
168 193 </script>
General Comments 0
You need to be logged in to leave comments. Login now