comparison rhodecode/templates/pullrequests/pullrequest_show.html @ 3388:cb40b3f6428c beta

review members are dynamically changed based on selected other_repo owner - implemented pyroutes for smarter JS url handling - fixed some old style global var routing
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 20 Feb 2013 01:59:50 +0100
parents 1af36014d96f
children fe2bb88bf7ac
comparison
equal deleted inserted replaced
3387:bd5420ea396b 3388:cb40b3f6428c
26 26
27 <div class="form"> 27 <div class="form">
28 <div id="summary" class="fields"> 28 <div id="summary" class="fields">
29 <div class="field"> 29 <div class="field">
30 <div class="label-summary"> 30 <div class="label-summary">
31 <label>${_('Status')}:</label> 31 <label>${_('Review status')}:</label>
32 </div> 32 </div>
33 <div class="input"> 33 <div class="input">
34 <div class="changeset-status-container" style="float:none;clear:both"> 34 <div class="changeset-status-container" style="float:none;clear:both">
35 %if c.current_changeset_status: 35 %if c.current_changeset_status:
36 <div title="${_('Pull request status')}" class="changeset-status-lbl">${h.changeset_status_lbl(c.current_changeset_status)}</div> 36 <div title="${_('Pull request status')}" class="changeset-status-lbl">${h.changeset_status_lbl(c.current_changeset_status)}</div>
138 </div> 138 </div>
139 <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(member.email,14)}"/> </div> 139 <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(member.email,14)}"/> </div>
140 <div style="float:left">${member.full_name} (${_('owner') if c.pull_request.user_id == member.user_id else _('reviewer')})</div> 140 <div style="float:left">${member.full_name} (${_('owner') if c.pull_request.user_id == member.user_id else _('reviewer')})</div>
141 <input type="hidden" value="${member.user_id}" name="review_members" /> 141 <input type="hidden" value="${member.user_id}" name="review_members" />
142 %if not c.pull_request.is_closed() and (h.HasPermissionAny('hg.admin', 'repository.admin')() or c.pull_request.user_id == c.rhodecode_user.user_id): 142 %if not c.pull_request.is_closed() and (h.HasPermissionAny('hg.admin', 'repository.admin')() or c.pull_request.user_id == c.rhodecode_user.user_id):
143 <span class="delete_icon action_button" onclick="removeReviewer(${member.user_id})"></span> 143 <span class="delete_icon action_button" onclick="removeReviewMember(${member.user_id})"></span>
144 %endif 144 %endif
145 </div> 145 </div>
146 </li> 146 </li>
147 %endfor 147 %endfor
148 </ul> 148 </ul>
150 %if not c.pull_request.is_closed(): 150 %if not c.pull_request.is_closed():
151 <div class='ac'> 151 <div class='ac'>
152 %if h.HasPermissionAny('hg.admin', 'repository.admin')() or c.pull_request.author.user_id == c.rhodecode_user.user_id: 152 %if h.HasPermissionAny('hg.admin', 'repository.admin')() or c.pull_request.author.user_id == c.rhodecode_user.user_id:
153 <div class="reviewer_ac"> 153 <div class="reviewer_ac">
154 ${h.text('user', class_='yui-ac-input')} 154 ${h.text('user', class_='yui-ac-input')}
155 <span class="help-block">${_('Add reviewer to this pull request.')}</span> 155 <span class="help-block">${_('Add or remove reviewer to this pull request.')}</span>
156 <div id="reviewers_container"></div> 156 <div id="reviewers_container"></div>
157 </div> 157 </div>
158 <div style="padding:0px 10px"> 158 <div style="padding:0px 10px">
159 <span id="update_pull_request" class="ui-btn xsmall">${_('save')}</span> 159 <span id="update_pull_request" class="ui-btn xsmall">${_('save changes')}</span>
160 </div> 160 </div>
161 %endif 161 %endif
162 </div> 162 </div>
163 %endif 163 %endif
164 </div> 164 </div>
165 </div> 165 </div>
166 </div> 166 </div>
167 <script> 167 <script>
168 var _USERS_AC_DATA = ${c.users_array|n}; 168 var _USERS_AC_DATA = ${c.users_array|n};
169 var _GROUPS_AC_DATA = ${c.users_groups_array|n}; 169 var _GROUPS_AC_DATA = ${c.users_groups_array|n};
170 // TODO: switch this to pyroutes
170 AJAX_COMMENT_URL = "${url('pullrequest_comment',repo_name=c.repo_name,pull_request_id=c.pull_request.pull_request_id)}"; 171 AJAX_COMMENT_URL = "${url('pullrequest_comment',repo_name=c.repo_name,pull_request_id=c.pull_request.pull_request_id)}";
171 AJAX_COMMENT_DELETE_URL = "${url('pullrequest_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"; 172 AJAX_COMMENT_DELETE_URL = "${url('pullrequest_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}";
172 AJAX_UPDATE_PULLREQUEST = "${url('pullrequest_update',repo_name=c.repo_name,pull_request_id=c.pull_request.pull_request_id)}" 173
174 pyroutes.register('pullrequest_comment', "${url('pullrequest_comment',repo_name='%(repo_name)s',pull_request_id='%(pull_request_id)s')}", ['repo_name', 'pull_request_id']);
175 pyroutes.register('pullrequest_comment_delete', "${url('pullrequest_comment_delete',repo_name='%(repo_name)s',comment_id='%(comment_id)s')}", ['repo_name', 'comment_id']);
176 pyroutes.register('pullrequest_update', "${url('pullrequest_update',repo_name='%(repo_name)s',pull_request_id='%(pull_request_id)s')}", ['repo_name', 'pull_request_id']);
177
173 </script> 178 </script>
174 179
175 ## diff block 180 ## diff block
176 <%namespace name="diff_block" file="/changeset/diff_block.html"/> 181 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
177 %for fid, change, f, stat in c.files: 182 %for fid, change, f, stat in c.files:
226 // inject comments into they proper positions 231 // inject comments into they proper positions
227 var file_comments = YUQ('.inline-comment-placeholder'); 232 var file_comments = YUQ('.inline-comment-placeholder');
228 renderInlineComments(file_comments); 233 renderInlineComments(file_comments);
229 234
230 YUE.on(YUD.get('update_pull_request'),'click',function(e){ 235 YUE.on(YUD.get('update_pull_request'),'click',function(e){
231 updateReviewers(); 236 updateReviewers(undefined, "${c.repo_name}", "${c.pull_request.pull_request_id}");
232 }) 237 })
233 }) 238 })
234 </script> 239 </script>
235 240
236 </div> 241 </div>