diff options
Diffstat (limited to 'extensions/MyDashboard')
-rw-r--r-- | extensions/MyDashboard/Extension.pm | 14 | ||||
-rw-r--r-- | extensions/MyDashboard/template/en/default/pages/mydashboard_old.html.tmpl | 326 | ||||
-rw-r--r-- | extensions/MyDashboard/web/styles/mydashboard.css | 44 |
3 files changed, 14 insertions, 370 deletions
diff --git a/extensions/MyDashboard/Extension.pm b/extensions/MyDashboard/Extension.pm index e5f022dec..82c995442 100644 --- a/extensions/MyDashboard/Extension.pm +++ b/extensions/MyDashboard/Extension.pm @@ -190,7 +190,9 @@ sub _standard_saved_queries { if ($user->showmybugslink) { my $query = Bugzilla->params->{mybugstemplate}; - $query =~ s/%userid%/$user->login/; + my $login = $user->login; + $query =~ s/%userid%/$login/; + $query =~ s/^buglist.cgi\?//; push(@query_defs, { name => 'mybugs', heading => "My Bugs", @@ -207,7 +209,7 @@ sub _standard_saved_queries { params => $q->url }); } - my $date_now = DateTime->now(time_zone => Bugzilla->local_timezone); + #my $date_now = DateTime->now(time_zone => Bugzilla->local_timezone); ### Collect the query results for display in the template @@ -230,10 +232,10 @@ sub _standard_saved_queries { my $bug = {}; foreach my $column (@select_columns) { $bug->{$column} = shift @$row; - if ($column eq 'changeddate') { - my $date_then = datetime_from($bug->{$column}); - $bug->{'updated'} = time_ago($date_then, $date_now); - } + #if ($column eq 'changeddate') { + # my $date_then = datetime_from($bug->{$column}); + # $bug->{'updated'} = time_ago($date_then, $date_now); + #} } push(@bugs, $bug); } diff --git a/extensions/MyDashboard/template/en/default/pages/mydashboard_old.html.tmpl b/extensions/MyDashboard/template/en/default/pages/mydashboard_old.html.tmpl deleted file mode 100644 index b7f34a183..000000000 --- a/extensions/MyDashboard/template/en/default/pages/mydashboard_old.html.tmpl +++ /dev/null @@ -1,326 +0,0 @@ -[%# 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" ] - yui = [ "datatable", "paginator" ] - javascript_urls = [ "extensions/MyDashboard/web/js/mydashboard.js" ] -%] - -<script type="text/javascript"> -<!-- - [%# Set up severities list for proper sorting %] - var severities = new Array(); - [% sort_count = 0 %] - [% FOREACH s = severities %] - severities['[% s FILTER js %]'] = [% sort_count FILTER js %]; - [% sort_count = sort_count + 1 %] - [% END %] ---> -</script> - -[% standard_results = [] %] -[% saved_results = [] %] -[% FOREACH r = results %] - [% standard_results.push(r) IF !r.saved %] - [% saved_results.push(r) IF r.saved %] -[% END %] - -<a name="top"></a> -<div id="mydashboard"> - <div class="yui-skin-sam"> - <ul id="query-links"> - <li id="links-standard"> - <div class="label">Standard Queries:</div> - <ul class="links"> - [% FOREACH r = standard_results %] - <li> - <a href="#[% r.name FILTER uri %]">[% r.heading FILTER html %]</a></li> - <span class="separator">| </span> - </li> - [% END%] - <li> - <a href="#requestee">Open Issues with Flags Requested of You</a> - <span class="separator"> | </span> - </li> - <li> - <a href="#requester">Open Issues with Flags You Have Requested</a> - <span class="separator"> | </span> - </li> - <li> - <a href="#products">Active Products with Open Issues</a> - </li> - </ul> - </li> - <li id="links-saved"> - <div class="label">Saved Queries - (<a title="Click to add/remove saved searches from my dashboard" - href="[% urlbase FILTER none %]userprefs.cgi?tab=saved-searches">edit</a>):</div> - <ul class="links"> - [% FOREACH r = saved_results %] - <li> - <a href="#[% r.name FILTER uri %]">[% r.heading FILTER html %]</a> - [% '<span class="separator"> | </span>' IF !loop.last() %] - </li> - [% END %] - [% IF NOT saved_results.size %] - <li>Click edit to add or remove saved searches from my dashboard</li> - [% END %] - </ul> - </li> - </ul> - - <hr> - - <script type="text/javascript"> - <!-- - var query_column_defs = [ - { key:"id", label:"ID", sortable:true, sortOptions:{ sortFunction:sortBugIdLinks } }, - { key:"product", label:"Product", sortable:true }, - { key:"version", label:"Version", sortable:true }, - { key:"component", label:"Component", sortable:true }, - { key:"bug_status", label:"Status", sortable:true }, - { key:"bug_severity", label:"Severity", sortable:true, sortOptions:{ sortFunction:sortBugSeverity } }, - { key:"summary", label:"Summary", sortable:true }, - ]; - var query_fields = [ - { key:"id" }, - { key:"product" }, - { key:"version" }, - { key:"component" }, - { key:"bug_status" }, - { key:"bug_severity" }, - { key:"summary" } - ]; - var requester_column_defs = [ - { key:"requestee", label:"Requestee", sortable:true }, - { key:"flag", label:"Flag", sortable:true }, - { key:"bug", label:"Bug", sortable:true }, - { key:"created", label:"Created", sortable:true } - ]; - var requester_fields = [ - { key:"requestee" }, - { key:"flag" }, - { key:"bug" }, - { key:"created" } - ]; - var requestee_column_defs = [ - { key:"requester", label:"Requester", sortable:true }, - { key:"flag", label:"Flag", sortable:true }, - { key:"bug", label:"Bug", sortable:true }, - { key:"created", label:"Created", sortable:true } - ]; - var requestee_fields = [ - { key:"requester" }, - { key:"flag" }, - { key:"bug" }, - { key:"created" } - ]; - var product_column_defs = [ - { key:"count", label:"Count", sortable:true }, - { key:"product", label:"Product", sortable:true } - ]; - var product_fields = [ - { key:"count", parser:"number" }, - { key:"product" } - ]; - addStatListener("requestee_container", "requestee_table", requestee_column_defs, requestee_fields, { - paginator: new YAHOO.widget.Paginator({ rowsPerPage: 25, alwaysVisible: false }) - }); - addStatListener("requester_container", "requester_table", requester_column_defs, requester_fields, { - paginator: new YAHOO.widget.Paginator({ rowsPerPage: 25, alwaysVisible: false }) - }); - addStatListener("activeproducts", "activeproducts_table", product_column_defs, product_fields, { - paginator: new YAHOO.widget.Paginator({ rowsPerPage: 25, alwaysVisible: false }) - }); - --> - </script> - - [% FOREACH r = standard_results %] - [% PROCESS query_results r = r %] - [% END %] - - <div class="query_heading"> - <a name="requestee">Open Issues with Flags Requested of You</a> - </div> - <span class="back_top"> - (<a href="#top">back to top</a>) - </span> - <br> - <div id="requestee_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 html %]</td> - </tr> - [% END %] - </tbody> - </table> - </div> - - <hr> - - <div class="query_heading"> - <a name="requester">Open Issues with Flags You Have Requested</a> - </div> - <span class="back_top"> - (<a href="#top">back to top</a>) - </span> - <div id="requester_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 html %]</td> - </tr> - [% END %] - </table> - </tbody> - </div> - - <hr> - - <div class="query_heading"> - <a name="products">Active Products with Open [% terms.Bugs %]</a> - </div> - <span class="back_top"> - (<a href="#top">back to top</a>) - </span> - <br> - <div id="activeproducts"> - <table id="activeproducts_table" cellspacing="0" cellpadding="4" width="100%"> - <thead> - <tr bgcolor="#dedede"> - <th>Count</th> - <th>Product</th> - </tr> - </thead> - <tbody> - [% FOREACH product = products %] - <tr class="bz_bugitem [%+ loop.count() % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> - <td align="right">[% product.count FILTER html %]</td> - <td><a href="buglist.cgi?product=[% product.product FILTER uri %][% products_buffer FILTER none %]"> - [% product.product FILTER html %]</a></td> - </tr> - [% END %] - </tbody> - </table> - </div> - - <hr> - - [% FOREACH r = saved_results %] - [% PROCESS query_results r = r %] - [% END %] - </div> -</div> - -[% PROCESS global/footer.html.tmpl %] - -[% BLOCK query_results %] - <script> - <!-- - addStatListener("[% r.name FILTER js %]_container", "[% r.name FILTER js %]_table", query_column_defs, query_fields, { - paginator: new YAHOO.widget.Paginator({ rowsPerPage: 25, alwaysVisible: false }) - }); - --> - </script> - - <div class="query_heading"> - <a name="[% r.name FILTER uri %]">[% r.heading FILTER html %]</a> - </div> - [% IF r.description %] - <div class="query_description"> - [% r.description FILTER html %] - </div> - [% END %] - <span class="bugs_found"> - [% r.bugs.size FILTER html %] [% terms.bugs %] found. - </span> - <span class="bug_list"> - (<a href="[% urlbase FILTER none %]buglist.cgi?[% r.buffer FILTER none %]">show list</a>) - </span> - <span class="back_top"> - (<a href="#top">back to top</a>) - </span> - <br> - <div id="[% r.name FILTER html %]_container"> - <table id="[% r.name FILTER html %]_table" cellspacing="0" cellpadding="3" width="100%"> - <thead> - <tr> - <th>ID</th> - <th>Product</th> - <th>Version</th> - <th>Component</th> - <th>Status</th> - <th>Severity</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><a href="buglist.cgi?product=[% bug.product FILTER uri %][% products_buffer FILTER none %]">[% bug.product FILTER html %]</a></td> - <td>[% bug.version FILTER html %]</td> - <td>[% bug.component FILTER html %]</td> - <td align="center">[% bug.bug_status FILTER html %]</td> - <td align="center">[% bug.bug_severity FILTER html %]</td> - <td>[% bug.short_desc FILTER html %]</td> - </tr> - [% END %] - </tbody> - </table> - </div> - <hr> -[% END %] diff --git a/extensions/MyDashboard/web/styles/mydashboard.css b/extensions/MyDashboard/web/styles/mydashboard.css index 7000afa65..8128be2e7 100644 --- a/extensions/MyDashboard/web/styles/mydashboard.css +++ b/extensions/MyDashboard/web/styles/mydashboard.css @@ -8,56 +8,24 @@ #mydashboard .yui-skin-sam .yui-dt table { width:100%; } -#mydashboard #query-links { - display: table; - padding-left: 1ex; - padding-right:1ex; -} -#mydashboard #links-standard, -#mydashboard #links-saved, -#mydashboard #links-special { - display: table-row; - list-style-type: none; -} -#mydashboard .label { - display: table-cell; - white-space: nowrap; - vertical-align: top; - padding-right: 1ex; - font-weight: bold; -} -#mydashboard .links { - display: table-cell; - vertical-align: top; -} -#mydashboard .separator { - color: #000000; -} + #mydashboard .query_heading { font-size: 18px; font-weight: strong; + padding-bottom: 5px; color: rgb(72, 72, 72); } + #mydashboard .query_description { font-size: 90%; font-style: italic; padding-bottom: 5px; color: rgb(109, 117, 129); } -#mydashboard .bug_list, -#mydashboard .back_top { - font-size: 80%; -} -#mydashboard table { - margin-bottom: 10px; -} -#mydashboard hr { - color: #000; - background-color: #000; - border: 0; - height: 1px; - width: 100%; +#mydashboard .bugs_found, +#mydashboard .flags_found { + font-size: 80%; } #mydashboard_container { |