1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
[%# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
#%]
[%
PROCESS global/variables.none.tmpl;
# <title>
IF bugs.defined;
bug = bugs.0;
END;
title = "$bug.bug_id - ";
IF bug.alias;
title = title _ "($bug.alias) ";
END;
unfiltered_title = title _ bug.short_desc;
filtered_desc = bug.short_desc FILTER html;
title = title _ filtered_desc;
generate_api_token = 1;
# these aren't always defined
UNLESS bodyclasses.defined;
bodyclasses = [];
END;
UNLESS javascript_urls.defined;
javascript_urls = [];
END;
UNLESS style_urls.defined;
style_urls = [];
END;
UNLESS jquery.defined;
jquery = [];
END;
# right now we need yui for tracking flags and needinfo extensions
no_yui = 0;
# add body classes for sec-groups, etc
FOREACH group IN bug.groups_in;
bodyclasses.push("bz_group_$group.name");
END;
bodyclasses.push("bug_modal");
# assets
javascript_urls.push(
"extensions/ProdCompSearch/web/js/prod_comp_search.js",
"extensions/BugModal/web/bug_modal.js",
"extensions/BugModal/web/ZeroClipboard/ZeroClipboard.min.js",
"js/field.js",
"js/comments.js",
"js/util.js"
);
jquery.push(
"datetimepicker",
);
style_urls.push(
"extensions/BugModal/web/bug_modal.css",
"skins/custom/bug_groups.css",
"js/jquery/plugins/datetimepicker/datetimepicker.css",
);
IF user.in_group('canconfirm');
style_urls.push('extensions/TagNewUsers/web/style.css');
END;
%]
[% javascript = BLOCK %]
[%# add tracking flags json if available %]
[% IF tracking_flags %]
[% javascript_urls.push("extensions/TrackingFlags/web/js/tracking_flags.js") %]
TrackingFlags = [% tracking_flags_json FILTER none %];
[% END %]
[%# update last-visited %]
[% IF user.id && user.is_involved_in_bug(bug) %]
$(function() {
bugzilla_ajax({
url: 'rest/bug_user_last_visit/[% bug.id FILTER none %]',
type: 'POST'
});
});
[% END %]
[%# expose useful data to js %]
BUGZILLA.bug_id = [% bug.id FILTER none %];
BUGZILLA.bug_title = '[% unfiltered_title FILTER js %]';
BUGZILLA.user = {
id: [% user.id FILTER none %],
login: '[% user.login FILTER js %]',
is_insider: [% user.is_insider ? "true" : "false" %],
settings: {
quote_replies: '[% user.settings.quote_replies.value FILTER js %]',
zoom_textareas: [% user.settings.zoom_textareas.value == "on" ? "true" : "false" %]
}
};
[% IF user.id %]
BUGZILLA.default_assignee = '[% bug.component_obj.default_assignee.login FILTER js %]';
BUGZILLA.default_qa_contact = '[% bug.component_obj.default_qa_contact.login FILTER js %]';
[% END %]
[% END %]
[% Hook.process("end") %]
|