Mercurial > kallithea
comparison rhodecode/templates/pullrequests/pullrequest_show.html @ 2614:3f50a5e8fc4d beta
Added editing of pull-request reviewers.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 15 Jul 2012 21:16:14 +0200 |
parents | 58c529332e7e |
children | 731e823d330e |
comparison
equal
deleted
inserted
replaced
2613:ad3573d744ef | 2614:3f50a5e8fc4d |
---|---|
33 <div style="white-space:pre-wrap;padding:3px 3px 5px 20px">${h.literal(c.pull_request.description)}</div> | 33 <div style="white-space:pre-wrap;padding:3px 3px 5px 20px">${h.literal(c.pull_request.description)}</div> |
34 <div style="padding:4px 4px 10px 20px"> | 34 <div style="padding:4px 4px 10px 20px"> |
35 <div>${_('Created on')}: ${h.fmt_date(c.pull_request.created_on)}</div> | 35 <div>${_('Created on')}: ${h.fmt_date(c.pull_request.created_on)}</div> |
36 </div> | 36 </div> |
37 | 37 |
38 ## REVIEWERS | |
39 <div> | 38 <div> |
40 <div class="table" style="float:right;width:46%;clear:none"> | |
41 <div id="body" class="diffblock"> | |
42 <div style="white-space:pre-wrap;padding:5px">${_('Pull request reviewers')}</div> | |
43 </div> | |
44 <div style="border: 1px solid #CCC"> | |
45 <div class="group_members_wrap"> | |
46 <ul class="group_members"> | |
47 %for user,status in c.pull_request_reviewers: | |
48 <li> | |
49 <div class="group_member"> | |
50 <div style="float:left;padding:3px" class="tooltip" title="${h.tooltip(h.changeset_status_lbl(status[0][1].status if status else 'not_reviewed'))}"> | |
51 <img src="${h.url(str('/images/icons/flag_status_%s.png' % (status[0][1].status if status else 'not_reviewed')))}"/> | |
52 </div> | |
53 <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(user.email,20)}"/> </div> | |
54 <div style="float:left">${user.username}</div> | |
55 </div> | |
56 </li> | |
57 %endfor | |
58 </ul> | |
59 </div> | |
60 </div> | |
61 </div> | |
62 ##DIFF | 39 ##DIFF |
63 <div class="table" style="float:left;width:46%;clear:none"> | 40 <div class="table" style="float:left;clear:none"> |
64 <div id="body" class="diffblock"> | 41 <div id="body" class="diffblock"> |
65 <div style="white-space:pre-wrap;padding:5px">${_('Compare view')}</div> | 42 <div style="white-space:pre-wrap;padding:5px">${_('Compare view')}</div> |
66 </div> | 43 </div> |
67 <div id="changeset_compare_view_content"> | 44 <div id="changeset_compare_view_content"> |
68 ##CS | 45 ##CS |
79 </div> | 56 </div> |
80 %endfor | 57 %endfor |
81 </div> | 58 </div> |
82 </div> | 59 </div> |
83 </div> | 60 </div> |
61 ## REVIEWERS | |
62 <div style="float:left; border-left:1px dashed #eee"> | |
63 <h4>${_('Pull request reviewers')}</h4> | |
64 <div id="reviewers" style="padding:0px 0px 0px 15px"> | |
65 ## members goes here ! | |
66 <div class="group_members_wrap"> | |
67 <ul id="review_members" class="group_members"> | |
68 %for member,status in c.pull_request_reviewers: | |
69 <li id="reviewer_${member.user_id}"> | |
70 <div class="reviewers_member"> | |
71 <div style="float:left;padding:0px 3px 0px 0px" class="tooltip" title="${h.tooltip(h.changeset_status_lbl(status[0][1].status if status else 'not_reviewed'))}"> | |
72 <img src="${h.url(str('/images/icons/flag_status_%s.png' % (status[0][1].status if status else 'not_reviewed')))}"/> | |
73 </div> | |
74 <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(member.email,14)}"/> </div> | |
75 <div style="float:left">${member.full_name} (${_('owner')})</div> | |
76 <input type="hidden" value="${member.user_id}" name="review_members" /> | |
77 %if not c.pull_request.is_closed(): | |
78 <span class="delete_icon action_button" onclick="removeReviewer(${member.user_id})"></span> | |
79 %endif | |
80 </div> | |
81 </li> | |
82 %endfor | |
83 </ul> | |
84 </div> | |
85 %if not c.pull_request.is_closed(): | |
86 <div class='ac'> | |
87 <div class="reviewer_ac"> | |
88 ${h.text('user', class_='yui-ac-input')} | |
89 <span class="help-block">${_('Add reviewer to this pull request.')}</span> | |
90 <div id="reviewers_container"></div> | |
91 </div> | |
92 <div style="padding:0px 10px"> | |
93 <span id="update_pull_request" class="ui-btn xsmall">${_('save')}</span> | |
94 </div> | |
95 </div> | |
96 %endif | |
97 </div> | |
98 </div> | |
84 </div> | 99 </div> |
85 <script> | 100 <script> |
86 var _USERS_AC_DATA = ${c.users_array|n}; | 101 var _USERS_AC_DATA = ${c.users_array|n}; |
87 var _GROUPS_AC_DATA = ${c.users_groups_array|n}; | 102 var _GROUPS_AC_DATA = ${c.users_groups_array|n}; |
88 AJAX_COMMENT_URL = "${url('pullrequest_comment',repo_name=c.repo_name,pull_request_id=c.pull_request.pull_request_id)}"; | 103 AJAX_COMMENT_URL = "${url('pullrequest_comment',repo_name=c.repo_name,pull_request_id=c.pull_request.pull_request_id)}"; |
89 AJAX_COMMENT_DELETE_URL = "${url('pullrequest_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"; | 104 AJAX_COMMENT_DELETE_URL = "${url('pullrequest_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"; |
105 AJAX_UPDATE_PULLREQUEST = "${url('pullrequest_update',repo_name=c.repo_name,pull_request_id=c.pull_request.pull_request_id)}" | |
90 </script> | 106 </script> |
91 | 107 |
92 ## diff block | 108 ## diff block |
93 <%namespace name="diff_block" file="/changeset/diff_block.html"/> | 109 <%namespace name="diff_block" file="/changeset/diff_block.html"/> |
94 %for fid, change, f, stat in c.files: | 110 %for fid, change, f, stat in c.files: |
110 close_btn=True)} | 126 close_btn=True)} |
111 %endif | 127 %endif |
112 | 128 |
113 <script type="text/javascript"> | 129 <script type="text/javascript"> |
114 YUE.onDOMReady(function(){ | 130 YUE.onDOMReady(function(){ |
131 PullRequestAutoComplete('user', 'reviewers_container', _USERS_AC_DATA, _GROUPS_AC_DATA); | |
115 | 132 |
116 YUE.on(YUQ('.show-inline-comments'),'change',function(e){ | 133 YUE.on(YUQ('.show-inline-comments'),'change',function(e){ |
117 var show = 'none'; | 134 var show = 'none'; |
118 var target = e.currentTarget; | 135 var target = e.currentTarget; |
119 if(target.checked){ | 136 if(target.checked){ |
136 }); | 153 }); |
137 | 154 |
138 // inject comments into they proper positions | 155 // inject comments into they proper positions |
139 var file_comments = YUQ('.inline-comment-placeholder'); | 156 var file_comments = YUQ('.inline-comment-placeholder'); |
140 renderInlineComments(file_comments); | 157 renderInlineComments(file_comments); |
158 | |
159 YUE.on(YUD.get('update_pull_request'),'click',function(e){ | |
160 | |
161 var reviewers_ids = []; | |
162 var ids = YUQ('#review_members input'); | |
163 for(var i=0; i<ids.length;i++){ | |
164 var id = ids[i].value | |
165 reviewers_ids.push(id); | |
166 } | |
167 updateReviewers(reviewers_ids); | |
168 }) | |
141 }) | 169 }) |
142 </script> | 170 </script> |
143 | 171 |
144 </div> | 172 </div> |
145 | 173 |