From 06e7baa3fb12979c60b6c5ba59322d33a73e3e58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Buclin?= <LpSolit@gmail.com>
Date: Wed, 24 Feb 2010 13:39:34 +0100
Subject: [PATCH] Bug 547496: Add IDs to some form elements r=pyrzak a=LpSolit

---
 template/en/default/admin/admin.html.tmpl  | 26 +++++++++++-----------
 template/en/default/global/tabs.html.tmpl  |  8 +++++--
 template/en/default/reports/menu.html.tmpl | 11 ++++-----
 3 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/template/en/default/admin/admin.html.tmpl b/template/en/default/admin/admin.html.tmpl
index 15f126ba5..2606b1c5e 100644
--- a/template/en/default/admin/admin.html.tmpl
+++ b/template/en/default/admin/admin.html.tmpl
@@ -37,39 +37,39 @@
     <td class="admin_links">
       <dl>
         [% class = user.in_group('tweakparams') ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="editparams.cgi">Parameters</a></dt>
+        <dt id="parameters" class="[% class %]"><a href="editparams.cgi">Parameters</a></dt>
         <dd class="[% class %]">Set core parameters of the installation. That's the
         place where you specify the URL to access this installation, determine how
         users authenticate, choose which [% terms.bug %] fields to display, select
         the mail transfer agent to send email notifications, choose which group of
         users can use charts and share queries, and much more.</dd>
 
-        <dt class="[% class %]"><a href="editsettings.cgi">Default Preferences</a></dt>
+        <dt id="preferences" class="[% class %]"><a href="editsettings.cgi">Default Preferences</a></dt>
         <dd class="[% class %]">Set the default user preferences. These are the values
         which will be used by default for all users. Users will be able to edit their
         own preferences from the <a href="userprefs.cgi?tab=settings">Preferences</a>.</dd>
 
         [% class = user.in_group('editcomponents') ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="sanitycheck.cgi">Sanity Check</a></dt>
+        <dt id="sanitycheck" class="[% class %]"><a href="sanitycheck.cgi">Sanity Check</a></dt>
         <dd class="[% class %]">Run sanity checks to locate problems in your database.
         This may take several tens of minutes depending on the size of your installation.
         You can also automate this check by running <tt>sanitycheck.pl</tt> from a cron job.
         A notification will be sent per email to the specified user if errors are detected.</dd>
 
         [% class = (user.in_group('editusers') || user.can_bless) ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="editusers.cgi">Users</a></dt>
+        <dt id="users" class="[% class %]"><a href="editusers.cgi">Users</a></dt>
         <dd class="[% class %]">Create new user accounts or edit existing ones. You can
         also add and remove users from groups (also known as "user privileges").</dd>
 
         [% class = (Param('useclassification') && user.in_group('editclassifications')) ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="editclassifications.cgi">Classifications</a></dt>
+        <dt id="classifications" class="[% class %]"><a href="editclassifications.cgi">Classifications</a></dt>
         <dd class="[% class %]">If your installation has to manage many products at once,
         it's a good idea to group these products into distinct categories. This lets users
         find information more easily when doing searches or when filing new [% terms.bugs %].</dd>
 
         [% class = (user.in_group('editcomponents')
                     || user.get_products_by_permission("editcomponents").size) ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="editproducts.cgi">Products</a></dt>
+        <dt id="products" class="[% class %]"><a href="editproducts.cgi">Products</a></dt>
         <dd class="[% class %]">Edit all aspects of products, including group restrictions
         which let you define who can access [% terms.bugs %] being in these products. You
         can also edit some specific attributes of products such as
@@ -77,7 +77,7 @@
         and <a href="editmilestones.cgi">milestones</a> directly.</dd>
 
         [% class = user.in_group('editcomponents') ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="editflagtypes.cgi">Flags</a></dt>
+        <dt id="flags" class="[% class %]"><a href="editflagtypes.cgi">Flags</a></dt>
         <dd class="[% class %]">A flag is a custom 4-states attribute of [% terms.bugs %]
         and/or attachments. These states are: granted, denied, requested and undefined.
         You can set as many flags as desired per [% terms.bug %], and define which users
@@ -88,7 +88,7 @@
     <td class="admin_links">
       <dl>
         [% class = user.in_group('admin') ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="editfields.cgi">Custom Fields</a></dt>
+        <dt id="custom_fields" class="[% class %]"><a href="editfields.cgi">Custom Fields</a></dt>
         <dd class="[% class %]">[% terms.Bugzilla %] lets you define fields which are
         not implemented by default, based on your local and specific requirements.
         These fields can then be used as any other field, meaning that you can set
@@ -97,29 +97,29 @@
         interface more complex and harder to use. Be sure you have investigated other ways
         to satisfy your needs before doing this.</dd>
 
-        <dt class="[% class %]"><a href="editvalues.cgi">Field Values</a></dt>
+        <dt id="field_values" class="[% class %]"><a href="editvalues.cgi">Field Values</a></dt>
         <dd class="[% class %]">Define legal values for fields whose values must belong
         to some given list. This is also the place where you define legal values for some
         types of custom fields.</dd>
 
-        <dt class="[% class %]"><a href="editworkflow.cgi">[%terms.Bug %] Status Workflow</a></dt>
+        <dt id="status_workflow" class="[% class %]"><a href="editworkflow.cgi">[%terms.Bug %] Status Workflow</a></dt>
         <dd class="[% class %]">Customize your workflow and choose initial [% terms.bug %]
         statuses available on [% terms.bug %] creation and allowed [% terms.bug %] status
         transitions when editing existing [% terms.bugs %].</dd>
 
         [% class = user.in_group('creategroups') ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="editgroups.cgi">Groups</a></dt>
+        <dt id="groups" class="[% class %]"><a href="editgroups.cgi">Groups</a></dt>
         <dd class="[% class %]">Define groups which will be used in the installation.
         They can either be used to define new user privileges or to restrict the access
         to some [% terms.bugs %].</dd>
 
         [% class = user.in_group('editkeywords') ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="editkeywords.cgi">Keywords</a></dt>
+        <dt id="keywords" class="[% class %]"><a href="editkeywords.cgi">Keywords</a></dt>
         <dd class="[% class %]">Set keywords to be used with [% terms.bugs %]. Keywords
         are an easy way to "tag" [% terms.bugs %] to let you find them more easily later.</dd>
 
         [% class = user.in_group('bz_canusewhines') ? "" : "forbidden" %]
-        <dt class="[% class %]"><a href="editwhines.cgi">Whining</a></dt>
+        <dt id="whining" class="[% class %]"><a href="editwhines.cgi">Whining</a></dt>
         <dd class="[% class %]">Set queries which will be run at some specified date
         and time, and get the result of these queries directly per email. This is a
         good way to create reminders and to keep track of the activity in your installation.</dd>
diff --git a/template/en/default/global/tabs.html.tmpl b/template/en/default/global/tabs.html.tmpl
index 4f363c222..85556c482 100644
--- a/template/en/default/global/tabs.html.tmpl
+++ b/template/en/default/global/tabs.html.tmpl
@@ -35,9 +35,13 @@
 
       [% FOREACH tab = tabs %]
         [% IF tab.name == current_tab_name %]
-          <td class="selected">[% tab.label FILTER html %]</td>
+          <td id="tab_[% tab.name FILTER html %]" class="selected">
+            [% tab.label FILTER html %]</td>
         [% ELSE %]
-          <td class="clickable_area" onClick="document.location='[% tab.link FILTER html %]'"><a href="[% tab.link FILTER html %]">[% tab.label FILTER html %]</a></td>
+          <td id="tab_[% tab.name FILTER html %]" class="clickable_area"
+              onClick="document.location='[% tab.link FILTER html %]'">
+            <a href="[% tab.link FILTER html %]">[% tab.label FILTER html %]</a>
+          </td>
         [% END %]
       [% END %]
 
diff --git a/template/en/default/reports/menu.html.tmpl b/template/en/default/reports/menu.html.tmpl
index 12c95d93e..5f26ac335 100644
--- a/template/en/default/reports/menu.html.tmpl
+++ b/template/en/default/reports/menu.html.tmpl
@@ -28,6 +28,7 @@
 [% PROCESS global/header.html.tmpl
   title = "Reporting and Charting Kitchen"
   doc_section = "reporting.html"
+  style_urls = ['skins/standard/reports.css']
 %]
 
 <p>
@@ -38,18 +39,18 @@
 <h2>Current State</h2>
 
 <ul>
-  <li>
+  <li id="report_search">
     <strong><a href="query.cgi">Search</a></strong> -
     list sets of [% terms.bugs %].
   </li>
-  <li>
+  <li id="report_tabular">
     <strong>
       <a href="query.cgi?format=report-table">Tabular reports</a>
     </strong> -
     tables of [% terms.bug %] counts in 1, 2 or 3 dimensions, as HTML or CSV.
   </li>
   [% IF feature_enabled('graphical_reports') %]
-    <li>
+    <li id="report_graphical">
       <strong>
         <a href="query.cgi?format=report-graph">Graphical reports</a>
       </strong> -
@@ -64,14 +65,14 @@
 
   <ul>
     [% IF feature_enabled('old_charts') %]
-      <li>
+      <li id="old_charts">
         <strong><a href="reports.cgi">Old Charts</a></strong> - 
         plot the status and/or resolution of [% terms.bugs %] against
         time, for each product in your database.
       </li>
     [% END %]
     [% IF feature_enabled('new_charts') AND user.in_group(Param("chartgroup")) %]
-      <li>
+      <li id="new_charts">
         <strong><a href="chart.cgi">New Charts</a></strong> - 
         plot any arbitrary search against time. Far more powerful.
       </li>
-- 
2.24.1