summaryrefslogtreecommitdiffstats
path: root/extensions/MyDashboard/template
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/MyDashboard/template')
-rw-r--r--extensions/MyDashboard/template/en/default/hook/account/prefs/saved-searches-saved-header.html.tmpl11
-rw-r--r--extensions/MyDashboard/template/en/default/hook/account/prefs/saved-searches-saved-row.html.tmpl15
-rw-r--r--extensions/MyDashboard/template/en/default/hook/global/common-links-action-links.html.tmpl12
-rw-r--r--extensions/MyDashboard/template/en/default/mydashboard/prod-comp-search.html.tmpl43
-rw-r--r--extensions/MyDashboard/template/en/default/pages/mydashboard.html.tmpl222
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 %]&nbsp;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 %]&nbsp;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 %]&nbsp;[% 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 %]