Index: appengine/monorail/templates/tracker/issue-meta-part.ezt |
diff --git a/appengine/monorail/templates/tracker/issue-meta-part.ezt b/appengine/monorail/templates/tracker/issue-meta-part.ezt |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7ca758273743d49e40c30749f2a5de4374dbc433 |
--- /dev/null |
+++ b/appengine/monorail/templates/tracker/issue-meta-part.ezt |
@@ -0,0 +1,268 @@ |
+[# Show the issue detail page meta data column. |
+ |
+ arg0: Any non-empty value means that the "make changes below" text |
+ should be shown. It is shown on the issue details page, but not |
+ on the issue peek page. |
+] |
+ |
+<table cellspacing="0" cellpadding="0"> |
+ <tr><th align="left" style="padding-right:.3em">Status:</th> |
+ <td width="100%"> |
+ [is issue.status.name ""] |
+ [is issue.derived_status.name ""] |
+ ---- |
+ [else] |
+ <i title="Derived[if-any issue.derived_status.tooltip issue.derived_status.docstring]:[end] [issue.derived_status.tooltip] [issue.derived_status.docstring]" |
+ >[issue.derived_status.name]</i> |
+ [end] |
+ [else] |
+ <span title="[issue.status.tooltip] [issue.status.docstring]">[issue.status.name]</span> |
+ [end] |
+ </td> |
+ </tr> |
+ [if-any issue.merged_into.visible] |
+ <tr><th align="left">Merged:</th> |
+ <td class="rel_issues"> |
+ <a href="[issue.merged_into.url]" title="[issue.merged_into.display_name]: [issue.merged_into.summary]" |
+ [if-any issue.merged_into.is_open][else]class="closed_ref"[end] |
+ >[issue.merged_into.display_name]</a> |
+ </td> |
+ </tr> |
+ [end] |
+ |
+ [if-any arg0] |
+ <tr><th align="left">Owner:</th><td> |
+ [is issue.owner.username ""] |
+ [is issue.derived_owner.username ""] |
+ ---- |
+ [else] |
+ <i title="Derived">[include "../framework/user-link.ezt" issue.derived_owner]</i> |
+ [end] |
+ [else] |
+ [include "../framework/user-link.ezt" issue.owner] |
+ [end] |
+ </td> |
+ </tr> |
+ [else] |
+ <tr><td align="left" colspan="2" class="widemeta"><b>Owner:</b> |
+ [is issue.owner.username ""] |
+ [is issue.derived_owner.username ""] |
+ ---- |
+ [else] |
+ <div style="margin-left:1em"> |
+ <i title="Derived">[include "../framework/user-link.ezt" issue.derived_owner]</i> |
+ </div> |
+ [end] |
+ [else] |
+ <div style="margin-left:1em"> |
+ [include "../framework/user-link.ezt" issue.owner] |
+ </div> |
+ [end] |
+ </td> |
+ </tr> |
+ [end] |
+ |
+ [if-any issue.closed] |
+ <tr><th align="left" valign="top" style="padding-right:.3em">Closed:</th> |
+ <td align="left" valign="top" width="100%"> |
+ [issue.closed] |
+ </td> |
+ </tr> |
+ [end] |
+ [if-any issue.cc issue.derived_cc] |
+ [if-any arg0] |
+ <tr><th class="vt" align="left">Cc:</th><td> |
+ [define join_char][end] |
+ [if-any issue.cc][if-any issue.derived_cc][define join_char],[end][end][end] |
+ [for issue.cc] [include "../framework/user-link.ezt" issue.cc][if-index issue.cc last][join_char][else],[end] [end] |
+ [for issue.derived_cc] <i title="Derived">[include "../framework/user-link.ezt" issue.derived_cc]</i>[if-index issue.derived_cc last][else],[end] [end] |
+ </td></tr> |
+ [else] |
+ <tr><td class="vt" align="left" colspan="2" class="widemeta"><b>Cc:</b> |
+ <div style="margin-left:1em"> |
+ [define join_char][end] |
+ [if-any issue.cc][if-any issue.derived_cc][define join_char],[end][end][end] |
+ [for issue.cc] [include "../framework/user-link.ezt" issue.cc][if-index issue.cc last][join_char][else],[end] [end] |
+ [for issue.derived_cc] <i title="Derived">[include "../framework/user-link.ezt" issue.derived_cc]</i>[if-index issue.derived_cc last][else],[end] [end] |
+ </div> |
+ </td></tr> |
+ [end] |
+ [end] |
+ |
+ [if-any issue.components] |
+ <tr> |
+ <th align="left" valign="top" style="padding-right:.3em">Components:</th> |
+ <td align="left" valign="top" width="100%"> |
+ [for issue.components] |
+ <div><a href="list?q=component:[issue.components.path]" class="fieldvalue" |
+ [if-any issue.components.derived]style="font-style:italic"[end] |
+ title="[if-any issue.components.derived]Derived: [end][issue.components.docstring_short]" |
+ >[issue.components.path]</a></div> |
+ [end] |
+ </td> |
+ </tr> |
+ [end] |
+ |
+ [for issue.fields] |
+ [if-any issue.fields.display] |
+ <tr><th align="left" valign="top" title="[issue.fields.field_docstring]" |
+ style="padding-right:.3em" |
+ >[issue.fields.field_name]:</th> |
+ <td align="left" valign="top" width="100%"> |
+ [if-any issue.fields.values issue.fields.derived_values] |
+ [for issue.fields.values] |
+ <a href="list?q=[issue.fields.field_name]="[format "url"][issue.fields.values.val][end]"" class="fieldvalue" |
+ title="[issue.fields.values.val] [issue.fields.values.docstring]">[issue.fields.values.val]</a |
+ >[if-index issue.fields.values last][if-any issue.fields.derived_values],[end][else],[end] |
+ [end] |
+ [for issue.fields.derived_values] |
+ <a href="list?q=[issue.fields.field_name]="[format "url"][issue.fields.derived_values.val][end]"" |
+ title="derived: [issue.fields.derived_values.val] [issue.fields.derived_values.docstring]"><i>[issue.fields.derived_values.val]</i></a>[if-index issue.fields.derived_values last][else],[end] |
+ [end] |
+ [else] |
+ ---- |
+ [end] |
+ </td> |
+ </tr> |
+ [end] |
+ [end] |
+ |
+ <tr><td colspan="2" class="widemeta"> |
+ [for issue.labels] |
+ <div style="padding-top:2px"> |
+ [is issue.labels.prefix ""] |
+ <a href="list?q=label:[issue.labels.name]" |
+ title="[if-any issue.labels.tooltip][issue.labels.tooltip] [end][issue.labels.docstring]" |
+ class="label">[issue.labels.name]</a> |
+ [else] |
+ <a href="list?q=label:[issue.labels.name]" |
+ title="[if-any issue.labels.tooltip][issue.labels.tooltip] [end][issue.labels.docstring]" |
+ class="label"><b>[issue.labels.prefix]-</b>[issue.labels.value]</a> |
+ [end] |
+ </div> |
+ [end] |
+ </td></tr> |
+ |
+ [for issue.derived_labels] |
+ [is issue.derived_labels.prefix ""] |
+ <tr> |
+ <td colspan="2" class="widemeta"> |
+ <a href="list?q=label:[issue.derived_labels.name]" |
+ title="Derived[if-any issue.derived_labels.tooltip issue.derived_labels.docstring]: [end][issue.derived_labels.tooltip] [issue.derived_labels.docstring]" |
+ class="derived label">[issue.derived_labels.name]</a> |
+ </td> |
+ </tr> |
+ [else] |
+ <tr> |
+ <td colspan="2" class="widemeta"> |
+ <a href="list?q=label:[issue.derived_labels.name]" |
+ title="Derived[if-any issue.derived_labels.tooltip issue.derived_labels.docstring]: [end][issue.derived_labels.tooltip] [issue.derived_labels.docstring]" |
+ class="derived label"><b>[issue.derived_labels.prefix]-</b>[issue.derived_labels.value]</a> |
+ </td> |
+ </tr> |
+ [end] |
+ [end] |
+ |
+</table> |
+ |
+<div class="rel_issues widemeta"> |
+ [if-any issue.blocked_on] |
+ <br><b>Blocked on:</b><br> |
+ [for issue.blocked_on][if-any issue.blocked_on.visible] |
+ [if-any issue.blocked_on.is_open] |
+ <a href="[issue.blocked_on.url]" title="[issue.blocked_on.display_name]: [issue.blocked_on.summary]" |
+ >[issue.blocked_on.display_name]</a><br> |
+ [end] |
+ [end][end] |
+ [for issue.blocked_on][if-any issue.blocked_on.visible] |
+ [if-any issue.blocked_on.is_open][else] |
+ <a href="[issue.blocked_on.url]" title="[issue.blocked_on.display_name]: [issue.blocked_on.summary]" class="closed_ref" |
+ >[issue.blocked_on.display_name]</a><br> |
+ [end] |
+ [end][end] |
+ [end] |
+ |
+ [if-any issue.blocking] |
+ <br><b>Blocking:</b><br> |
+ [for issue.blocking][if-any issue.blocking.visible] |
+ [if-any issue.blocking.is_open] |
+ <a href="[issue.blocking.url]" title="[issue.blocking.display_name]: [issue.blocking.summary]" |
+ >[issue.blocking.display_name]</a><br> |
+ [end] |
+ [end][end] |
+ [for issue.blocking][if-any issue.blocking.visible] |
+ [if-any issue.blocking.is_open][else] |
+ <a href="[issue.blocking.url]" title="[issue.blocking.display_name]: [issue.blocking.summary]" class="closed_ref" |
+ >[issue.blocking.display_name]</a><br> |
+ [end] |
+ [end][end] |
+ [end] |
+ |
+ [if-any issue.restrictions.has_restrictions] |
+ <br> |
+ <div class="issue_restrictions"> |
+ <div class="restrictions_header"> |
+ <div class="lock_grey goog-inline-block"></div> |
+ Restricted |
+ </div> |
+ <ul> |
+ [if-any issue.restrictions.view] |
+ <li>Only users with [issue.restrictions.view] permission can see this issue.</li> |
+ [end] |
+ [if-any issue.restrictions.add_comment] |
+ <li>Only users with [issue.restrictions.add_comment] permission may comment.</li> |
+ [end] |
+ [if-any issue.restrictions.edit] |
+ <li>Only users with [issue.restrictions.edit] permission may make changes.</li> |
+ [end] |
+ [if-any issue.restrictions.other] |
+ [for issue.restrictions.other] |
+ <li>Other restriction: |
+ <span class="other_restriction">[issue.restrictions.other]</span> |
+ </li> |
+ [end] |
+ [end] |
+ </ul> |
+ </div> |
+ [end] |
+</div> |
+ |
+ |
+[if-any previous_locations] |
+ <div class="rel_issues"> |
+ <br><b>Previous locations:</b><br> |
+ [for previous_locations] |
+ <a>[previous_locations.project_name]:[previous_locations.local_id]</a> |
+ [end] |
+ </div> |
+[end] |
+ |
+ |
+[if-any arg0] |
+ <br><br> |
+ [if-any read_only][else] |
+ [if-any logged_in_user] |
+ [if-any page_perms.AddIssueComment] |
+ [if-any offer_make_changes] |
+ <a id="addacomment" href="#"><span style="white-space:nowrap">Add a comment and</span> |
+ <span style="white-space:nowrap">make changes below</span></a> |
+ [else] |
+ <a id="addacomment" href="#" style="white-space:nowrap">Add a comment below</a> |
+ [end] |
+ [end] |
+ [else] |
+ <div style="white-space:nowrap"><a href="[login_url]">Sign in</a> to add a comment</div> |
+ [end] |
+ [end][# not read_only] |
+[end] |
+ |
+<script type="text/javascript" nonce="[nonce]"> |
+runOnLoad(function() { |
+ if ($("addacomment")) { |
+ $("addacomment").addEventListener("click", function(event) { |
+ _openIssueUpdateForm(); |
+ event.preventDefault(); |
+ }); |
+ } |
+}); |
+</script> |