##// END OF EJS Templates
comments: save id in hoverbox....
milka -
r4588:80b5039b stable
parent child Browse files
Show More
@@ -1,266 +1,267 b''
1 <%text>
1 <%text>
2 <div style="display: none">
2 <div style="display: none">
3
3
4 <script>
4 <script>
5 var CG = new ColorGenerator();
5 var CG = new ColorGenerator();
6 </script>
6 </script>
7
7
8 <script id="ejs_gravatarWithUser" type="text/template" class="ejsTemplate">
8 <script id="ejs_gravatarWithUser" type="text/template" class="ejsTemplate">
9
9
10 <%
10 <%
11 if (size > 16) {
11 if (size > 16) {
12 var gravatar_class = 'gravatar gravatar-large';
12 var gravatar_class = 'gravatar gravatar-large';
13 } else {
13 } else {
14 var gravatar_class = 'gravatar';
14 var gravatar_class = 'gravatar';
15 }
15 }
16
16
17 if (tooltip) {
17 if (tooltip) {
18 var gravatar_class = gravatar_class + ' tooltip-hovercard';
18 var gravatar_class = gravatar_class + ' tooltip-hovercard';
19 }
19 }
20
20
21 var data_hovercard_alt = username;
21 var data_hovercard_alt = username;
22
22
23 %>
23 %>
24
24
25 <%
25 <%
26 if (show_disabled) {
26 if (show_disabled) {
27 var user_cls = 'user user-disabled';
27 var user_cls = 'user user-disabled';
28 } else {
28 } else {
29 var user_cls = 'user';
29 var user_cls = 'user';
30 }
30 }
31 var data_hovercard_url = pyroutes.url('hovercard_user', {"user_id": user_id})
31 var data_hovercard_url = pyroutes.url('hovercard_user', {"user_id": user_id})
32 %>
32 %>
33
33
34 <div class="rc-user">
34 <div class="rc-user">
35 <img class="<%= gravatar_class %>" height="<%= size %>" width="<%= size %>" data-hovercard-url="<%= data_hovercard_url %>" data-hovercard-alt="<%= data_hovercard_alt %>" src="<%- gravatar_url -%>">
35 <img class="<%= gravatar_class %>" height="<%= size %>" width="<%= size %>" data-hovercard-url="<%= data_hovercard_url %>" data-hovercard-alt="<%= data_hovercard_alt %>" src="<%- gravatar_url -%>">
36 <span class="<%= user_cls %>"> <%- user_link -%> </span>
36 <span class="<%= user_cls %>"> <%- user_link -%> </span>
37 </div>
37 </div>
38
38
39 </script>
39 </script>
40
40
41 <script id="ejs_reviewMemberEntry" type="text/template" class="ejsTemplate">
41 <script id="ejs_reviewMemberEntry" type="text/template" class="ejsTemplate">
42 <%
42 <%
43 if (create) {
43 if (create) {
44 var edit_visibility = 'visible';
44 var edit_visibility = 'visible';
45 } else {
45 } else {
46 var edit_visibility = 'hidden';
46 var edit_visibility = 'hidden';
47 }
47 }
48
48
49 if (member.user_group && member.user_group.vote_rule) {
49 if (member.user_group && member.user_group.vote_rule) {
50 var reviewGroup = '<i class="icon-user-group"></i>';
50 var reviewGroup = '<i class="icon-user-group"></i>';
51 var reviewGroupColor = CG.asRGB(CG.getColor(member.user_group.vote_rule));
51 var reviewGroupColor = CG.asRGB(CG.getColor(member.user_group.vote_rule));
52 } else {
52 } else {
53 var reviewGroup = null;
53 var reviewGroup = null;
54 var reviewGroupColor = 'transparent';
54 var reviewGroupColor = 'transparent';
55 }
55 }
56 var rule_show = rule_show || false;
56 var rule_show = rule_show || false;
57
57
58 if (rule_show) {
58 if (rule_show) {
59 var rule_visibility = 'table-cell';
59 var rule_visibility = 'table-cell';
60 } else {
60 } else {
61 var rule_visibility = 'none';
61 var rule_visibility = 'none';
62 }
62 }
63
63
64 %>
64 %>
65
65
66 <tr id="reviewer_<%= member.user_id %>" class="reviewer_entry" tooltip="Review Group" data-reviewer-user-id="<%= member.user_id %>">
66 <tr id="reviewer_<%= member.user_id %>" class="reviewer_entry" tooltip="Review Group" data-reviewer-user-id="<%= member.user_id %>">
67
67
68 <% if (!create) { %>
68 <% if (!create) { %>
69 <td style="width: 20px">
69 <td style="width: 20px">
70 <div class="tooltip presence-state" style="display: none; position: absolute; left: 2px" title="This users is currently at this page">
70 <div class="tooltip presence-state" style="display: none; position: absolute; left: 2px" title="This users is currently at this page">
71 <i class="icon-eye" style="color: #0ac878"></i>
71 <i class="icon-eye" style="color: #0ac878"></i>
72 </div>
72 </div>
73 <% if (role === 'reviewer') { %>
73 <% if (role === 'reviewer') { %>
74 <div class="reviewer_status tooltip" title="<%= review_status_label %>">
74 <div class="reviewer_status tooltip" title="<%= review_status_label %>">
75 <i class="icon-circle review-status-<%= review_status %>"></i>
75 <i class="icon-circle review-status-<%= review_status %>"></i>
76 </div>
76 </div>
77 <% } else if (role === 'observer') { %>
77 <% } else if (role === 'observer') { %>
78 <div class="tooltip" title="Observer without voting right.">
78 <div class="tooltip" title="Observer without voting right.">
79 <i class="icon-circle-thin"></i>
79 <i class="icon-circle-thin"></i>
80 </div>
80 </div>
81 <% } %>
81 <% } %>
82 </td>
82 </td>
83 <% } %>
83 <% } %>
84
84
85 <% if (mandatory) { %>
85 <% if (mandatory) { %>
86 <td style="text-align: right;width: 10px;">
86 <td style="text-align: right;width: 10px;">
87 <div class="reviewer_member_mandatory tooltip" title="Mandatory reviewer">
87 <div class="reviewer_member_mandatory tooltip" title="Mandatory reviewer">
88 <i class="icon-lock"></i>
88 <i class="icon-lock"></i>
89 </div>
89 </div>
90 </td>
90 </td>
91
91
92 <% } else { %>
92 <% } else { %>
93 <td style="text-align: right;width: 10px;">
93 <td style="text-align: right;width: 10px;">
94 <% if (allowed_to_update) { %>
94 <% if (allowed_to_update) { %>
95 <div class="<%=role %>_member_remove" onclick="reviewersController.removeMember(<%= member.user_id %>, true)" style="visibility: <%= edit_visibility %>;">
95 <div class="<%=role %>_member_remove" onclick="reviewersController.removeMember(<%= member.user_id %>, true)" style="visibility: <%= edit_visibility %>;">
96 <i class="icon-remove" style="color: #e85e4d;"></i>
96 <i class="icon-remove" style="color: #e85e4d;"></i>
97 </div>
97 </div>
98 <% } %>
98 <% } %>
99 </td>
99 </td>
100 <% } %>
100 <% } %>
101
101
102 <td>
102 <td>
103 <div id="reviewer_<%= member.user_id %>_name" class="reviewer_name">
103 <div id="reviewer_<%= member.user_id %>_name" class="reviewer_name">
104 <%-
104 <%-
105 renderTemplate('gravatarWithUser', {
105 renderTemplate('gravatarWithUser', {
106 'size': 16,
106 'size': 16,
107 'show_disabled': false,
107 'show_disabled': false,
108 'tooltip': true,
108 'tooltip': true,
109 'username': member.username,
109 'username': member.username,
110 'user_id': member.user_id,
110 'user_id': member.user_id,
111 'user_link': member.user_link,
111 'user_link': member.user_link,
112 'gravatar_url': member.gravatar_link
112 'gravatar_url': member.gravatar_link
113 })
113 })
114 %>
114 %>
115 </div>
115 </div>
116 <% if (reviewGroup !== null) { %>
116 <% if (reviewGroup !== null) { %>
117 <span class="tooltip" title="Member of review group from rule: `<%= member.user_group.name %>`" style="color: <%= reviewGroupColor %>">
117 <span class="tooltip" title="Member of review group from rule: `<%= member.user_group.name %>`" style="color: <%= reviewGroupColor %>">
118 <%- reviewGroup %>
118 <%- reviewGroup %>
119 </span>
119 </span>
120 <% } %>
120 <% } %>
121 </td>
121 </td>
122
122
123 </tr>
123 </tr>
124
124
125 <tr id="reviewer_<%= member.user_id %>_rules">
125 <tr id="reviewer_<%= member.user_id %>_rules">
126 <td colspan="4" style="display: <%= rule_visibility %>" class="pr-user-rule-container">
126 <td colspan="4" style="display: <%= rule_visibility %>" class="pr-user-rule-container">
127 <input type="hidden" name="__start__" value="reviewer:mapping">
127 <input type="hidden" name="__start__" value="reviewer:mapping">
128
128
129 <%if (member.user_group && member.user_group.vote_rule) { %>
129 <%if (member.user_group && member.user_group.vote_rule) { %>
130 <div class="reviewer_reason">
130 <div class="reviewer_reason">
131
131
132 <%if (member.user_group.vote_rule == -1) {%>
132 <%if (member.user_group.vote_rule == -1) {%>
133 - group votes required: ALL
133 - group votes required: ALL
134 <%} else {%>
134 <%} else {%>
135 - group votes required: <%= member.user_group.vote_rule %>
135 - group votes required: <%= member.user_group.vote_rule %>
136 <%}%>
136 <%}%>
137 </div>
137 </div>
138 <%} %>
138 <%} %>
139
139
140 <input type="hidden" name="__start__" value="reasons:sequence">
140 <input type="hidden" name="__start__" value="reasons:sequence">
141 <% for (var i = 0; i < reasons.length; i++) { %>
141 <% for (var i = 0; i < reasons.length; i++) { %>
142 <% var reason = reasons[i] %>
142 <% var reason = reasons[i] %>
143 <div class="reviewer_reason">- <%= reason %></div>
143 <div class="reviewer_reason">- <%= reason %></div>
144 <input type="hidden" name="reason" value="<%= reason %>">
144 <input type="hidden" name="reason" value="<%= reason %>">
145 <% } %>
145 <% } %>
146 <input type="hidden" name="__end__" value="reasons:sequence">
146 <input type="hidden" name="__end__" value="reasons:sequence">
147
147
148 <input type="hidden" name="__start__" value="rules:sequence">
148 <input type="hidden" name="__start__" value="rules:sequence">
149 <% for (var i = 0; i < member.rules.length; i++) { %>
149 <% for (var i = 0; i < member.rules.length; i++) { %>
150 <% var rule = member.rules[i] %>
150 <% var rule = member.rules[i] %>
151 <input type="hidden" name="rule_id" value="<%= rule %>">
151 <input type="hidden" name="rule_id" value="<%= rule %>">
152 <% } %>
152 <% } %>
153 <input type="hidden" name="__end__" value="rules:sequence">
153 <input type="hidden" name="__end__" value="rules:sequence">
154
154
155 <input id="reviewer_<%= member.user_id %>_input" type="hidden" value="<%= member.user_id %>" name="user_id" />
155 <input id="reviewer_<%= member.user_id %>_input" type="hidden" value="<%= member.user_id %>" name="user_id" />
156 <input type="hidden" name="mandatory" value="<%= mandatory %>"/>
156 <input type="hidden" name="mandatory" value="<%= mandatory %>"/>
157 <input type="hidden" name="role" value="<%= role %>"/>
157 <input type="hidden" name="role" value="<%= role %>"/>
158
158
159 <input type="hidden" name="__end__" value="reviewer:mapping">
159 <input type="hidden" name="__end__" value="reviewer:mapping">
160 </td>
160 </td>
161 </tr>
161 </tr>
162
162
163 </script>
163 </script>
164
164
165 <script id="ejs_commentVersion" type="text/template" class="ejsTemplate">
165 <script id="ejs_commentVersion" type="text/template" class="ejsTemplate">
166
166
167 <%
167 <%
168 if (size > 16) {
168 if (size > 16) {
169 var gravatar_class = 'gravatar gravatar-large';
169 var gravatar_class = 'gravatar gravatar-large';
170 } else {
170 } else {
171 var gravatar_class = 'gravatar';
171 var gravatar_class = 'gravatar';
172 }
172 }
173
173
174 %>
174 %>
175
175
176 <%
176 <%
177 if (show_disabled) {
177 if (show_disabled) {
178 var user_cls = 'user user-disabled';
178 var user_cls = 'user user-disabled';
179 } else {
179 } else {
180 var user_cls = 'user';
180 var user_cls = 'user';
181 }
181 }
182
182
183 %>
183 %>
184
184
185 <div style='line-height: 20px'>
185 <div style='line-height: 20px'>
186 <img style="margin: -3px 0" class="<%= gravatar_class %>" height="<%= size %>" width="<%= size %>" src="<%- gravatar_url -%>">
186 <img style="margin: -3px 0" class="<%= gravatar_class %>" height="<%= size %>" width="<%= size %>" src="<%- gravatar_url -%>">
187 <strong><%- user_name -%></strong>, <code>v<%- version -%></code> edited <%- timeago_component -%>
187 <strong><%- user_name -%></strong>, <code>v<%- version -%></code> edited <%- timeago_component -%>
188 </div>
188 </div>
189
189
190 </script>
190 </script>
191
191
192
192
193 <script id="ejs_sideBarCommentHovercard" type="text/template" class="ejsTemplate">
193 <script id="ejs_sideBarCommentHovercard" type="text/template" class="ejsTemplate">
194
194
195 <div>
195 <div>
196
196 <% if (is_todo) { %>
197 <% if (is_todo) { %>
197 <% if (inline) { %>
198 <% if (inline) { %>
198 <strong>Inline</strong> TODO on line: <%= line_no %>
199 <strong>Inline</strong> TODO (<code>#<%- comment_id -%></code>) on line: <%= line_no %>
199 <% if (version_info) { %>
200 <% if (version_info) { %>
200 <%= version_info %>
201 <%= version_info %>
201 <% } %>
202 <% } %>
202 <br/>
203 <br/>
203 File: <code><%- file_name -%></code>
204 File: <code><%- file_name -%></code>
204 <% } else { %>
205 <% } else { %>
205 <% if (review_status) { %>
206 <% if (review_status) { %>
206 <i class="icon-circle review-status-<%= review_status %>"></i>
207 <i class="icon-circle review-status-<%= review_status %>"></i>
207 <% } %>
208 <% } %>
208 <strong>General</strong> TODO
209 <strong>General</strong> TODO (<code>#<%- comment_id -%></code>)
209 <% if (version_info) { %>
210 <% if (version_info) { %>
210 <%= version_info %>
211 <%= version_info %>
211 <% } %>
212 <% } %>
212 <% } %>
213 <% } %>
213 <% } else { %>
214 <% } else { %>
214 <% if (inline) { %>
215 <% if (inline) { %>
215 <strong>Inline</strong> comment on line: <%= line_no %>
216 <strong>Inline</strong> comment (<code>#<%- comment_id -%></code>) on line: <%= line_no %>
216 <% if (version_info) { %>
217 <% if (version_info) { %>
217 <%= version_info %>
218 <%= version_info %>
218 <% } %>
219 <% } %>
219 <br/>
220 <br/>
220 File: <code><%- file_name -%></code>
221 File: <code><%- file_name -%></code>
221 <% } else { %>
222 <% } else { %>
222 <% if (review_status) { %>
223 <% if (review_status) { %>
223 <i class="icon-circle review-status-<%= review_status %>"></i>
224 <i class="icon-circle review-status-<%= review_status %>"></i>
224 <% } %>
225 <% } %>
225 <strong>General</strong> comment
226 <strong>General</strong> comment (<code>#<%- comment_id -%></code>)
226 <% if (version_info) { %>
227 <% if (version_info) { %>
227 <%= version_info %>
228 <%= version_info %>
228 <% } %>
229 <% } %>
229 <% } %>
230 <% } %>
230 <% } %>
231 <% } %>
231 <br/>
232 <br/>
232 Created:
233 Created:
233 <time class="timeago" title="<%= created_on %>" datetime="<%= datetime %>"><%= $.timeago(datetime) %></time>
234 <time class="timeago" title="<%= created_on %>" datetime="<%= datetime %>"><%= $.timeago(datetime) %></time>
234
235
235 </div>
236 </div>
236
237
237 </script>
238 </script>
238
239
239 <script id="ejs_commentHelpHovercard" type="text/template" class="ejsTemplate">
240 <script id="ejs_commentHelpHovercard" type="text/template" class="ejsTemplate">
240
241
241 <div>
242 <div>
242 Use <strong>@username</strong> mention syntax to send direct notification to this RhodeCode user.<br/>
243 Use <strong>@username</strong> mention syntax to send direct notification to this RhodeCode user.<br/>
243 Typing / starts autocomplete for certain action, e.g set review status, or comment type. <br/>
244 Typing / starts autocomplete for certain action, e.g set review status, or comment type. <br/>
244 <br/>
245 <br/>
245 Use <strong>Cmd/ctrl+enter</strong> to submit comment, or <strong>Shift+Cmd/ctrl+enter</strong> to submit a draft.<br/>
246 Use <strong>Cmd/ctrl+enter</strong> to submit comment, or <strong>Shift+Cmd/ctrl+enter</strong> to submit a draft.<br/>
246 <br/>
247 <br/>
247 <strong>Draft comments</strong> are private to the author, and trigger no notification to others.<br/>
248 <strong>Draft comments</strong> are private to the author, and trigger no notification to others.<br/>
248 They are permanent until deleted, or converted to regular comments.<br/>
249 They are permanent until deleted, or converted to regular comments.<br/>
249 <br/>
250 <br/>
250 <br/>
251 <br/>
251 </div>
252 </div>
252
253
253 </script>
254 </script>
254
255
255
256
256
257
257 ##// END OF EJS Templates
258 ##// END OF EJS Templates
258 </div>
259 </div>
259
260
260
261
261 <script>
262 <script>
262 // registers the templates into global cache
263 // registers the templates into global cache
263 registerTemplates();
264 registerTemplates();
264 </script>
265 </script>
265
266
266 </%text>
267 </%text>
General Comments 0
You need to be logged in to leave comments. Login now