diff options
Diffstat (limited to 'extensions/MyDashboard/template')
5 files changed, 303 insertions, 0 deletions
diff --git a/extensions/MyDashboard/template/en/default/hook/account/prefs/saved-searches-saved-header.html.tmpl b/extensions/MyDashboard/template/en/default/hook/account/prefs/saved-searches-saved-header.html.tmpl new file mode 100644 index 000000000..c822ab040 --- /dev/null +++ b/extensions/MyDashboard/template/en/default/hook/account/prefs/saved-searches-saved-header.html.tmpl @@ -0,0 +1,11 @@ +[%# 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. + #%] + +<th> + My Dashboard +</th> diff --git a/extensions/MyDashboard/template/en/default/hook/account/prefs/saved-searches-saved-row.html.tmpl b/extensions/MyDashboard/template/en/default/hook/account/prefs/saved-searches-saved-row.html.tmpl new file mode 100644 index 000000000..cd6a36705 --- /dev/null +++ b/extensions/MyDashboard/template/en/default/hook/account/prefs/saved-searches-saved-row.html.tmpl @@ -0,0 +1,15 @@ +[%# 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. + #%] + +<td align="center"> + <input type="checkbox" + name="in_mydashboard_[% q.id FILTER html %]" + value="1" + alt="[% q.name FILTER html %]" + [% " checked" IF q.in_mydashboard %]> +</td> diff --git a/extensions/MyDashboard/template/en/default/hook/global/common-links-action-links.html.tmpl b/extensions/MyDashboard/template/en/default/hook/global/common-links-action-links.html.tmpl new file mode 100644 index 000000000..518743ccf --- /dev/null +++ b/extensions/MyDashboard/template/en/default/hook/global/common-links-action-links.html.tmpl @@ -0,0 +1,12 @@ +[%# 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. + #%] + +[% IF user.login %] + <li><span class="separator"> | </span> + <a href="[% urlbase FILTER none %]page.cgi?id=mydashboard.html">My Dashboard</a></li> +[% END %] diff --git a/extensions/MyDashboard/template/en/default/mydashboard/prod-comp-search.html.tmpl b/extensions/MyDashboard/template/en/default/mydashboard/prod-comp-search.html.tmpl new file mode 100644 index 000000000..98daedf1e --- /dev/null +++ b/extensions/MyDashboard/template/en/default/mydashboard/prod-comp-search.html.tmpl @@ -0,0 +1,43 @@ +[%# 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. + #%] + +<div id="prod_comp_search_main"> + <div id="prod_comp_search_autocomplete"> + <div id="prod_comp_search_label"> + File [% terms.Bug %]: + <img id="prod_comp_throbber" src="extensions/BMO/web/images/throbber.gif" + class="hidden" width="16" height="11"> + </div> + <input id="prod_comp_search" type="text" size="60"> + <div id="prod_comp_search_autocomplete_container"></div> + </div> +</div> +<script type="text/javascript"> + if(typeof(YAHOO.bugzilla.prodCompSearch) !== 'undefined' + && YAHOO.bugzilla.prodCompSearch != null) + { + YAHOO.bugzilla.prodCompSearch.init( + "prod_comp_search", + "prod_comp_search_autocomplete_container", + "[% format FILTER js %]", + "[% cloned_bug_id FILTER js %]"); + [% IF target == "describecomponents.cgi" %] + YAHOO.bugzilla.prodCompSearch.autoComplete.itemSelectEvent.subscribe(function (e, args) { + var oData = args[2]; + var url = "describecomponents.cgi?product=" + encodeURIComponent(oData[0]) + + "&component=" + encodeURIComponent(oData[1]) + + "#" + encodeURIComponent(oData[1]); + var format = YAHOO.bugzilla.prodCompSearch.format; + if (format) { + url += "&format=" + encodeURIComponent(format); + } + window.location.href = url; + }); + [% END %] + } +</script> diff --git a/extensions/MyDashboard/template/en/default/pages/mydashboard.html.tmpl b/extensions/MyDashboard/template/en/default/pages/mydashboard.html.tmpl new file mode 100644 index 000000000..60c3be668 --- /dev/null +++ b/extensions/MyDashboard/template/en/default/pages/mydashboard.html.tmpl @@ -0,0 +1,222 @@ +[%# 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 %] + +[% PROCESS global/header.html.tmpl + title = "My Dashboard" + style_urls = [ "skins/standard/buglist.css", + "js/yui/assets/skins/sam/paginator.css", + "extensions/MyDashboard/web/styles/mydashboard.css", + "extensions/MyDashboard/web/styles/prod_comp_search.css" ] + yui = [ "datatable", "paginator", "autocomplete" ] + javascript_urls = [ "extensions/MyDashboard/web/js/mydashboard.js", + "extensions/MyDashboard/web/js/prod_comp_search.js" ] + onload = "MD.showQuerySection();" +%] + +<script type="text/javascript"> +<!-- + [%# Set up severities list for proper sorting %] + MD.severities = new Array(); + [% sort_count = 0 %] + [% FOREACH s = severities %] + MD.severities['[% s FILTER js %]'] = [% sort_count FILTER js %]; + [% sort_count = sort_count + 1 %] + [% END %] + + MD.full_query_list = []; + [% FOREACH r = results %] + MD.full_query_list.push('[% r.name FILTER js %]'); + [% END %] +--> +</script> + +[% standard_results = [] %] +[% saved_results = [] %] +[% FOREACH r = results %] + [% standard_results.push(r) IF !r.saved %] + [% saved_results.push(r) IF r.saved %] +[% END %] + +<div id="mydashboard"> + <div class="yui-skin-sam"> + <div id="left"> + <div id="query_list_container"> + Choose query: + <select id="query" name="query" onchange="MD.showQuerySection();"> + <optgroup id="standard_queries" label="Standard"> + [% FOREACH r = standard_results %] + <option value="[% r.name FILTER html %]">[% r.heading FILTER html %]</option> + [% END%] + </optgroup> + <optgroup id="saved_queries" label="Saved"> + [% FOREACH r = saved_results %] + <option value="[% r.name FILTER html %]">[% r.heading FILTER html %]</option> + [% END %] + </optgroup> + </select> + <small> + (<a href="userprefs.cgi?tab=saved-searches">add or remove saved searches</a>) + </small> + </div> + + [% FOREACH r = standard_results %] + [% PROCESS query_results r = r %] + [% END %] + + [% FOREACH r = saved_results %] + [% PROCESS query_results r = r %] + [% END %] + </div> + + <div id="right"> + <div id="file_bug_container"> + [% PROCESS "mydashboard/prod-comp-search.html.tmpl" %] + </div> + + <div id="requestee_container"> + <div class="query_heading"> + Flags Requested of You + </div> + <span class="flags_found"> + [% requestee_list.size FILTER html %] flags found + </span> + <div id="requestee_table_container"> + <table id="requestee_table" cellspacing="0" cellpadding="3" width="100%"> + <thead> + <tr bgcolor="#dedede"> + <th>Requester</th> + <th>Flag</th> + <th>[% terms.Bug %]</th> + <th>Created</th> + </tr> + </thead> + <tbody> + [% FOREACH request = requestee_list %] + <tr class="bz_bugitem [%+ loop.count() % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> + <td>[% request.requester FILTER html %]</td> + <td>[% request.type FILTER html %][% request.status FILTER html %]</td> + <td> + [% IF request.attach_id %] + <a href="[% urlbase FILTER none %]attachment.cgi?action=edit&id=[% request.attach_id FILTER uri %]"> + [% request.attach_id FILTER html %]: [%+ request.attach_summary FILTER html %]</a> + [% ELSE %] + <a href="[% urlbase FILTER none %]show_bug.cgi?id=[% request.bug_id FILTER uri %]"> + [% request.bug_id FILTER html %]: [%+ request.bug_summary FILTER html %]</a> + [% END %] + </td> + <td>[% request.created FILTER time('%Y:%m:%d') FILTER html %]</td> + </tr> + [% END %] + </tbody> + </table> + </div> + </div> + <script> + <!-- + MD.addStatListener("requestee_table_container", "requestee_table", + MD.requestee_column_defs, MD.requestee_fields, + { paginator: new YAHOO.widget.Paginator({ rowsPerPage: 25, alwaysVisible: false }) }); + --> + </script> + + <div id="requester_container"> + <div class="query_heading"> + Flags You Have Requested + </div> + <span class="flags_found"> + [% requester_list.size FILTER html %] flags found + </span> + <div id="requester_table_container"> + <table id="requester_table" cellspacing="0" cellpadding="3" width="100%"> + <thead bgcolor="#dedede"> + <tr> + <th>Requestee</th> + <th>Flag</th> + <th>[% terms.Bug %]</th> + <th>Created</th> + </tr> + </thead> + <tbody> + [% FOREACH request = requester_list %] + <tr class="bz_bugitem [%+ loop.count() % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> + <td>[% request.requestee FILTER html %]</td> + <td>[% request.type FILTER html %][% request.status FILTER html %]</td> + <td> + [% IF request.attach_id %] + <a href="[% urlbase FILTER none %]attachment.cgi?action=edit&id=[% request.attach_id FILTER uri %]"> + [% request.attach_id FILTER html %]: [%+ request.attach_summary FILTER html %]</a> + [% ELSE %] + <a href="[% urlbase FILTER none %]show_bug.cgi?id=[% request.bug_id FILTER uri %]"> + [% request.bug_id FILTER html %]: [%+ request.bug_summary FILTER html %]</a> + [% END %] + </td> + <td>[% request.created FILTER time('%Y:%m:%d') FILTER html %]</td> + </tr> + [% END %] + </tbody> + </table> + </div> + </div> + <script> + <!-- + MD.addStatListener("requester_table_container", "requester_table", + MD.requester_column_defs, MD.requester_fields, + { paginator: new YAHOO.widget.Paginator({ rowsPerPage: 25, alwaysVisible: false }) }); + --> + </script> + </div> + <div style="clear:both;"></div> + </div> +</div> + +[% PROCESS global/footer.html.tmpl %] + +[% BLOCK query_results %] + <div id="[% r.name FILTER html %]_container" class="bz_default_hidden"> + [% IF r.description %] + <div class="query_description"> + [% r.description FILTER html %] + </div> + [% END %] + <span class="bugs_found"> + <a href="[% urlbase FILTER none %]buglist.cgi?[% r.buffer FILTER none %]"> + [% r.bugs.size FILTER html %] [% terms.bugs %] found</a> + </span> + <div id="[% r.name FILTER html %]_table_container"> + <table id="[% r.name FILTER html %]_table" cellspacing="0" cellpadding="3" width="100%"> + <thead> + <tr> + <th>ID</th> + <th>Updated</th> + <th>Status</th> + <th>Summary</th> + </tr> + </thead> + <tbody> + [% FOREACH bug = r.bugs %] + <tr class="bz_bugitem [%+ loop.count() % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> + <td align="center"><a href="show_bug.cgi?id=[% bug.bug_id FILTER uri %]">[% bug.bug_id FILTER html %]</a></td> + <td align="center">[% bug.changeddate FILTER time('%Y:%m:%d') FILTER html %]</td> + <td align="center">[% bug.bug_status FILTER html %]</td> + <td>[% bug.short_desc FILTER html %]</td> + </tr> + [% END %] + </tbody> + </table> + </div> + <script> + <!-- + MD.addStatListener("[% r.name FILTER js %]_table_container", "[% r.name FILTER js %]_table", + MD.query_column_defs, MD.query_fields, + { paginator: new YAHOO.widget.Paginator({ rowsPerPage: 25, alwaysVisible: false }) }); + --> + </script> + </div> +[% END %] |