##// END OF EJS Templates
strip: fix js bug
Bartłomiej Wołyńczyk -
r1604:73e4cb77 default
parent child Browse files
Show More
@@ -1,164 +1,165 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 26 <button 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 id="i_minus_icon-'+(number+1)+'" 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 '<div id="plus_icon-'+number+'" class="btn btn-default plus_input_button" onclick="addNew('+number+');return false">'+
53 53 '<i id="i_plus_icon-'+(number)+'" class="icon-plus">${_('Add another commit')}</i>'+
54 54 '</div>'+
55 55 '<div id="minus_icon-'+number+'" class="btn btn-default minus_input_button" onclick="delOld('+(number)+');return false">'+
56 56 minus +
57 57 '</div>' +
58 58 '</div>';
59 59 $('#change_body').append(input);
60 60 plus_leaf++;
61 61 };
62 62
63 63 reIndex = function(number){
64 64 for(var i=number;i<=plus_leaf;i++){
65 65 var check = $('#box-'+i);
66 66 if (check.length == 0){
67 67 var change = $('#box-'+(i+1));
68 68
69 69 change.attr('id','box-'+i);
70 70 var plus = $('#plus_icon-'+(i+1));
71 71 var i_plus = $('#i_plus_icon-'+(i+1));
72 72 if (plus.length != 0){
73 73 plus.attr('id','plus_icon-'+i);
74 74 i_plus.attr('id','i_plus_icon-'+i);
75 75 i_plus.attr('onclick','addNew('+i+');return false');
76 76 plus_leaf--;
77 77 }
78 78 var minus = $('#minus_icon-'+(i+1));
79 79 var i_minus = $('#i_minus_icon-'+(i+1));
80 80 minus.attr('id','minus_icon-'+i);
81 81 i_minus.attr('id','i_minus_icon-'+i);
82 82 i_minus.attr('onclick','delOld('+i+');return false');
83 83 }
84 84 }
85 85 };
86 86
87 87 delOld = function(number){
88 88 $('#box-'+number).remove();
89 89 number = number - 1;
90 90 var box = $('#box-'+number);
91 91 var plus = '<div id="plus_icon-'+number+'" class="btn btn-default plus_input_button" onclick="addNew('+number +');return false">'+
92 92 '<i id="i_plus_icon-'+number+'" class="icon-plus">${_('Add another commit')}</i></div>';
93 93 var minus = $('#minus_icon-'+number);
94 94 if(number +1 == plus_leaf){
95 95 minus.detach();
96 96 box.append(plus);
97 97 box.append(minus);
98 plus_leaf --;
98 99 }
99 100 reIndex(number+1);
100 101
101 102 };
102 103
103 104 var result_data;
104 105
105 106 checkCommits = function() {
106 107 var postData = $('form').serialize();
107 108 $('#results').show();
108 109 $('#results').html('<h4>${_('Checking commits')}...</h4>');
109 110 var url = "${h.route_path('strip_check', repo_name=c.repo_info.repo_name)}";
110 111 var btn = $('button');
111 112 btn.attr('disabled', 'disabled');
112 113 btn.addClass('disabled');
113 114
114 115 var success = function (data) {
115 116 result_data = {};
116 117 var i = 0;
117 118 result ='';
118 119 $.each(data, function(index, value){
119 120 i= index;
120 121 var box = $('#box-'+index);
121 122 if (value.rev){
122 123 result_data[index] = JSON.stringify(value);
123 124 msg = '${_("author")}: ' + value.author + ' ${_("comment")}: ' + value.comment;
124 125 result += '<h4><code>' +value.rev+ '</code>${_(' commit verified positive')}</br> '+ msg + '</h4>';
125 126 }
126 127 else{
127 128 result += '<h4><code>' +value.commit+ '</code>${_(' commit verified negative')}' + '</h4>';
128 129 }
129 130 box.remove();
130 131 });
131 132 var box = $('#box-'+(parseInt(i)+1));
132 133 box.remove();
133 134 $('#results').html(result);
134 135 };
135 136
136 137 btn.html('Strip');
137 138 btn.removeAttr('disabled');
138 139 btn.removeClass('disabled');
139 140 btn.attr('onclick','strip();return false;');
140 141 ajaxPOST(url, postData, success, null);
141 142 };
142 143
143 144 strip = function(){
144 145 var url = "${h.route_path('strip_execute', repo_name=c.repo_info.repo_name)}";
145 146 var success = function(data){
146 147 result = '';
147 148 $.each(data, function(index, value){
148 149 if(data[index]){
149 150 result += '<h4>' +index+ '${_(' commit striped successful')}' + '</h4>';
150 151 }
151 152 else{
152 153 result += '<h4>' +index+ '${_(' commit striped failed')}' + '</h4>';
153 154 }
154 155 });
155 156 $('#results').html(result);
156 157
157 158 };
158 159 ajaxPOST(url, result_data, success, null);
159 160 var btn = $('button');
160 161 btn.attr('disabled', 'disabled');
161 162 btn.addClass('disabled');
162 163
163 164 };
164 165 </script>
General Comments 0
You need to be logged in to leave comments. Login now