From ba702dcd7ac9b2e6c4d46ad21c7bfacfd6883189 Mon Sep 17 00:00:00 2001 From: Dexter Morgan Date: Wed, 20 Feb 2013 16:07:49 +0000 Subject: Add 4.0 branch --- .../patches/bugzilla-add-easy-report-page.patch | 629 +++++++++++ .../en/default/account/auth/login-small.html.tmpl | 9 +- .../en/default/account/email/confirm-new.html.tmpl | 11 +- .../password/set-forgotten-password.html.tmpl | 1 + template/en/default/account/prefs/email.html.tmpl | 84 +- template/en/default/account/prefs/prefs.html.tmpl | 4 +- .../default/account/prefs/saved-searches.html.tmpl | 16 +- .../en/default/admin/classifications/add.html.tmpl | 23 +- .../admin/classifications/edit-common.html.tmpl | 47 + .../default/admin/classifications/edit.html.tmpl | 24 +- .../en/default/admin/components/create.html.tmpl | 64 +- .../default/admin/components/edit-common.html.tmpl | 86 ++ .../en/default/admin/components/edit.html.tmpl | 66 +- .../en/default/admin/custom_fields/cf-js.js.tmpl | 20 +- .../default/admin/custom_fields/create.html.tmpl | 42 +- .../en/default/admin/custom_fields/edit.html.tmpl | 47 +- .../en/default/admin/custom_fields/list.html.tmpl | 4 + .../en/default/admin/fieldvalues/create.html.tmpl | 3 + .../en/default/admin/fieldvalues/edit.html.tmpl | 11 +- .../en/default/admin/params/advanced.html.tmpl | 31 + .../en/default/admin/params/attachment.html.tmpl | 2 +- template/en/default/admin/params/auth.html.tmpl | 4 +- .../en/default/admin/params/bugchange.html.tmpl | 10 +- .../en/default/admin/params/bugfields.html.tmpl | 5 - template/en/default/admin/params/common.html.tmpl | 79 +- .../default/admin/params/dependencygraph.html.tmpl | 4 +- .../en/default/admin/params/editparams.html.tmpl | 2 +- template/en/default/admin/params/general.html.tmpl | 2 +- template/en/default/admin/params/index.html.tmpl | 2 +- template/en/default/admin/params/mta.html.tmpl | 12 +- template/en/default/admin/params/radius.html.tmpl | 8 +- .../en/default/admin/params/usermatch.html.tmpl | 3 + .../en/default/admin/products/create.html.tmpl | 9 +- .../default/admin/products/edit-common.html.tmpl | 33 +- .../admin/products/list-classifications.html.tmpl | 13 +- template/en/default/admin/products/list.html.tmpl | 34 +- .../en/default/admin/products/updated.html.tmpl | 84 +- .../default/admin/sanitycheck/messages.html.tmpl | 60 +- template/en/default/admin/sudo.html.tmpl | 3 +- template/en/default/admin/table.html.tmpl | 2 +- .../default/admin/users/confirm-delete.html.tmpl | 23 +- .../default/admin/users/responsibilities.html.tmpl | 4 + template/en/default/admin/users/userdata.html.tmpl | 5 +- template/en/default/attachment/create.html.tmpl | 8 +- .../attachment/createformcontents.html.tmpl | 18 +- template/en/default/attachment/diff-file.html.tmpl | 4 +- .../en/default/attachment/diff-header.html.tmpl | 8 +- template/en/default/attachment/edit.html.tmpl | 343 +++--- template/en/default/attachment/list.html.tmpl | 32 +- .../en/default/attachment/show-multiple.html.tmpl | 2 +- template/en/default/bug/activity/table.html.tmpl | 8 +- template/en/default/bug/comments.html.tmpl | 93 +- .../en/default/bug/create/comment-guided.txt.tmpl | 8 +- .../en/default/bug/create/create-guided.html.tmpl | 200 ++-- template/en/default/bug/create/create.html.tmpl | 359 ++++--- template/en/default/bug/dependency-tree.html.tmpl | 2 +- template/en/default/bug/edit.html.tmpl | 219 ++-- template/en/default/bug/field-events.js.tmpl | 4 + template/en/default/bug/field-help.none.tmpl | 241 +++++ template/en/default/bug/field-label.html.tmpl | 52 + template/en/default/bug/field.html.tmpl | 111 +- template/en/default/bug/format_comment.txt.tmpl | 12 +- template/en/default/bug/navigate.html.tmpl | 64 +- template/en/default/bug/process/header.html.tmpl | 4 +- template/en/default/bug/process/midair.html.tmpl | 4 +- template/en/default/bug/process/results.html.tmpl | 3 +- .../bug/process/verify-new-product.html.tmpl | 32 +- template/en/default/bug/show-header.html.tmpl | 9 +- template/en/default/bug/show-multiple.html.tmpl | 13 +- template/en/default/bug/show.xml.tmpl | 8 +- template/en/default/bug/summarize-time.html.tmpl | 22 +- template/en/default/config.rdf.tmpl | 27 +- template/en/default/email/newchangedmail.txt.tmpl | 66 +- template/en/default/email/whine.txt.tmpl | 13 +- template/en/default/extensions/web-readme.txt.tmpl | 29 + template/en/default/filterexceptions.pl | 31 +- template/en/default/flag/list.html.tmpl | 77 +- template/en/default/global/code-error.html.tmpl | 63 +- template/en/default/global/common-links.html.tmpl | 5 +- .../en/default/global/confirm-action.html.tmpl | 1 + .../en/default/global/confirm-user-match.html.tmpl | 7 +- template/en/default/global/field-descs.none.tmpl | 13 +- template/en/default/global/footer.html.tmpl | 6 +- template/en/default/global/header.html.tmpl | 240 +++-- template/en/default/global/help.html.tmpl | 5 +- template/en/default/global/hidden-fields.html.tmpl | 2 +- template/en/default/global/messages.html.tmpl | 25 +- .../en/default/global/per-bug-queries.html.tmpl | 1 + template/en/default/global/reason-descs.none.tmpl | 40 + template/en/default/global/setting-descs.none.tmpl | 3 + .../en/default/global/site-navigation.html.tmpl | 13 +- template/en/default/global/textarea.html.tmpl | 6 + template/en/default/global/user-error.html.tmpl | 272 +++-- template/en/default/global/userselect.html.tmpl | 50 +- template/en/default/global/value-descs.js.tmpl | 33 + template/en/default/global/variables.none.tmpl | 2 + template/en/default/index.html.tmpl | 11 +- template/en/default/list/change-columns.html.tmpl | 38 +- template/en/default/list/edit-multiple.html.tmpl | 79 +- template/en/default/list/list-simple.html.tmpl | 3 +- template/en/default/list/list.html.tmpl | 6 +- template/en/default/list/list.ics.tmpl | 2 +- template/en/default/list/list.rdf.tmpl | 2 +- template/en/default/list/quips.html.tmpl | 7 +- template/en/default/list/table.html.tmpl | 17 +- template/en/default/pages/fields.html.tmpl | 327 ++---- template/en/default/pages/quicksearch.html.tmpl | 12 +- template/en/default/pages/release-notes.html.tmpl | 1096 +++++++++++++++++++- template/en/default/reports/components.html.tmpl | 5 +- .../en/default/reports/duplicates-simple.html.tmpl | 4 + template/en/default/reports/duplicates.html.tmpl | 8 +- template/en/default/reports/edit-series.html.tmpl | 2 + template/en/default/reports/keywords.html.tmpl | 5 +- template/en/default/reports/old-charts.html.tmpl | 2 +- template/en/default/request/email.txt.tmpl | 3 +- template/en/default/request/queue.html.tmpl | 34 +- .../en/default/search/boolean-charts.html.tmpl | 27 +- template/en/default/search/field.html.tmpl | 142 +++ template/en/default/search/form.html.tmpl | 704 +++++-------- .../en/default/search/search-advanced.html.tmpl | 29 +- .../default/search/search-create-series.html.tmpl | 5 +- .../default/search/search-report-graph.html.tmpl | 17 +- .../default/search/search-report-select.html.tmpl | 8 +- .../default/search/search-report-table.html.tmpl | 23 +- template/en/default/setup/strings.txt.pl | 22 + template/en/default/sidebar.xul.tmpl | 5 +- template/en/default/welcome-admin.html.tmpl | 12 +- template/en/default/whine/mail.html.tmpl | 59 +- template/en/default/whine/mail.txt.tmpl | 15 +- 129 files changed, 4590 insertions(+), 2679 deletions(-) create mode 100644 template/en/default/4.0.2/patches/bugzilla-add-easy-report-page.patch create mode 100644 template/en/default/admin/classifications/edit-common.html.tmpl create mode 100644 template/en/default/admin/components/edit-common.html.tmpl create mode 100644 template/en/default/bug/field-help.none.tmpl create mode 100644 template/en/default/bug/field-label.html.tmpl create mode 100644 template/en/default/extensions/web-readme.txt.tmpl create mode 100644 template/en/default/global/reason-descs.none.tmpl create mode 100644 template/en/default/global/value-descs.js.tmpl create mode 100644 template/en/default/search/field.html.tmpl diff --git a/template/en/default/4.0.2/patches/bugzilla-add-easy-report-page.patch b/template/en/default/4.0.2/patches/bugzilla-add-easy-report-page.patch new file mode 100644 index 0000000..5bbf52e --- /dev/null +++ b/template/en/default/4.0.2/patches/bugzilla-add-easy-report-page.patch @@ -0,0 +1,629 @@ +=== modified file 'template/en/default/bug/create/create-guided.html.tmpl' +--- template/en/default/bug/create/create-guided.html.tmpl 2011-07-26 09:16:15 +0000 ++++ template/en/default/bug/create/create-guided.html.tmpl 2011-11-15 00:37:40 +0000 +@@ -36,22 +36,11 @@ + + [% style = "" %] + +-

+- +- This is a template used on mozilla.org. This template, and the +- comment-guided.txt.tmpl template that formats the data submitted via +- the form in this template, are included as a demo of what it's +- possible to do with custom templates in general, and custom [% terms.bug %] +- entry templates in particular. As much of the text will not apply, +- you should alter it +- if you want to use this form on your [% terms.Bugzilla %] installation. +- +-

+- +-[% tablecolour = "#FFFFCC" %] ++[% tablecolour = "#efefef" %] + + [%# This script displays the descriptions for selected components. %] + + +-

Step 1 of 3 - has your [% terms.bug %] already been reported?

+- +-

+- Please don't skip this step - half of all +- [% terms.bugs %] filed are +- reported already. +- Check the two lists of frequently-reported [% terms.bugs %]: +-

+- +-[%# Include other products if sensible %] +-[% IF product.name == "Firefox" %] +- [% productstring = "product=Mozilla%20Application%20Suite&product=Firefox" %] +-[% ELSIF product.name == "Thunderbird" %] +- [% productstring = "product=Mozilla%20Application%20Suite&product=Thunderbird" %] +-[% ELSE %] +- [% productstring = BLOCK %]product=[% product.name FILTER url_quote %][% END %] +-[% END %] +- +-

+- All-time Top 100 (loaded initially) | +- Hot in the last two weeks +-

+- +- +- +-

+- If your [% terms.bug %] isn't there, search [% terms.Bugzilla %] by entering +- a few key words having to do with your [% terms.bug %] in this box. +- For example: pop3 mail or copy paste. +- The results will appear above. +-

+- +-[%# All bugs opened inside the past six months %] +-
+- +- +- +- +- [% IF product.name == "Firefox" OR +- product.name == "Thunderbird" OR +- product.name == "Mozilla Application Suite" OR +- product.name == "Camino" %] +- +- +- +- +- +- [% END %] +- +- +- +- +- +-
+- +-

+- Look through the search results. If you get the +- [% terms.zeroSearchResults %] message, [% terms.Bugzilla %] +- found no [% terms.bugs %] that +- match. Check for typing mistakes, or try fewer or different keywords. +- If you find [% terms.abug %] that looks the same as yours, please add +- any useful extra information you have to it, rather than opening a new one. +-

+- +- +-

Step 2 of 3 - give information

+- +-

+- If you've tried a few searches and your [% terms.bug %] really isn't in +- there, tell us all about it. +-

+- +-
++

   Submit [% terms.abug %] using the ++expert [% terms.bug %] form.

++ ++ ++ + +- + +- + ++ + + + +- +- ++ + + + + +- + - + @@ -52,7 +55,7 @@ - +
+- Product ++
++ Product: + + +- [% product.name FILTER html %] ++ [% product.name FILTER html %] +
+- Component ++ ++ Component: + + + + + + ++ ++ ++ ++ ++ + [%# We override rep_platform and op_sys for simplicity. The values chosen + are based on which are most common in the b.m.o database %] +- [% rep_platform = [ "PC", "Macintosh", "All", "Other" ] %] ++ [% rep_platform = [ "All", "i586", "x86_64" ] %] + +- +- ++ + + + +- [% op_sys = [ "Windows 2000", "Windows XP", "Windows Vista", "Windows 7", +- "Mac OS X", "Linux", "All", "Other" ] %] +- + +- +- +- +- +- [% IF product.name.match("Firefox|Camino|Mozilla Application Suite") %] +- [% matches = cgi.user_agent('Gecko/(\d+)') %] +- [% buildid = cgi.user_agent() IF matches %] +- [% END %] +- +- [%# Accept URL parameter build ID for non-browser products %] +- [% IF cgi.param("buildid") %] +- [% buildid = cgi.param("buildid") %] +- [% END %] +- +- +- +- ++ + + + +- + + + +- +- ++ + + + + +- + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ++ + + ++ ++ ++ ++ + + [% Hook.process('form') %] +
+
++ Version: ++ ++ ++
+- Hardware Platform ++
++ Hardware Platform: + + [% PROCESS select sel = 'rep_platform' %] +
+- Operating System +- +- [% PROCESS select sel = 'op_sys' %] +-
+- Build Identifier +- +- +-

+- This should identify the exact version of the product you were using. +- If the above field is blank or you know it is incorrect, copy the +- version text from the product's Help | +- About menu (for browsers this will begin with "Mozilla/5.0..."). +- If the product won't start, instead paste the complete URL you downloaded +- it from. ++

++ Source RPM: ++ ++ ++

++ This is where you can identify exactly which RPM package is involved in this [% terms.bug %] report. For instance, ++ if you know the problem you are having is with the program mysqld, then execute ++ rpm -qif /usr/sbin/mysqld. This will tell you the name and version of the RPM ++ package (i.e. MySQL-5.0.27-1mga1) as well as other information. In particular, you are looking for ++ the "Source RPM" field (i.e. MySQL-5.0.27-1mga1.src.rpm) -- this is the information you should ++ provide here. Alternatively, you may use rpm -qf /usr/sbin/mysqld --qf '%{SOURCERPM}\n' to ++ obtain the information. If you do not know the location of the program in question, use rpm -qf `which mysqld` ++ to obtain it. Please enter that information above. +

+
+- URL ++ ++ URL: + + +

+- URL that demonstrates the problem you are seeing (optional).
+- IMPORTANT: if the problem is with a broken web page, you need +- to report it +- a different way. ++ URL that demonstrates the problem you are submitting (optional). +

+
+- Summary ++
++ Summary: + + +

+- A sentence which summarises the problem. ++ A sentence that summarizes the problem. + Please be descriptive and use lots of keywords. +

+

+@@ -298,149 +304,62 @@ +
+ + Good example: +- crash if I close the mail window while checking for new POP mail ++ crash in Evolution while checking for new POP mail + +

+
+- Details ++ ++ Details: + + [% INCLUDE global/textarea.html.tmpl + name = 'comment' +- minrows = 6 ++ minrows = 10 ++ maxrows = 25 + cols = constants.COMMENT_COLS ++ defaultcontent = "Description of problem:\n\n\nVersion-Release number of selected component (if applicable):\n\n\nHow reproducible:\n\n\nSteps to Reproduce:\n1.\n2.\n3.\n" + %] ++ [% IF user.is_insider %] ++
   ++ ++ ++ [% END %] ++ +

+ Expand on the Summary. Please be + as specific as possible about what is wrong. +

+

+ +- Bad example: Mozilla crashed. +- You suck! ++ Bad example: I can't seem to login to the system. Please help! + +
+ +- Good example: After a crash which +- happened when I was sorting in the Bookmark Manager,
all of my +- top-level bookmark folders beginning with the letters Q to Z are +- no longer present. ++ Good example:

++ Description of problem:

++ I'm unable to login to the system via ssh. The /var/log/messages ++ log indicates there is a problem with the pam module pam_ldap, but the /etc/pam.d/system-auth file doesn't ++ contain that module and I'm not using LDAP. I looked at /etc/pam.d/sshd and it does contain that module but I'm ++ not sure how it got there, unless it was due to the super-spiffy super-ldap-mojo package I installed yesterday.

++ Version-Release number of selected component (if applicable):

++ openldap-2.3.34-5mga1, pam-0.99.7.1-2mga1

++ How reproducible:

++ Every time I attempt to login.

++ Steps to Reproduce:
++ 1. ssh user@host
++ 2. see the rejection
+
+

+
+- Reproducibility +- +- +-
+- Steps to Reproduce +- +- [% INCLUDE global/textarea.html.tmpl +- name = 'reproduce_steps' +- minrows = 4 +- cols = constants.COMMENT_COLS +- defaultcontent = "1.\n2.\n3." +- %] +-

+- Describe how to reproduce the problem, step by +- step. Include any special setup steps. +-

+-
+- Actual Results +- +- [% INCLUDE global/textarea.html.tmpl +- name = 'actual_results' +- minrows = 4 +- cols = constants.COMMENT_COLS +- %] +-

+- What happened after you performed the steps above? +-

+-
+- Expected Results +- +- [% INCLUDE global/textarea.html.tmpl +- name = 'expected_results' +- minrows = 4 +- cols = constants.COMMENT_COLS +- %] +-

+- What should the software have done instead? +-

+-
+- Additional Information +- +- [% INCLUDE global/textarea.html.tmpl +- name = 'additional_info' +- minrows = 8 +- cols = constants.COMMENT_COLS +- %] +-

+- Add any additional information you feel may be +- relevant to this [% terms.bug %], such as the theme you were +- using (does the [% terms.bug %] still occur +- with the default theme?), a +- Talkback crash ID, or special +- information about your computer's configuration. Any information +- longer than a few lines, such as a stack trace or HTML +- testcase, should be added +- using the "Add an Attachment" link on the [% terms.bug %], after +- it is filed. If you believe that it's relevant, please also include +- your build configuration, obtained by typing about:buildconfig +- into your URL bar. +-
+-
+- If you are reporting a crash, note the module in +- which the software crashed (e.g., Application Violation in +- gkhtml.dll). +-

+-
+- Severity ++
++ Severity: + + +

+- Say how serious the problem is, or if your [% terms.bug %] is a ++ Indicate how serious the problem is, or if your [% terms.bug %] is a + request for a new feature. +

+
++ Assign To: ++ ++ [% INCLUDE global/userselect.html.tmpl ++ id => "assigned_to" ++ name => "assigned_to" ++ value => "" ++ emptyok => 1 ++ size => 32 ++ %] ++

Leave the above blank to assign to the default component owner.

++
+ +- +-

Step 3 of 3 - submit the [% terms.bug %] report

+- +

+ +@@ -488,17 +419,9 @@ + +

+ That's it! Thanks very much. You'll be notified by email about any +- progress that is made on fixing your [% terms.bug %]. +- +-

+- Please be warned +- that we get a lot of [% terms.bug %] reports filed - it may take quite a +- while to get around to yours. You can help the process by making sure your +- [%+ terms.bug %] is +- complete and easy to understand, and by quickly replying to any questions +- which may arrive by email. ++ progress that is made on fixing your [% terms.bug %]. ++ Thank you for choosing Mageia! +

+- + + + [% PROCESS global/footer.html.tmpl %] + +=== modified file 'template/en/default/filterexceptions.pl' +--- template/en/default/filterexceptions.pl 2010-10-20 12:05:31 +0000 ++++ template/en/default/filterexceptions.pl 2011-11-15 00:38:16 +0000 +@@ -317,7 +317,6 @@ + 'bug/create/create-guided.html.tmpl' => [ + 'tablecolour', + 'sel', +- 'productstring', + ], + + 'bug/activity/table.html.tmpl' => [ + diff --git a/template/en/default/account/auth/login-small.html.tmpl b/template/en/default/account/auth/login-small.html.tmpl index 34e5ff9..356edbc 100644 --- a/template/en/default/account/auth/login-small.html.tmpl +++ b/template/en/default/account/auth/login-small.html.tmpl @@ -32,7 +32,12 @@
  • | - Log In
  • : + + (minimum [% constants.USER_PASSWORD_MIN_LENGTH FILTER none %] characters) +
    :
     
    diff --git a/template/en/default/account/password/set-forgotten-password.html.tmpl b/template/en/default/account/password/set-forgotten-password.html.tmpl index ca134a4..a2ae517 100644 --- a/template/en/default/account/password/set-forgotten-password.html.tmpl +++ b/template/en/default/account/password/set-forgotten-password.html.tmpl @@ -33,6 +33,7 @@ New Password: + (minimum [% constants.USER_PASSWORD_MIN_LENGTH FILTER none %] characters) diff --git a/template/en/default/account/prefs/email.html.tmpl b/template/en/default/account/prefs/email.html.tmpl index a4d22db..96a111b 100644 --- a/template/en/default/account/prefs/email.html.tmpl +++ b/template/en/default/account/prefs/email.html.tmpl @@ -35,9 +35,6 @@ [% PROCESS global/variables.none.tmpl %] -[% useqacontact = Param('useqacontact') %] -[% usevotes = Param('usevotes') %] -

    If you don't like getting a notification for "trivial" changes to [% terms.bugs %], you can use the settings below to @@ -80,8 +77,8 @@ document.write(' + [% " checked" + IF user.mail_settings.${constants.REL_ANY}.${constants.EVT_FLAG_REQUESTED} %]>
    @@ -92,8 +89,8 @@ document.write(' + [% " checked" + IF user.mail_settings.${constants.REL_ANY}.${constants.EVT_REQUESTED_FLAG} %]>
    @@ -150,21 +147,28 @@ document.write(' - + When my relationship to this [% terms.bug %] is: @@ -174,8 +178,6 @@ document.write(' [% relationship.description FILTER html %] @@ -186,18 +188,16 @@ document.write(' [% FOREACH relationship = relationships %] - [% NEXT IF (relationship.id == constants.REL_QA AND NOT useqacontact) OR - (relationship.id == constants.REL_VOTER AND NOT usevotes) %] @@ -209,8 +209,7 @@ document.write('   @@ -223,13 +222,11 @@ document.write(' [% FOREACH relationship = relationships %] - [% NEXT IF (relationship.id == constants.REL_QA AND NOT useqacontact) OR - (relationship.id == constants.REL_VOTER AND NOT usevotes) %] + [% " checked" IF NOT user.mail_settings.${relationship.id}.${event.id} %]> [% END %] @@ -240,29 +237,6 @@ document.write(' - [% END %] - [% END %] -[% END %] - -[% FOREACH event = neg_events %] - [% FOREACH relationship = relationships %] - [% IF (relationship.id == constants.REL_QA AND NOT useqacontact) OR - (relationship.id == constants.REL_VOTER AND NOT usevotes) %] - - [% END %] - [% END %] -[% END %] -


    User Watching @@ -290,11 +264,17 @@ You are currently not watching any users. [% END %]

    -

    Add users to my watch list (comma separated list): - +

    Add users to my watch list (comma separated list): + [% INCLUDE global/userselect.html.tmpl + id => "new_watchedusers" + name => "new_watchedusers" + value => "" + size => 60 + multiple => 5 + %]

    -

    Users watching you:
    +

    Users watching you:
    [% IF watchers.size %] [% FOREACH watcher = watchers %] [% watcher FILTER html %]
    diff --git a/template/en/default/account/prefs/prefs.html.tmpl b/template/en/default/account/prefs/prefs.html.tmpl index 71e411d..2e7d98c 100644 --- a/template/en/default/account/prefs/prefs.html.tmpl +++ b/template/en/default/account/prefs/prefs.html.tmpl @@ -50,11 +50,13 @@ link => "userprefs.cgi?tab=email", saveable => "1" }, { name => "saved-searches", label => "Saved Searches", link => "userprefs.cgi?tab=saved-searches", saveable => "1" }, - { name => "account", label => "Name and Password", + { name => "account", label => "Account Information", link => "userprefs.cgi?tab=account", saveable => "1" }, { name => "permissions", label => "Permissions", link => "userprefs.cgi?tab=permissions", saveable => "0" } ] %] +[% Hook.process('tabs') %] + [% FOREACH tab IN tabs %] [% IF tab.name == current_tab_name %] [% current_tab = tab %] diff --git a/template/en/default/account/prefs/saved-searches.html.tmpl b/template/en/default/account/prefs/saved-searches.html.tmpl index f128613..6d87ade 100644 --- a/template/en/default/account/prefs/saved-searches.html.tmpl +++ b/template/en/default/account/prefs/saved-searches.html.tmpl @@ -31,9 +31,9 @@ var checkbox = document.getElementById(group.name.replace(/share_(\d+)/, "force_$1")); if (bz_isValueInArray(bless_groups, group.value)) { - checkbox.disabled = false; + YAHOO.util.Dom.removeClass(checkbox.parentNode, "bz_default_hidden"); } else { - checkbox.disabled = true; + YAHOO.util.Dom.addClass(checkbox.parentNode, "bz_default_hidden"); checkbox.checked = false; } } //--> @@ -132,12 +132,12 @@ [% END %] [% IF user.can_bless %] - - + + + + [% END %] [% IF q.shared_with_users %] (shared with [% q.shared_with_users FILTER html %] diff --git a/template/en/default/admin/classifications/add.html.tmpl b/template/en/default/admin/classifications/add.html.tmpl index cd949f2..1a6941f 100644 --- a/template/en/default/admin/classifications/add.html.tmpl +++ b/template/en/default/admin/classifications/add.html.tmpl @@ -24,26 +24,9 @@

    - - - - - - - - - - - - + + [% PROCESS "admin/classifications/edit-common.html.tmpl" %] +
    Classification:
    Description: - [% INCLUDE global/textarea.html.tmpl - name = 'description' - minrows = 4 - cols = 64 - wrap = 'virtual' - %] -

    diff --git a/template/en/default/admin/classifications/edit-common.html.tmpl b/template/en/default/admin/classifications/edit-common.html.tmpl new file mode 100644 index 0000000..e0db008 --- /dev/null +++ b/template/en/default/admin/classifications/edit-common.html.tmpl @@ -0,0 +1,47 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Tiago Rodrigues de Mello + #%] + +[%# INTERFACE: + # classification: Bugzilla::Classifiation object. + #%] + + + Classification: + + + + Description: + + [% INCLUDE global/textarea.html.tmpl + name = 'description' + minrows = 4 + cols = 64 + defaultcontent = classification.description + %] + + + + + + + +[% Hook.process('rows') %] diff --git a/template/en/default/admin/classifications/edit.html.tmpl b/template/en/default/admin/classifications/edit.html.tmpl index 80d7f98..2ef1725 100644 --- a/template/en/default/admin/classifications/edit.html.tmpl +++ b/template/en/default/admin/classifications/edit.html.tmpl @@ -24,27 +24,9 @@ - - - - - - - - - - - - + + [% PROCESS "admin/classifications/edit-common.html.tmpl" %] + + + + + + + + + + + + +[% IF Param('useqacontact') %] + + + + +[% END %] + + + + + +[% Hook.process('rows') %] diff --git a/template/en/default/admin/components/edit.html.tmpl b/template/en/default/admin/components/edit.html.tmpl index 9ddb8ca..be14be0 100644 --- a/template/en/default/admin/components/edit.html.tmpl +++ b/template/en/default/admin/components/edit.html.tmpl @@ -33,73 +33,15 @@ [% END %] [% PROCESS global/header.html.tmpl title = title + yui = [ 'autocomplete' ] + javascript_urls = [ "js/field.js" ] %]
    Classification:
    Description: - [% INCLUDE global/textarea.html.tmpl - name = 'description' - minrows = 4 - cols = 64 - defaultcontent = classification.description - %] -
    diff --git a/template/en/default/admin/components/create.html.tmpl b/template/en/default/admin/components/create.html.tmpl index 86411ad..c3b691d 100644 --- a/template/en/default/admin/components/create.html.tmpl +++ b/template/en/default/admin/components/create.html.tmpl @@ -26,70 +26,16 @@ [% title = BLOCK %]Add component to the [% product.name FILTER html %] product[% END %] [% PROCESS global/header.html.tmpl + yui = [ 'autocomplete' ] + javascript_urls = [ "js/field.js" ] title = title %] - - - - - - - - - - - - -[% IF Param('useqacontact') %] - - - - -[% END %] - - - - + + [% PROCESS "admin/components/edit-common.html.tmpl" %] +
    Component:
    Description: - [% INCLUDE global/textarea.html.tmpl - name = 'description' - minrows = 4 - cols = 64 - wrap = 'virtual' - %] -
    - [% INCLUDE global/userselect.html.tmpl - name => "initialowner" - id => "initialowner" - value => "" - size => 64 - %] -
    - - [% INCLUDE global/userselect.html.tmpl - name => "initialqacontact" - id => "initialqacontact" - value => "" - size => 64 - emptyok => 1 - %] -
    - - - [% INCLUDE global/userselect.html.tmpl - name => "initialcc" - id => "initialcc" - value => "" - size => 64 - multiple => 5 - %] -
    - [% IF !Param("usemenuforusers") %] - Enter user names for the CC list as a comma-separated list. - [% END %] -

    diff --git a/template/en/default/admin/components/edit-common.html.tmpl b/template/en/default/admin/components/edit-common.html.tmpl new file mode 100644 index 0000000..069b56c --- /dev/null +++ b/template/en/default/admin/components/edit-common.html.tmpl @@ -0,0 +1,86 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Tiago Rodrigues de Mello + #%] + +[%# INTERFACE: + # comp: object; Bugzilla::Component object. + #%] + +
    Component:
    Component Description: + [% INCLUDE global/textarea.html.tmpl + name = 'description' + minrows = 4 + cols = 64 + wrap = 'virtual' + defaultcontent = comp.description + %] +
    + [% INCLUDE global/userselect.html.tmpl + name => "initialowner" + id => "initialowner" + value => comp.default_assignee.login + size => 64 + %] +
    + [% INCLUDE global/userselect.html.tmpl + name => "initialqacontact" + id => "initialqacontact" + value => comp.default_qa_contact.login + size => 64 + emptyok => 1 + %] +
    + + + [% INCLUDE global/userselect.html.tmpl + name => "initialcc" + id => "initialcc" + value => initial_cc_names + size => 64 + multiple => 5 + %] +
    + [% IF !Param("usemenuforusers") %] + Enter user names for the CC list as a comma-separated list. + [% END %] +
    - - - - - - - - - - - - -[% IF Param('useqacontact') %] - - - - -[% END %] - - - - - - + [% PROCESS "admin/components/edit-common.html.tmpl" %] + -[% IF Param('usevotes') %] - - - - - - - - -[% END %] +[% Hook.process('rows') %] diff --git a/template/en/default/admin/products/list-classifications.html.tmpl b/template/en/default/admin/products/list-classifications.html.tmpl index 4eddad3..161cc4b 100644 --- a/template/en/default/admin/products/list-classifications.html.tmpl +++ b/template/en/default/admin/products/list-classifications.html.tmpl @@ -27,18 +27,11 @@ title = "Select Classification" %] -[% edit_contentlink = BLOCK %] - editproducts.cgi?classification=%%name%% -[% END %] -[% add_contentlink = BLOCK %] - editproducts.cgi?action=add&classification=%%name%% -[% END %] - [% columns = [ { name => "name" heading => "Edit products of..." - contentlink => edit_contentlink + contentlink => 'editproducts.cgi?classification=%%name%%' }, { name => "description" @@ -57,10 +50,12 @@ [% columns.push({ heading => "Action..." content => "Add product" - contentlink => add_contentlink }) + contentlink => 'editproducts.cgi?action=add&classification=%%name%%' }) %] [% END %] +[% Hook.process('before_table') %] + [% PROCESS admin/table.html.tmpl columns = columns data = classifications diff --git a/template/en/default/admin/products/list.html.tmpl b/template/en/default/admin/products/list.html.tmpl index 57d75d8..93467df 100644 --- a/template/en/default/admin/products/list.html.tmpl +++ b/template/en/default/admin/products/list.html.tmpl @@ -37,22 +37,11 @@ title = "Select product $classification_title" %] -[% edit_contentlink = BLOCK %] - editproducts.cgi?action=edit&product=%%name%% -[% END %] -[% delete_contentlink = BLOCK %] - editproducts.cgi?action=del&product=%%name%% -[% END %] -[% bug_count_contentlink = BLOCK %] - buglist.cgi?product=%%name%% -[% END %] - - [% columns = [ { name => "name" heading => "Edit product..." - contentlink => edit_contentlink + contentlink => 'editproducts.cgi?action=edit&product=%%name%%' }, { name => "description" @@ -64,22 +53,7 @@ heading => "Open For New $terms.Bugs" yesno_field => 1 }, - { - name => "votesperuser" - heading => "Votes Per User" - align => 'right' - }, - { - name => "maxvotesperbug" - heading => "Maximum Votes Per $terms.Bug" - align => 'right' - }, - { - name => "votestoconfirm" - heading => "Votes To Confirm" - align => 'right' - } ] -%] +] %] [% IF showbugcounts %] @@ -87,7 +61,7 @@ name => "bug_count" heading => "$terms.Bug Count" align => 'right' - contentlink => bug_count_contentlink + contentlink => 'buglist.cgi?product=%%name%%' }) %] @@ -96,7 +70,7 @@ [% columns.push({ heading => "Action" content => "Delete" - contentlink => delete_contentlink + contentlink => 'editproducts.cgi?action=del&product=%%name%%' }) %] diff --git a/template/en/default/admin/products/updated.html.tmpl b/template/en/default/admin/products/updated.html.tmpl index c6e8710..4140bab 100644 --- a/template/en/default/admin/products/updated.html.tmpl +++ b/template/en/default/admin/products/updated.html.tmpl @@ -75,33 +75,6 @@ '[% product.default_milestone FILTER html %]'.

    [% END %] - -[% IF changes.votesperuser.defined %] -

    - Updated votes per user from - [%+ changes.votesperuser.0 FILTER html %] to - [%+ product.votes_per_user FILTER html %]. -

    - [% checkvotes = 1 %] -[% END %] - -[% IF changes.maxvotesperbug.defined %] -

    - Updated maximum votes per [% terms.bug %] from - [%+ changes.maxvotesperbug.0 FILTER html %] to - [%+ product.max_votes_per_bug FILTER html %]. -

    - [% checkvotes = 1 %] -[% END %] - -[% IF changes.votestoconfirm.defined %] -

    - Updated number of votes needed to confirm a [% terms.bug %] from - [%+ changes.votestoconfirm.0 FILTER html %] to - [%+ product.votes_to_confirm FILTER html %]. -

    - [% checkvotes = 1 %] -[% END %] [% IF changes.allows_unconfirmed.defined %]

    @@ -121,65 +94,12 @@

    [% END %] +[% Hook.process('changes') %] + [% IF !changes.keys.size %]

    Nothing changed for product '[% product.name FILTER html %]'.

    [% END %] -[%# Note that this display of changed votes and/or confirmed bugs is - not very scalable. We could have a _lot_, and we just list them all. - One day we should limit this perhaps, or have a more scalable display %] - - -[% IF checkvotes %] -
    - -

    Checking existing votes in this product for anybody who now - has too many votes for [% terms.abug %]...
    - [% IF changes.too_many_votes.size %] - [% FOREACH detail = changes.too_many_votes %] - →removed votes for [% terms.bug %] - [%- detail.id FILTER html %] from [% detail.name FILTER html %]
    - [% END %] - [% ELSE %] - →there were none. - [% END %] -

    - -

    Checking existing votes in this product for anybody - who now has too many total votes...
    - [% IF changes.too_many_total_votes.size %] - [% FOREACH detail = changes.too_many_total_votes %] - →removed votes for [% terms.bug %] - [%- detail.id FILTER html %] from [% detail.name FILTER html %]
    - [% END %] - [% ELSE %] - →there were none. - [% END %] -

    - -

    Checking unconfirmed [% terms.bugs %] in this product for any which now have - sufficient votes...
    - [% IF changes.confirmed_bugs.size %] - [% FOREACH id = changes.confirmed_bugs %] - - [%# This is INCLUDED instead of PROCESSED to avoid variables getting - overwritten, which happens otherwise %] - [% INCLUDE bug/process/results.html.tmpl - type = 'votes' - header_done = 1 - sent_bugmail = changes.confirmed_bugs_sent_bugmail.$id - id = id - %] - [% END %] - [% ELSE %] - →there were none. - [% END %] -

    - -[% END %] - [% PROCESS admin/products/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/sanitycheck/messages.html.tmpl b/template/en/default/admin/sanitycheck/messages.html.tmpl index c3d5daa..8d8cd35 100644 --- a/template/en/default/admin/sanitycheck/messages.html.tmpl +++ b/template/en/default/admin/sanitycheck/messages.html.tmpl @@ -34,7 +34,8 @@ [% errortext FILTER html %]: [% INCLUDE bug_list badbugs = badbugs %] [% ELSIF san_tag == "bug_check_repair" %] - [% text FILTER html %]. + [% text FILTER html %]. [% ELSIF san_tag == "bug_check_creation_date" %] Checking for [% terms.bugs %] with no creation date (which makes them invisible). @@ -81,12 +82,6 @@ [% ELSIF san_tag == "bug_check_status_everconfirmed_error_text2" %] [% terms.Bugs %] with confirmed status but don't have everconfirmed set - [% ELSIF san_tag == "bug_check_votes_everconfirmed" %] - Checking votes/everconfirmed - - [% ELSIF san_tag == "bug_check_votes_everconfirmed_error_text" %] - [% terms.Bugs %] that have enough votes to be confirmed but haven't been - [% ELSIF san_tag == "bug_check_control_values" %] Checking for bad values in group_control_map @@ -142,11 +137,13 @@ [% END %] [% ELSIF san_tag == "cross_check_attachment_has_references" %] - Remove + Remove invalid references to non existent attachments. [% ELSIF san_tag == "cross_check_bug_has_references" %] - Remove + Remove invalid references to non existent [% terms.bugs %]. [% ELSIF san_tag == "double_cross_check_to" %] @@ -192,7 +189,8 @@ [%+ PROCESS bug_link bug_id = bug_id %]. [% ELSIF san_tag == "flag_fix" %] - Click + Click here to delete invalid flags [% ELSIF san_tag == "group_control_map_entries_creation" %] @@ -228,23 +226,6 @@ [% ELSIF san_tag == "keyword_check_duplicated_ids" %] Duplicate keyword IDs found in [% PROCESS bug_link bug_id = id %]. - [% ELSIF san_tag == "keyword_cache_start" %] - Checking cached keywords. - - [% ELSIF san_tag == "keyword_cache_alert" %] - [% badbugs.size FILTER none %] [%+ terms.bugs %] found with - incorrect keyword cache: [% INCLUDE bug_list badbugs = badbugs %] - - [% ELSIF san_tag == "keyword_cache_fixing" %] - OK, now fixing keyword cache. - - [% ELSIF san_tag == "keyword_cache_fixed" %] - Keyword cache fixed. - - [% ELSIF san_tag == "keyword_cache_rebuild" %] - Click here to - rebuild the keyword cache. - [% ELSIF san_tag == "profile_login_start" %] Checking profile logins. @@ -273,26 +254,8 @@ half an hour: [% INCLUDE bug_list badbugs = badbugs %] [% ELSIF san_tag == "unsent_bugmail_fix" %] - Send these mails. - - [% ELSIF san_tag == "vote_cache_rebuild_start" %] - OK, now rebuilding vote cache. - - [% ELSIF san_tag == "vote_cache_rebuild_end" %] - Vote cache has been rebuilt. - - [% ELSIF san_tag == "vote_cache_rebuild_fix" %] - Click here to - rebuild the vote cache - - [% ELSIF san_tag == "vote_cache_alert" %] - Bad vote cache for [% PROCESS bug_link bug_id = id %] - - [% ELSIF san_tag == "vote_count_start" %] - Checking cached vote counts. - - [% ELSIF san_tag == "vote_count_alert" %] - Bad vote sum for [% terms.bug %] [%+ id FILTER html %]. + Send these mails. [% ELSIF san_tag == "whines_obsolete_target_deletion_start" %] OK, now removing non-existent users/groups from whines. @@ -310,7 +273,8 @@ [% END %] [% ELSIF san_tag == "whines_obsolete_target_fix" %] - Click here to + Click here to remove old users/groups [% ELSE %] diff --git a/template/en/default/admin/sudo.html.tmpl b/template/en/default/admin/sudo.html.tmpl index 680bcfb..283eebe 100644 --- a/template/en/default/admin/sudo.html.tmpl +++ b/template/en/default/admin/sudo.html.tmpl @@ -83,8 +83,7 @@ password: - +
    This is done for two reasons. First of all, it is done to reduce the chances of someone doing large amounts of damage using your diff --git a/template/en/default/admin/table.html.tmpl b/template/en/default/admin/table.html.tmpl index ce5e985..c7177a6 100644 --- a/template/en/default/admin/table.html.tmpl +++ b/template/en/default/admin/table.html.tmpl @@ -143,7 +143,7 @@ [% link_uri = contentlink %] [% WHILE link_uri.search('%%(.+?)%%')%] [% FOREACH m = link_uri.match('%%(.+?)%%') %] - [% IF row.$m %] + [% IF row.$m.defined %] [% replacement_value = FILTER url_quote; row.$m; END %] [% ELSE %] [% replacement_value = "" %] diff --git a/template/en/default/admin/users/confirm-delete.html.tmpl b/template/en/default/admin/users/confirm-delete.html.tmpl index b61a995..4711376 100644 --- a/template/en/default/admin/users/confirm-delete.html.tmpl +++ b/template/en/default/admin/users/confirm-delete.html.tmpl @@ -33,7 +33,6 @@ # namedquery_group_map: number of named queries the user has shared # profiles_activity: number of changes made to other users' profiles # series: number of series the viewed user has created - # votes: number of bugs the viewed user has voted on # watch.watched: number of users the viewed user is being watched # by # watch.watcher: number of users the viewed user is watching @@ -226,8 +225,8 @@ [% END %] [% IF assignee_or_qa || cc || component_cc || email_setting || flags.requestee || - namedqueries || profile_setting || quips || series || votes || watch.watched || - watch.watcher || whine_events || whine_schedules %] + namedqueries || profile_setting || quips || series || watch.watched || + watch.watcher || whine_events || whine_schedules || other_safe %]

    The following deletions are safe and will not generate referential integrity inconsistencies.

    @@ -372,23 +371,6 @@ will have no author anymore, but will remain available. [% END %] - [% IF votes %] -
  • - [% otheruser.login FILTER html %] has voted on - [% IF votes == 1 %] - [%+ terms.abug %] - [% ELSE %] - [%+ votes %] [%+ terms.bugs %] - [% END %]. - If you delete the user account, - [% IF votes == 1 %] - this vote - [% ELSE %] - these votes - [% END %] - will be deleted along with the user account. -
  • - [% END %] [% IF watch.watched || watch.watcher %]
  • [% otheruser.login FILTER html %] @@ -445,6 +427,7 @@ but the whines themselves will be left unaltered.
  • [% END %] + [% Hook.process('warn_safe') %]
    diff --git a/template/en/default/admin/users/responsibilities.html.tmpl b/template/en/default/admin/users/responsibilities.html.tmpl index bbf121a..5c9c3f3 100644 --- a/template/en/default/admin/users/responsibilities.html.tmpl +++ b/template/en/default/admin/users/responsibilities.html.tmpl @@ -29,6 +29,7 @@ + [% FOREACH component = item.components %] @@ -48,6 +49,9 @@ [% component.$responsibility.id == otheruser.id ? "X" : " " %] [% END %] + [% END %] diff --git a/template/en/default/admin/users/userdata.html.tmpl b/template/en/default/admin/users/userdata.html.tmpl index f23aa1b..9b182fa 100644 --- a/template/en/default/admin/users/userdata.html.tmpl +++ b/template/en/default/admin/users/userdata.html.tmpl @@ -61,9 +61,8 @@ [% END %] + + [% Hook.process('form_before_submit') %] + diff --git a/template/en/default/attachment/createformcontents.html.tmpl b/template/en/default/attachment/createformcontents.html.tmpl index 2cef632..d0ca336 100644 --- a/template/en/default/attachment/createformcontents.html.tmpl +++ b/template/en/default/attachment/createformcontents.html.tmpl @@ -86,7 +86,7 @@ :
    @@ -104,3 +104,19 @@ [% END %] + +[% BLOCK content_types %] + [% mimetypes = [{type => "text/plain", desc => "plain text"}, + {type => "text/html", desc => "HTML source"}, + {type => "application/xml", desc => "XML source"}, + {type => "image/gif", desc => "GIF image"}, + {type => "image/jpeg", desc => "JPEG image"}, + {type => "image/png", desc => "PNG image"}, + {type => "application/octet-stream", desc => "binary file"}] + %] + [% Hook.process("mimetypes", "attachment/createformcontents.html.tmpl") %] + + [% FOREACH m = mimetypes %] + + [% END %] +[% END %] diff --git a/template/en/default/attachment/diff-file.html.tmpl b/template/en/default/attachment/diff-file.html.tmpl index 9392ca1..a742a84 100644 --- a/template/en/default/attachment/diff-file.html.tmpl +++ b/template/en/default/attachment/diff-file.html.tmpl @@ -53,7 +53,7 @@ incremental_restore() [% FOREACH section = sections %] [% section_num = section_num + 1 %] [% current_line_old = section.old_start %] diff --git a/template/en/default/attachment/diff-header.html.tmpl b/template/en/default/attachment/diff-header.html.tmpl index 663d9b7..22e101c 100644 --- a/template/en/default/attachment/diff-header.html.tmpl +++ b/template/en/default/attachment/diff-header.html.tmpl @@ -53,12 +53,14 @@ Interdiff of #[% oldid %] and #[% newid %] for [% terms.bug %] #[% bugid %] [% END %] [% PROCESS global/header.html.tmpl doc_section = "attachments.html#patchviewer" javascript_urls = "js/attachment.js" - style_urls = ['skins/standard/create_attachment.css'] %] + style_urls = ['skins/standard/attachment.css'] %] [% ELSE %] - - + + [% END %] diff --git a/template/en/default/attachment/edit.html.tmpl b/template/en/default/attachment/edit.html.tmpl index fa8a53a..c0d3061 100644 --- a/template/en/default/attachment/edit.html.tmpl +++ b/template/en/default/attachment/edit.html.tmpl @@ -17,6 +17,7 @@ # # Contributor(s): Myk Melez # Frédéric Buclin + # Guy Pyrzak #%] [% PROCESS global/variables.none.tmpl %] @@ -36,8 +37,10 @@ header = header subheader = subheader doc_section = "attachments.html" - javascript_urls = ['js/attachment.js'] - style_urls = ['skins/standard/create_attachment.css'] + javascript_urls = ['js/attachment.js', 'js/field.js'] + style_urls = ['skins/standard/attachment.css'] + yui = [ 'autocomplete' ] + bodyclasses = "no_javascript" %] [%# No need to display the Diff button and iframe if the attachment is not a patch. %] @@ -54,12 +57,38 @@ [% END %] -
    Component:
    Component Description: - [% INCLUDE global/textarea.html.tmpl - name = 'description' - minrows = 4 - cols = 64 - wrap = 'virtual' - defaultcontent = comp.description - %] -
    - [% INCLUDE global/userselect.html.tmpl - name => "initialowner" - id => "initialowner" - value => comp.default_assignee.login - size => 64 - %] -
    - [% INCLUDE global/userselect.html.tmpl - name => "initialqacontact" - id => "initialqacontact" - value => comp.default_qa_contact.login - size => 64 - emptyok => 1 - %] -
    - - - [% INCLUDE global/userselect.html.tmpl - name => "initialcc" - id => "initialcc" - value => initial_cc_names - size => 64 - multiple => 5 - %] -
    - [% IF !Param("usemenuforusers") %] - Enter user names for the CC list as a comma-separated list. - [% END %] -
    [% terms.Bugs %]: diff --git a/template/en/default/admin/custom_fields/cf-js.js.tmpl b/template/en/default/admin/custom_fields/cf-js.js.tmpl index 5ece96e..528b88b 100644 --- a/template/en/default/admin/custom_fields/cf-js.js.tmpl +++ b/template/en/default/admin/custom_fields/cf-js.js.tmpl @@ -28,7 +28,15 @@ var select_values = new Array(); [% FOREACH sel_field = Bugzilla.get_fields({ is_select => 1 }) %] select_values[[% sel_field.id FILTER js %]] = [ [% FOREACH legal_value = sel_field.legal_values %] - [[% legal_value.id FILTER js %], '[% display_value(sel_field.name, legal_value.name) FILTER js %]'][% ',' UNLESS loop.last %] + [%# Prefix components with the name of their product so that admins + know which component we're talking about. #%] + [% IF sel_field.name == 'component' %] + [% SET value_name = display_value('product', legal_value.product.name) _ ': ' + _ display_value(sel_field.name, legal_value.name) %] + [% ELSE %] + [% SET value_name = display_value(sel_field.name, legal_value.name) %] + [% END %] + [[% legal_value.id FILTER js %], '[% value_name FILTER js %]'][% ',' UNLESS loop.last %] [% END %] ]; [% END %] @@ -43,6 +51,16 @@ function onChangeType(type_field) { else { value_field.disabled = true; } + + var reverse_desc = document.getElementById('reverse_desc'); + if (type_field.value == [% constants.FIELD_TYPE_BUG_ID %]) + { + reverse_desc.disabled = false; + } + else { + reverse_desc.disabled = true; + reverse_desc.value = ''; + } } function onChangeVisibilityField() { diff --git a/template/en/default/admin/custom_fields/create.html.tmpl b/template/en/default/admin/custom_fields/create.html.tmpl index a2db470..fcdf73b 100644 --- a/template/en/default/admin/custom_fields/create.html.tmpl +++ b/template/en/default/admin/custom_fields/create.html.tmpl @@ -28,8 +28,14 @@ onload = "document.getElementById('new_bugmail').disabled = true;" javascript_urls = [ 'js/util.js' ] doc_section = "custom-fields.html#add-custom-fields" + style_urls = ['skins/standard/admin.css'] %] +[%# set initial editability of fields such as Reverse Relationship Description %] + +

    Adding custom fields can make the interface of [% terms.Bugzilla %] very complicated. Many admins who are new to [% terms.Bugzilla %] start off @@ -48,14 +54,14 @@ - +
    - + - - + - - + - + - + - + + + + + + + - +
    + @@ -64,16 +70,16 @@
    +
    +
    + + + +
    + Use this label for the list of [% terms.bugs %] that link to + [%+ terms.abug %] with this + [%+ field_types.${constants.FIELD_TYPE_BUG_ID} FILTER html %] + field. For example, if the description is "Is a duplicate of", + the reverse description would be "Duplicates of this [% terms.bug %]". + Leave blank to disable the list for this field. +
    diff --git a/template/en/default/admin/custom_fields/edit.html.tmpl b/template/en/default/admin/custom_fields/edit.html.tmpl index c5ac53d..755c364 100644 --- a/template/en/default/admin/custom_fields/edit.html.tmpl +++ b/template/en/default/admin/custom_fields/edit.html.tmpl @@ -32,6 +32,7 @@ onload = "toggleCheckbox(document.getElementById('enter_bug'), 'new_bugmail');" javascript_urls = [ 'js/util.js' ] doc_section = "custom-fields.html#edit-custom-fields" + style_urls = ['skins/standard/admin.css'] %]

    @@ -40,12 +41,12 @@

    - +
    - + - - + - - + - + - + - + + + + [% IF field.type == constants.FIELD_TYPE_BUG_ID %] + + + [% ELSE %] + + [% END %] + + [% IF !(value.is_default OR value.is_static) %] + + [% END %] +
    Name:Name: [% field.name FILTER html %] +
    +
    Type:Type: [% field_types.${field.type} FILTER html %]
    +
    + + + +
    + Use this label for the list of [% terms.bugs %] that link to + [%+ terms.abug %] with this + [%+ field_types.${constants.FIELD_TYPE_BUG_ID} FILTER html %] field. + For example, if the description is "Is a duplicate of", + the reverse description would be "Duplicates of this [% terms.bug %]". + Leave blank to disable the list for this field. +
      @@ -100,7 +124,10 @@ [% END %] diff --git a/template/en/default/admin/custom_fields/list.html.tmpl b/template/en/default/admin/custom_fields/list.html.tmpl index dd266c7..385650a 100644 --- a/template/en/default/admin/custom_fields/list.html.tmpl +++ b/template/en/default/admin/custom_fields/list.html.tmpl @@ -56,6 +56,10 @@ name => "obsolete" heading => "Is Obsolete" }, + { + name => "is_mandatory" + heading => "Is Mandatory" + }, { name => "action" heading => "Action" diff --git a/template/en/default/admin/fieldvalues/create.html.tmpl b/template/en/default/admin/fieldvalues/create.html.tmpl index f1eec1a..0198314 100644 --- a/template/en/default/admin/fieldvalues/create.html.tmpl +++ b/template/en/default/admin/fieldvalues/create.html.tmpl @@ -75,6 +75,9 @@ [% FOREACH field_value = field.value_field.legal_values %] [% NEXT IF field_value.name == '' %] [% END %] diff --git a/template/en/default/admin/fieldvalues/edit.html.tmpl b/template/en/default/admin/fieldvalues/edit.html.tmpl index 5650ee8..9c42ce6 100644 --- a/template/en/default/admin/fieldvalues/edit.html.tmpl +++ b/template/en/default/admin/fieldvalues/edit.html.tmpl @@ -73,7 +73,10 @@ [% END %] @@ -91,7 +94,11 @@ [% ELSIF value.is_static %] This value is non-deletable and cannot be disabled. [% END %] -
    diff --git a/template/en/default/admin/params/advanced.html.tmpl b/template/en/default/admin/params/advanced.html.tmpl index 4caa2f1..a8e8a29 100644 --- a/template/en/default/admin/params/advanced.html.tmpl +++ b/template/en/default/admin/params/advanced.html.tmpl @@ -24,6 +24,35 @@ desc = "Settings for advanced configurations." %] +[% sts_desc = BLOCK %] + Enables the sending of the + Strict-Transport-Security + header along with HTTP responses on SSL connections. This adds greater + security to your SSL connections by forcing the browser to always + access your domain over SSL and never accept an invalid certificate. + However, it should only be used if you have the ssl_redirect + parameter turned on, [% terms.Bugzilla %] is the only thing running + on its domain (i.e., your urlbase is something like + http://bugzilla.example.com/), and you never plan to disable + the ssl_redirect parameter. +
      +
    • + off - Don't send the Strict-Transport-Security header with requests. +
    • +
    • + this_domain_only - Send the Strict-Transport-Security header with all + requests, but only support it for the current domain. +
    • +
    • + include_subdomains - Send the Strict-Transport-Security header along + with the includeSubDomains flag, which will apply the + security change to all subdomains. This is especially useful when + combined with an attachment_base that exists as (a) + subdomain(s) under the main [% terms.Bugzilla %] domain. +
    • +
    +[% END %] + [% param_descs = { cookiedomain => "If your website is at 'www.foo.com', setting this to" @@ -47,4 +76,6 @@ _ " necessary to enter its URL if the web server cannot access the" _ " HTTP_PROXY environment variable. If you have to authenticate," _ " use the http://user:pass@proxy_url/ syntax.", + + strict_transport_security => sts_desc, } %] diff --git a/template/en/default/admin/params/attachment.html.tmpl b/template/en/default/admin/params/attachment.html.tmpl index 7d1e29f..12fd491 100644 --- a/template/en/default/admin/params/attachment.html.tmpl +++ b/template/en/default/admin/params/attachment.html.tmpl @@ -45,7 +45,7 @@ _ " That is, a different domain name that resolves to this exact" _ " same $terms.Bugzilla installation.

    " _ "

    Note that if you have set the" - _ " cookiedomain" + _ " cookiedomain" _" parameter, you should set attachment_base to use a" _ " domain that would not be matched by" _ " cookiedomain.

    " diff --git a/template/en/default/admin/params/auth.html.tmpl b/template/en/default/admin/params/auth.html.tmpl index d2cb3e5..35bddf1 100644 --- a/template/en/default/admin/params/auth.html.tmpl +++ b/template/en/default/admin/params/auth.html.tmpl @@ -70,8 +70,8 @@
    RADIUS
    RADIUS authentication using a RADIUS server. - This method is experimental; please see the - $terms.Bugzilla documentation for more information. + Please see the $terms.Bugzilla documentation for + more information. Using this method requires additional parameters to be set. diff --git a/template/en/default/admin/params/bugchange.html.tmpl b/template/en/default/admin/params/bugchange.html.tmpl index 9f456ee..15d4f1e 100644 --- a/template/en/default/admin/params/bugchange.html.tmpl +++ b/template/en/default/admin/params/bugchange.html.tmpl @@ -23,6 +23,10 @@ desc = "Set up $terms.bug change policies" %] +[% PROCESS "global/field-descs.none.tmpl" %] + +[% accept_status = display_value('bug_status', 'IN_PROGRESS') FILTER html %] + [% param_descs = { duplicate_or_move_bug_status => "When $terms.abug is marked as a duplicate of another one " _ "or is moved to another installation, use this $terms.bug status." @@ -37,8 +41,10 @@ "If off, then all $terms.bugs initially have the default " _ "milestone for the product being filed in.", - musthavemilestoneonaccept => "If you are using Target Milestone, do you want to require that " _ - "the milestone be set in order for a user to ACCEPT a ${terms.bug}?", + musthavemilestoneonaccept => + "If you are using ${field_descs.target_milestone}, do you want to require" + _ " that the milestone be set in order for a user to set" + _ " ${terms.abug}'s status to ${accept_status}?", commentonchange_resolution => "If this option is on, the user needs to enter a short " _ "comment if the resolution of the $terms.bug changes.", diff --git a/template/en/default/admin/params/bugfields.html.tmpl b/template/en/default/admin/params/bugfields.html.tmpl index 794f925..58b08f6 100644 --- a/template/en/default/admin/params/bugfields.html.tmpl +++ b/template/en/default/admin/params/bugfields.html.tmpl @@ -34,11 +34,6 @@ usestatuswhiteboard => "Do you wish to use the Status Whiteboard field?", - usevotes => "Do you wish to allow users to vote for ${terms.bugs}? Note that in order " _ - "for this to be effective, you will have to change the maximum " _ - "votes allowed in a product to be non-zero in " _ - "the product edit page.", - usebugaliases => "Do you wish to use $terms.bug aliases, which allow you to assign " _ "$terms.bugs an easy-to-remember name by which you can refer to them?", diff --git a/template/en/default/admin/params/common.html.tmpl b/template/en/default/admin/params/common.html.tmpl index 18aa1fb..d86da0d 100644 --- a/template/en/default/admin/params/common.html.tmpl +++ b/template/en/default/admin/params/common.html.tmpl @@ -28,7 +28,7 @@
    [% FOREACH param = panel.param_list %] -
    [% param.name FILTER html %]
    +
    [% param.name FILTER html %]
    [% panel.param_descs.${param.name} FILTER none %]

    [% IF param.type == "t" %] @@ -62,55 +62,48 @@ [% END %] [% ELSIF param.type == "o" %] -
    - [% boxSize = 7 %] [% boxSize = 3 + param.choices.size IF param.choices.size < 7 %] [% plist = Param(param.name).split(',') %] - [% ELSIF param.type == "s" %]

    + [%- panel.name FILTER url_quote %]#[% param.name FILTER url_quote %]_desc"> [% param.name FILTER html %] diff --git a/template/en/default/admin/params/mta.html.tmpl b/template/en/default/admin/params/mta.html.tmpl index 8533257..05c4485 100644 --- a/template/en/default/admin/params/mta.html.tmpl +++ b/template/en/default/admin/params/mta.html.tmpl @@ -50,19 +50,11 @@ _ " email at once. If you enable this parameter, $terms.Bugzilla will" _ " queue all mail and then send it in the background. This requires" _ " that you have installed certain Perl modules (as listed by" - _ " checksetup.pl for this feature), and that you are" + _ " checksetup.pl for this feature), and that you are" _ " running the jobqueue.pl daemon (otherwise your mail" _ " won't get sent). This affects all mail sent by $terms.Bugzilla," _ " not just $terms.bug updates.", - sendmailnow => "Sites using anything older than version 8.12 of 'sendmail' " _ - "can achieve a significant performance increase in the " _ - "UI -- at the cost of delaying the sending of mail -- by " _ - "disabling this parameter. Sites using 'sendmail' 8.12 or " _ - "higher should leave this on, as they will see no benefit from " _ - "turning it off. Sites using an MTA other than 'sendmail' " _ - "must leave it on, or no $terms.bug mail will be sent.", - smtpserver => "The SMTP server address (if using SMTP for mail delivery).", smtp_username => "The username to pass to the SMTP server for SMTP authentication. " _ @@ -76,7 +68,7 @@ " $terms.Bugzilla and your SMTP server. You can use this to" _ " troubleshoot email problems.", - whinedays => "The number of days that we'll let a $terms.bug sit untouched in a NEW " _ + whinedays => "The number of days that we'll let a $terms.bug sit untouched in a CONFIRMED " _ "state before our cronjob will whine at the owner.
    " _ "Set to 0 to disable whining.", diff --git a/template/en/default/admin/params/radius.html.tmpl b/template/en/default/admin/params/radius.html.tmpl index ef2282d..f12e581 100644 --- a/template/en/default/admin/params/radius.html.tmpl +++ b/template/en/default/admin/params/radius.html.tmpl @@ -26,13 +26,13 @@ "(e.g. radius.company.com, or " _ "radius.company.com:portnum).
    " _ "Required only if " _ - "the " _ + "the " _ "user_verify_class parameter contains " _ "RADIUS.", RADIUS_secret => "Your RADIUS server's secret.
    " _ "Required only if " _ - "the " _ + "the " _ "user_verify_class parameter contains " _ "RADIUS.", @@ -40,14 +40,14 @@ "data with your RADIUS server. " _ "If unspecified, 127.0.0.1 will be used.
    " _ "Useful only if " _ - "the " _ + "the " _ "user_verify_class parameter " _ "contains RADIUS.", RADIUS_email_suffix => "Suffix to append to a RADIUS user name to form an " _ "e-mail address.
    " _ "Useful only if " _ - "the " _ + "the " _ "user_verify_class parameter " _ "contains RADIUS.", } diff --git a/template/en/default/admin/params/usermatch.html.tmpl b/template/en/default/admin/params/usermatch.html.tmpl index 54f1509..d574edc 100644 --- a/template/en/default/admin/params/usermatch.html.tmpl +++ b/template/en/default/admin/params/usermatch.html.tmpl @@ -29,6 +29,9 @@ "needs to be selected. This option should not be enabled on " _ "sites where there are a large number of users.", + ajax_user_autocompletion => "If this option is set, typing characters in a certain user " _ + "fields will display a list of matches that can be selected from.", + maxusermatches => "Search for no more than this many matches.
    " _ "If set to '1', no users will be displayed on ambiguous matches. " _ "This is useful for user privacy purposes.
    " _ diff --git a/template/en/default/admin/products/create.html.tmpl b/template/en/default/admin/products/create.html.tmpl index f4a2161..1b50661 100644 --- a/template/en/default/admin/products/create.html.tmpl +++ b/template/en/default/admin/products/create.html.tmpl @@ -29,13 +29,10 @@ %] [% DEFAULT - product.votesperuser = "0", - product.maxvotesperbug = "10000", - product.votes_to_confirm = "0", product.is_active = 1, version = "unspecified", product.defaultmilestone = constants.DEFAULT_MILESTONE - product.allows_unconfirmed = 0 + product.allows_unconfirmed = 1 %] @@ -51,7 +48,9 @@
    Create chart datasets for this product: + +
    diff --git a/template/en/default/admin/products/edit-common.html.tmpl b/template/en/default/admin/products/edit-common.html.tmpl index 2c94402..4812707 100644 --- a/template/en/default/admin/products/edit-common.html.tmpl +++ b/template/en/default/admin/products/edit-common.html.tmpl @@ -76,37 +76,8 @@ in this product:

    - [% IF Param('usevotes') %] - - ...and automatically confirm [% terms.bugs %] if they get - - votes. (Setting this to 0 disables auto-confirming [% terms.bugs %] - by vote.) - - [% END %] + [% ' checked="checked"' IF product.allows_unconfirmed %]>
    Maximum votes per person: -
    - Maximum votes a person can put on a single [% terms.bug %]: - -
    Component Default Assignee Default QA ContactDefault CC
    + [% component.initial_cc.contains(otheruser) ? "X" : " " %] +
    - + [% IF editform %]
    (Enter new password to change.) [% END %] diff --git a/template/en/default/attachment/create.html.tmpl b/template/en/default/attachment/create.html.tmpl index f00a0ad..acf9e23 100644 --- a/template/en/default/attachment/create.html.tmpl +++ b/template/en/default/attachment/create.html.tmpl @@ -33,8 +33,9 @@ title = title header = header subheader = subheader - style_urls = [ 'skins/standard/create_attachment.css' ] - javascript_urls = [ "js/attachment.js", "js/util.js" ] + style_urls = [ 'skins/standard/attachment.css' ] + yui = [ 'autocomplete' ] + javascript_urls = [ "js/attachment.js", 'js/field.js', "js/util.js" ] doc_section = "attachments.html" %] @@ -122,6 +123,9 @@
     
    - +
    [% IF file.is_add %] Added @@ -79,7 +79,7 @@ incremental_restore()   [% section.func_info FILTER html IF section.func_info %] [% END %] - Link Here  + Link Here 
    - - - + [% Hook.process('form_before_submit') %] - [% IF !attachment.datasize %] - - [% ELSIF attachment.isurl %] - - [% ELSIF !Param("allow_attachment_display") %] - - [% ELSIF attachment.is_viewable %] - - [% ELSE %] - - [% END %] - -
    +
    +
    +
    +
    + [% "[patch]" IF attachment.ispatch%] + + [% attachment.description FILTER html %] + + [% IF can_edit %] + (edit details) + [% END %] +
    + [% IF NOT attachment.isurl %] +
    + [% attachment.filename FILTER html %] ([% attachment.contenttype FILTER html %]), + [% IF attachment.datasize %] + [%+ attachment.datasize FILTER unitconvert %] + [% ELSE %] + deleted + [% END %], created by [%+ INCLUDE global/user.html.tmpl who = attachment.attacher %] + [% IF attachment.isprivate %]; + only visible to [% Param('insidergroup') FILTER html %] members + [% END %] +
    + [% END %] +
    +
    + + (hide) +
    - +   [% INCLUDE global/textarea.html.tmpl id = 'description' name = 'description' @@ -68,38 +97,34 @@ wrap = 'soft' classes = 'block' _ editable_or_hide defaultcontent = attachment.description - %] - [% IF !can_edit %] - [%+ attachment.description FILTER wrap_comment(25) FILTER html %] - [% END %] + %]
    [% IF attachment.isurl %] - - + + [% ELSE %]
    - - [% IF !can_edit %] - [%+ attachment.filename FILTER truncate(25) FILTER html %] - [% END %] + value="[% attachment.filename FILTER html %]">
    - - [% IF !can_edit %] - [%+ attachment.contenttype FILTER truncate(25) FILTER html %] - [% END %] + value="[% attachment.contenttype FILTER html %]">
    - + +
    + Creator: + [%+ INCLUDE global/user.html.tmpl who = attachment.attacher %] +
    +
    Size: [% IF attachment.datasize %] @@ -109,154 +134,158 @@ [% END %]
    -
    - Creator: - [%+ INCLUDE global/user.html.tmpl who = attachment.attacher %] -
    -
    - [% IF can_edit %] - - [% ELSE %] - Is Patch: - [%+ attachment.ispatch ? "yes" : "no" %] - [% END %] +
    [% END %] +
    +
    +
    + + +
    -
    - - [% IF can_edit %] - - [% ELSE %] - Is Obsolete: - [%+ attachment.isobsolete ? "yes" : "no" %] - [% END %] -
    - - [% IF user.is_insider %] -
    - - [% IF can_edit %] - - [% ELSE %] - Is Private: - [%+ attachment.isprivate ? "yes" : "no" %] + [% IF user.is_insider %] +
    + + [% IF can_edit %] + + [% ELSE %] + Is Private: + [%+ attachment.isprivate ? "yes" : "no" %] + [% END %] +
    [% END %]
    - [% END %] +
    +
    - [% IF attachment.flag_types.size > 0 %] -
    - [% PROCESS "flag/list.html.tmpl" bug_id = attachment.bug_id - attach_id = attachment.id - flag_types = attachment.flag_types - read_only_flags = !can_edit +
    + [% IF !attachment.datasize %] +
    The content of this attachment has been deleted.
    + [% ELSIF attachment.isurl %] + + [% ELSIF !Param("allow_attachment_display") %] +
    +

    + The attachment is not viewable in your browser due to security + restrictions enabled by your [% terms.Bugzilla %] administrator. +

    +

    + In order to view the attachment, you first have to + download it. +

    +
    + [% ELSIF attachment.is_viewable %] +
    + [% INCLUDE global/textarea.html.tmpl + id = 'editFrame' + name = 'comment' + classes = 'bz_default_hidden' + minrows = 10 + cols = 80 + wrap = 'soft' + disabled = 'disabled' + defaultcontent = (attachment.contenttype.match('^text\/')) ? + attachment.data.replace('(.*\n|.+)', '>$1') : undef %] + + +
    + [% ELSE %] +
    +

    + Attachment is not viewable in your browser because its MIME type + ([% attachment.contenttype FILTER html %]) is not one that your browser is + able to display. +

    +

    + Download the attachment. +

    [% END %] - +
    +
    [% IF user.id %] -
    +
    + [% classNames = 'block' %] + [% classNames = "$classes bz_private" IF attachment.isprivate %] [% INCLUDE global/textarea.html.tmpl id = 'comment' name = 'comment' - minrows = 5 - cols = 25 + minrows = 10 + cols = 80 wrap = 'soft' - classes = 'block' + classes = classNames %]
    + [% END %] +
    + [% IF attachment.flag_types.size > 0 %] + + [% PROCESS "flag/list.html.tmpl" bug_id = attachment.bug_id + attach_id = attachment.id + flag_types = attachment.flag_types + read_only_flags = !can_edit + %] + + [% END %] +
    -

    - [% END %] -
    The content of this attachment has been deleted. - - [% IF attachment.datasize < 120 %] - [% attachment.data FILTER html %] - [% ELSE %] - [% attachment.data FILTER truncate(80) FILTER html %] -  ... - [% attachment.data.match(".*(.{20})$").0 FILTER html %] - [% END %] - - -

    - The attachment is not viewable in your browser due to security - restrictions enabled by [% terms.Bugzilla %]. -

    -

    - In order to view the attachment, you first have to - download it. -

    -
    - [% INCLUDE global/textarea.html.tmpl - id = 'editFrame' - name = 'comment' - style = 'height: 400px; width: 100%; display: none' - minrows = 10 - cols = 80 - wrap = 'soft' - defaultcontent = (attachment.contenttype.match('^text\/')) ? - attachment.data.replace('(.*\n|.+)', '>$1') : undef - %] - - - -

    - Attachment is not viewable in your browser because its MIME type - ([% attachment.contenttype FILTER html %]) is not one that your browser is - able to display. -

    -

    - Download the attachment. -

    -
    + [% IF user.id %] +
    + +
    + [% END %] + + +
    @@ -270,6 +299,7 @@ && attachment.datasize > 0 %] | Delete [% END %] + [% Hook.process('action') %]
    @@ -283,7 +313,14 @@ [% " |" UNLESS loop.last() %] [% END %]
    - +[% IF can_edit %] + +[% END %] [% Hook.process('end') %] [% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/attachment/list.html.tmpl b/template/en/default/attachment/list.html.tmpl index 6453b4e..89eef18 100644 --- a/template/en/default/attachment/list.html.tmpl +++ b/template/en/default/attachment/list.html.tmpl @@ -19,6 +19,8 @@ # Frédéric Buclin #%] +[% RETURN UNLESS attachments.size || Param("maxattachmentsize") %] + - + [% DEFAULT start_at = 0 mode = "show" %] [% sort_order = user.settings.comment_sort_order.value %] @@ -133,6 +65,14 @@ [% count = count + increment %] [% END %] +[% IF user.settings.comment_box_position.value == "before_comments" && user.id %] + +[% END %] + [%# Note: this template is used in multiple places; if you use this hook, # make sure you are aware of this fact. #%] @@ -146,6 +86,11 @@ return false;">Collapse All Comments
  • Expand All Comments
  • + [% IF user.settings.comment_box_position.value == "after_comments" && user.id %] +
  • + Add Comment
  • + [% END %] [% END %] @@ -157,8 +102,10 @@ [% BLOCK a_comment %] [% RETURN IF comment.is_private AND ! user.is_insider %] + [% comment_text = comment.body_full({ wrap => 1 }) %] + [% RETURN IF comment_text == '' AND (comment.work_time - 0) != 0 AND !user.is_timetracker %] -
    [% IF count == description %] @@ -194,7 +141,7 @@ [% END %] - [%- comment_label FILTER html %] @@ -229,7 +176,7 @@ #%]
    -  [%- comment.body_full({ wrap => 1 }) FILTER quoteUrls(bug, comment) -%]
    +  [%- comment_text FILTER quoteUrls(bug, comment) -%]
     
    [% END %] diff --git a/template/en/default/bug/create/comment-guided.txt.tmpl b/template/en/default/bug/create/comment-guided.txt.tmpl index 0f68d28..66220ec 100644 --- a/template/en/default/bug/create/comment-guided.txt.tmpl +++ b/template/en/default/bug/create/comment-guided.txt.tmpl @@ -30,17 +30,13 @@ [%+ cgi.param("comment") IF cgi.param("comment") %] -[% IF cgi.param("reproducible") %] -[%+ IF cgi.param("reproducible") != "Choose one..." -%] +[%+ IF cgi.param("reproducible") != "Choose one..." -%] Reproducible: [%+ cgi.param("reproducible") %] -[% END %] [% END %] -[% IF cgi.param("reproduce_steps") %] -[% IF !(cgi.param("reproduce_steps").match('^1\.\s*2\.\s*3\.\s*$') || cgi.param("reproduce_steps").match('^\s*$')) %] +[% IF !(cgi.param("reproduce_steps").match('^1\.\s*2\.\s*3\.\s*$') || cgi.param("reproduce_steps").match('^\s*$')) %] Steps to Reproduce: [%+ cgi.param("reproduce_steps") %] -[% END %] [% END %] [% IF cgi.param("actual_results") -%] diff --git a/template/en/default/bug/create/create-guided.html.tmpl b/template/en/default/bug/create/create-guided.html.tmpl index 0628a0e..bee5f01 100644 --- a/template/en/default/bug/create/create-guided.html.tmpl +++ b/template/en/default/bug/create/create-guided.html.tmpl @@ -34,6 +34,8 @@ style = "#somebugs { width: 100%; height: 500px }" %] +[% style = "" %] + [% tablecolour = "#efefef" %] [%# This script displays the descriptions for selected components. %] @@ -57,51 +59,20 @@ function PutDescription() { var initialowners = new Array([% product.components.size %]); var last_initialowner; -var initialccs = new Array([% product.components.size %]); var components = new Array([% product.components.size %]); -var flags = new Array([% product.components.size %]); -[% IF Param("useqacontact") %] - var initialqacontacts = new Array([% product.components.size %]); - var last_initialqacontact; -[% END %] [% count = 0 %] [%- FOREACH c = product.components %] components[[% count %]] = "[% c.name FILTER js %]"; initialowners[[% count %]] = "[% c.default_assignee.login FILTER js %]"; - [% flag_list = [] %] - [% FOREACH f = c.flag_types.bug %] - [% NEXT UNLESS f.is_active %] - [% flag_list.push(f.id) %] - [% END %] - [% FOREACH f = c.flag_types.attachment %] - [% NEXT UNLESS f.is_active %] - [% flag_list.push(f.id) %] - [% END %] - flags[[% count %]] = [[% flag_list.join(",") FILTER js %]]; - [% IF Param("useqacontact") %] - initialqacontacts[[% count %]] = "[% c.default_qa_contact.login FILTER js %]"; - [% END %] - - [% SET initial_cc_list = [] %] - [% FOREACH cc_user = c.initial_cc %] - [% initial_cc_list.push(cc_user.login) %] - [% END %] - initialccs[[% count %]] = "[% initial_cc_list.join(', ') FILTER js %]"; - [% count = count + 1 %] [%- END %] function set_assign_to() { // Based on the selected component, fill the "Assign To:" field - // with the default component owner, and the "QA Contact:" field - // with the default QA Contact. It also selectively enables flags. + // with the default component owner. var form = document.Create; var assigned_to = form.assigned_to.value; -[% IF Param("useqacontact") %] - var qa_contact = form.qa_contact.value; -[% END %] - var index = -1; if (form.component.type == 'select-one') { index = form.component.selectedIndex; @@ -118,137 +89,83 @@ function set_assign_to() { form.assigned_to.value = owner; last_initialowner = owner; } - - document.getElementById('initial_cc').innerHTML = initialccs[index]; - - [% IF Param("useqacontact") %] - var contact = initialqacontacts[index]; - if (qa_contact == last_initialqacontact - || qa_contact == contact - || qa_contact == '') { - form.qa_contact.value = contact; - last_initialqacontact = contact; - } - [% END %] - - // First, we disable all flags. Then we re-enable those - // which are available for the selected component. - var inputElements = document.getElementsByTagName("select"); - var inputElement, flagField; - for ( var i=0 ; i 1) { - flagField.disabled = false; - // Re-enabling the requestee field depends on the status - // of the flag. - toggleRequesteeField(flagField, 1); - } - } } PutDescription(); } -function handleWantsAttachment(wants_attachment) { - if (wants_attachment) { - document.getElementById('attachment_false').style.display = 'none'; - document.getElementById('attachment_true').style.display = 'block'; - } - else { - document.getElementById('attachment_false').style.display = 'block'; - document.getElementById('attachment_true').style.display = 'none'; - clearAttachmentFields(); - } -} - // this is courtesy of John Keller -var LOOKUP_ADDR = "/lookup.php?pkg="; -var ASSIGNEE_OBJ_NAME = "assigned_to"; -var NOT_FOUND = "NOT_FOUND"; - var http_connection = null; // init XMLHttpRequest object, based on browser type function initHttpConnection() { - http_connection = null; - - try { - // Firefox, Opera 8.0+, Safari - http_connection = new XMLHttpRequest(); - } catch (e) { - // Internet Explorer - try { - http_connection = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - http_connection = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (e) { - // browser does not support AJAX - } - } - } - - if (http_connection != null) { - http_connection.onreadystatechange = onLoadMaintainer; - } + http_connection = null; + + try { + // Firefox, Opera 8.0+, Safari + http_connection = new XMLHttpRequest(); + } catch (e) { + // Internet Explorer + try { + http_connection = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { + try { + http_connection = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (e) { + // browser does not support AJAX + } + } + } + + if (http_connection != null) { + http_connection.onreadystatechange = onLoadMaintainer; + } } // handler for data received // text field to set should be similar to // function onLoadMaintainer() { - var field_obj; - - if ((http_connection.readyState == 4) && (http_connection.status == 200)) { - if ((http_connection.responseText != null) && (http_connection.responseText != NOT_FOUND)) { - if ((field_obj = document.getElementById(ASSIGNEE_OBJ_NAME)) != null) { - field_obj.value = http_connection.responseText; - } - } - } else { - // by default, we'll leave form value alone and don't do anything else - // this is a good place to set a default or show an error, though - } + var field_obj; + + if ((http_connection.readyState == 4) && (http_connection.status == 200)) { + if ((http_connection.responseText != null) && (http_connection.responseText != 'NOT_FOUND')) { + if ((field_obj = document.getElementById('assigned_to')) != null) { + field_obj.value = http_connection.responseText; + } + } + } else { + // by default, we'll leave form value alone and don't do anything else + // this is a good place to set a default or show an error, though + } } // handler for when user enters a package // text field to set should be similar to // function onChangePackage(input_obj) { - initHttpConnection(); + initHttpConnection(); - if ((http_connection != null) && (input_obj.value != "")) { - http_connection.open("GET", LOOKUP_ADDR + encodeURIComponent(input_obj.value)); - http_connection.send(null); - } + if ((http_connection != null) && (input_obj.value != "")) { + http_connection.open("GET", '/lookup.php?pkg=' + encodeURIComponent(input_obj.value)); + http_connection.send(null); + } }; --> -

       Submit a bug using the expert bug form.

    +

       Submit [% terms.abug %] using the +expert [% terms.bug %] form.

    -
    + - - + @@ -298,6 +215,7 @@ function onChangePackage(input_obj) {
    +

    The area where the problem occurs. To pick the right component, you could use the same one as @@ -344,7 +262,7 @@ function onChangePackage(input_obj) {

    - This is where you can identify exactly which RPM package is involved in this bug report. For instance, + This is where you can identify exactly which RPM package is involved in this [% terms.bug %] report. For instance, if you know the problem you are having is with the program mysqld, then execute rpm -qif /usr/sbin/mysqld. This will tell you the name and version of the RPM package (i.e. MySQL-5.0.27-1mga1) as well as other information. In particular, you are looking for @@ -404,13 +322,11 @@ function onChangePackage(input_obj) { cols = constants.COMMENT_COLS defaultcontent = "Description of problem:\n\n\nVersion-Release number of selected component (if applicable):\n\n\nHow reproducible:\n\n\nSteps to Reproduce:\n1.\n2.\n3.\n" %] - [% IF Param("insidergroup") && user.in_group(Param("insidergroup")) %] -
       - - + [% IF user.is_insider %] +
       + + [% END %]

    @@ -475,16 +391,18 @@ function onChangePackage(input_obj) { Assign To: - [% safe_assigned_to = FILTER js; bug.assigned_to.login; END %] [% INCLUDE global/userselect.html.tmpl - id => "assigned_to" - name => "assigned_to" - value => bug.assigned_to.login - size => 32 + id => "assigned_to" + name => "assigned_to" + value => "" + emptyok => 1 + size => 32 %]

    Leave the above blank to assign to the default component owner.

    + + [% Hook.process('form') %]

    diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl index 4b17457..c18e1c5 100644 --- a/template/en/default/bug/create/create.html.tmpl +++ b/template/en/default/bug/create/create.html.tmpl @@ -30,11 +30,13 @@ [% PROCESS global/header.html.tmpl title = title - style_urls = [ 'skins/standard/create_attachment.css', - 'skins/standard/yui/calendar.css' ] - javascript_urls = [ "js/attachment.js", "js/util.js", "js/yui/calendar.js", - "js/field.js", "js/TUI.js" ] - onload = 'set_assign_to();' + yui = [ 'autocomplete', 'calendar', 'datatable', 'button' ] + style_urls = [ 'skins/standard/attachment.css', + 'skins/standard/enter_bug.css' ] + javascript_urls = [ "js/attachment.js", "js/util.js", + "js/field.js", "js/TUI.js", "js/bug.js" ] + onload = "set_assign_to(); hideElementById('attachment_true'); + showElementById('attachment_false'); showElementById('btn_no_attachment');" %] -[% USE Bugzilla %] -[% SET select_fields = {} %] -[% FOREACH field = Bugzilla.get_fields( - { type => constants.FIELD_TYPE_SINGLE_SELECT, custom => 0 }) -%] - [% select_fields.${field.name} = field %] -[% END %] - + class="enter_bug_form" enctype="multipart/form-data" + onsubmit="return validateEnterBug(this)"> - +
    - - - - - + [% INCLUDE bug/field.html.tmpl + bug = default, field = bug_fields.product, editable = 0, + value = product.name %] + [% INCLUDE bug/field.html.tmpl + bug = default, field = bug_fields.reporter, editable = 0, + value = user.login %] [%# We can't use the select block in these two cases for various reasons. %] - - - [% INCLUDE bug/field.html.tmpl - bug = bug, field = select_fields.product, + bug = bug, field = bug_fields.product, override_legal_values = bug.choices.product desc_url = 'describecomponents.cgi', value = bug.product editable = bug.check_can_change_field('product', 0, 1) %] + + [%# Classification is here so that it can be used in value controllers + # and visibility controllers. It comes after product because + # it uses some javascript that depends on the existence of the + # product field. + #%] + + [% INCLUDE bug/field.html.tmpl + bug = bug field = bug_fields.classification + override_legal_values = bug.choices.classification + value = bug.classification + editable = bug.check_can_change_field('product', 0, 1) %] + [%###############%] [%# Component #%] [%###############%] - - [% PROCESS select selname => "component" %] + [% INCLUDE bug/field.html.tmpl + bug = bug, field = bug_fields.component, value = bug.component + override_legal_values = bug.choices.component + desc_url = "describecomponents.cgi?product=$bug.product" + editable = bug.check_can_change_field('component', 0, 1) + %] [% END %] @@ -899,13 +914,19 @@ [% BLOCK section_customfields %] [%# *** Custom Fields *** %] - + [% USE Bugzilla %] [% FOREACH field = Bugzilla.active_custom_fields %] - [% PROCESS bug/field.html.tmpl value=bug.${field.name} + [% PROCESS bug/field.html.tmpl value = bug.${field.name} editable = bug.check_can_change_field(field.name, 0, 1) value_span = 2 %] + [% IF extra_field_item %] + + + + + [% END %] [% END %] [% END %] @@ -1022,9 +1043,9 @@ [% PROCESS formattimeunit time_unit=bug.estimated_time - (bug.actual_time + bug.remaining_time) %] @@ -1042,16 +1063,15 @@ [%############################################################################%] [% BLOCK comment_box %] -
    - +
    [% IF user.id %] : [% IF user.is_insider %] - + onClick="updateCommentTagControl(this, 'comment')">
    @@ -210,22 +199,26 @@ TUI_hide_default('expert_fields');
    Product:[% product.name FILTER html %]Reporter:[% user.login FILTER html %]
    - - Component: - - + + + + [%# Enclose the fieldset in a nested table so that its width changes based # on the length on the component description. %] @@ -264,9 +270,11 @@ TUI_hide_default('expert_fields'); - + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.version editable = 1 rowspan = 3 + %] [% INCLUDE bug/field.html.tmpl - bug = default, field = select_fields.bug_severity, editable = 1, + bug = default, field = bug_fields.bug_severity, editable = 1, value = default.bug_severity %] [% INCLUDE bug/field.html.tmpl - bug = default, field = select_fields.rep_platform, editable = 1, + bug = default, field = bug_fields.rep_platform, editable = 1, value = default.rep_platform %] [% INCLUDE bug/field.html.tmpl - bug = default, field = select_fields.op_sys, editable = 1, + bug = default, field = bug_fields.op_sys, editable = 1, value = default.op_sys %] + [% IF !Param('defaultplatform') || !Param('defaultopsys') %] + + + + + [% END %] [% IF Param('usetargetmilestone') && Param('letsubmitterchoosemilestone') %] - [% sel = { description => 'Target Milestone', name => 'target_milestone' } %] - [% INCLUDE select %] + [% INCLUDE select field = bug_fields.target_milestone %] [% ELSE %] [% END %] [% IF Param('letsubmitterchoosepriority') %] [% INCLUDE bug/field.html.tmpl - bug = default, field = select_fields.priority, editable = 1, + bug = default, field = bug_fields.priority, editable = 1, value = default.priority %] [% ELSE %] @@ -312,40 +335,16 @@ TUI_hide_default('expert_fields'); -[% IF !Param('defaultplatform') || !Param('defaultopsys') %] - - - - - - -[% END %] - -[% IF bug_status.size <= 1 %] - - - -[% ELSE %] - [% sel = { description => 'Initial State', name => 'bug_status' } %] - [% INCLUDE select %] -[% END %] + [% INCLUDE bug/field.html.tmpl + bug = default, field = bug_fields.bug_status, + editable = (bug_status.size > 1), value = default.bug_status + override_legal_values = bug_status %] [%# Calculate the number of rows we can use for flags %] @@ -376,9 +375,12 @@ TUI_hide_default('expert_fields'); - + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.assigned_to editable = 1 + %] - + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.qa_contact editable = 1 + %] - + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.cc editable = 1 + %] - + - + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.estimated_time editable = 1 + %] - - + [% INCLUDE bug/field.html.tmpl + bug = default, field = bug_fields.deadline, value = deadline, + editable = 1, value_span = 2 %] @@ -454,7 +462,9 @@ TUI_hide_default('expert_fields'); [% IF Param("usebugaliases") %] - + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.alias editable = 1 + %] @@ -462,21 +472,23 @@ TUI_hide_default('expert_fields'); [% END %] - - - + [% USE Bugzilla %] [% FOREACH field = Bugzilla.active_custom_fields %] [% NEXT UNLESS field.enter_bug %] [% SET value = ${field.name}.defined ? ${field.name} : "" %] - + [% INCLUDE bug/field.html.tmpl bug = default, field = field, value = value, editable = 1, value_span = 3 %] @@ -487,17 +499,55 @@ TUI_hide_default('expert_fields'); - - + [% IF feature_enabled('jsonrpc') AND !cloned_bug_id %] + + + + + [% END %] + [% END %] + [% IF Param("maxattachmentsize") %] + [% END %] [% IF user.in_group('editbugs', product.id) %] [% IF use_keywords %] - - + [% INCLUDE bug/field.html.tmpl + bug = default, field = bug_fields.keywords, editable = 1, + value = keywords, desc_url = "describekeywords.cgi", + value_span = 2 + %] [% END %] - + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.dependson editable = 1 + %] - + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.blocked editable = 1 + %] @@ -599,13 +644,14 @@ TUI_hide_default('expert_fields'); - [% IF group.size %] + [% IF product.groups_available.size %] @@ -634,14 +682,11 @@ TUI_hide_default('expert_fields'); @@ -659,30 +704,20 @@ TUI_hide_default('expert_fields'); [%############################################################################%] [% BLOCK select %] - [% IF sel.description %] - - [% END %] + [% INCLUDE "bug/field-label.html.tmpl" + field = field editable = 1 + %] [% END %] diff --git a/template/en/default/bug/dependency-tree.html.tmpl b/template/en/default/bug/dependency-tree.html.tmpl index c42c3c4..627c89d 100644 --- a/template/en/default/bug/dependency-tree.html.tmpl +++ b/template/en/default/bug/dependency-tree.html.tmpl @@ -129,7 +129,7 @@ [% extra_class = " b_open" %] [% extra_args = 'onclick="return doToggle(this, event)"' %] [% END %] -    diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl index a4d6813..dbc23c8 100644 --- a/template/en/default/bug/edit.html.tmpl +++ b/template/en/default/bug/edit.html.tmpl @@ -30,14 +30,6 @@ [% PROCESS bug/time.html.tmpl %] -[% USE Bugzilla %] -[% SET select_fields = {} %] -[% FOREACH field = Bugzilla.get_fields( - { type => constants.FIELD_TYPE_SINGLE_SELECT, custom => 0 }) -%] - [% select_fields.${field.name} = field %] -[% END %] - - + @@ -211,23 +213,11 @@
    Version: - [%- FOREACH v = version %]
      +
    We've made a guess at your + [% IF Param('defaultplatform') %] + operating system. Please check it + [% ELSIF Param('defaultopsys') %] + platform. Please check it + [% ELSE %] + operating system and platform. Please check them + [% END %] + and make any corrections if necessary.
    +
      
      - We've made a guess at your - [% IF Param('defaultplatform') %] - operating system. Please check it - [% ELSIF Param('defaultopsys') %] - platform. Please check it - [% ELSE %] - operating system and platform. Please check them - [% END %] - and make any corrections if necessary. -
     
    Initial State:[% display_value("bug_status", default.bug_status) FILTER html %] 
    Assign To: [% INCLUDE global/userselect.html.tmpl + id => "assigned_to" name => "assigned_to" value => assigned_to disabled => assigned_to_disabled @@ -392,9 +394,12 @@ TUI_hide_default('expert_fields'); [% IF Param("useqacontact") %]
    QA Contact: [% INCLUDE global/userselect.html.tmpl + id => "qa_contact" name => "qa_contact" value => qa_contact disabled => qa_contact_disabled @@ -408,9 +413,12 @@ TUI_hide_default('expert_fields'); [% END %]
    CC: [% INCLUDE global/userselect.html.tmpl + id => "cc" name => "cc" value => cc disabled => cc_disabled @@ -421,7 +429,7 @@ TUI_hide_default('expert_fields');
    Default CC:Default [% field_descs.cc FILTER html %]:
    @@ -434,17 +442,17 @@ TUI_hide_default('expert_fields'); [% IF user.is_timetracker %]
    Estimated Hours:
    Deadline: - - (YYYY-MM-DD) -
    Alias:
    URL: - + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.bug_file_loc editable = 1 + %] + +
    Summary: + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.short_desc editable = 1 + %] + + class="required text_input" id="short_desc">
    Possible
    Duplicates:
    +
    + +
    Description: + [% defaultcontent = BLOCK %] [% IF cloned_bug_id %] +++ This [% terms.bug %] was initially created as a clone of [% terms.Bug %] #[% cloned_bug_id %] +++ @@ -525,34 +575,28 @@ TUI_hide_default('expert_fields');      - -
    Attachment: - +
    + +
    + +
    +
    Add an attachment @@ -562,35 +606,36 @@ TUI_hide_default('expert_fields'); flag_table_id ="attachment_flags" %]
    - +
    Keywords: - (optional) -
    Depends on:
    Blocks:
     
    - Only users in all of the selected groups can view this [% terms.bug %]: + Only users in all of the selected groups can view this + [%+ terms.bug %]:
    @@ -615,12 +661,14 @@ TUI_hide_default('expert_fields');
    - [% FOREACH g = group %] -      - -
    + + [% FOREACH group = product.groups_available %] + +
    [% END %]
      - +      + onclick="bz_no_validate_enter_bug=true" class="expert_fields">
    - [% sel.description %]: - - + [%- FOREACH x = ${field.name} %] [% END %] - - [% IF sel.name == "bug_status" %] - - [% END %]
    - [%# *** Additional Comments *** %] -
    - [% PROCESS bug/comments.html.tmpl - comments = bug.comments - mode = user.id ? "edit" : "show" - %] -
    - - + [% IF user.is_timetracker %] + [% PROCESS section_timetracking %] + [% END %] [%# *** Attachments *** %] @@ -238,12 +228,28 @@ show_attachment_flags = bug.show_attachment_flags %] + [% IF user.settings.comment_box_position.value == 'before_comments' %] + [% PROCESS comment_box %] + [% END %]
    - - [% PROCESS comment_box %] - -
    -
    -
    [% PROCESS section_restrict_visibility %]
    + [%# *** Additional Comments *** %] +
    + [% PROCESS bug/comments.html.tmpl + comments = bug.comments + mode = user.id ? "edit" : "show" + %] +
    + + [% IF user.settings.comment_box_position.value == 'after_comments' %] +
    + [% PROCESS comment_box %] + [% END %] + [%############################################################################%] @@ -323,26 +329,36 @@ [%#############%] [%# PRODUCT #%] [%#############%] -
    - -
    @@ -360,11 +376,11 @@ [% INCLUDE bug/field.html.tmpl - bug = bug, field = select_fields.rep_platform, + bug = bug, field = bug_fields.rep_platform, no_tds = 1, value = bug.rep_platform editable = bug.check_can_change_field('rep_platform', 0, 1) %] [%+ INCLUDE bug/field.html.tmpl - bug = bug, field = select_fields.op_sys, + bug = bug, field = bug_fields.op_sys, no_tds = 1, value = bug.op_sys editable = bug.check_can_change_field('op_sys', 0, 1) %] + [% IF user.id || bug.cc.size %] + + [% END %]
    [% extra_field_item.header FILTER none %][% extra_field_item.data FILTER none %]
    -
    - (YYYY-MM-DD) + [% INCLUDE bug/field.html.tmpl + field = bug_fields.deadline, value = bug.deadline, no_tds = 1 + editable = bug.check_can_change_field('deadline', 0, 1) %]
    +
    @@ -1086,13 +1106,19 @@ [%# For logged-out users %] [% ELSE %] -
    Status: - [% PROCESS bug/knob.html.tmpl %]
    - Note - You need to - log in - before you can comment on or make changes to this [% terms.bug %]. -
    + + + + +
    +
    + Note + You need to + log in + before you can comment on or make changes to this [% terms.bug %]. +
    +
    [% END %] [% END %] @@ -1157,9 +1183,6 @@

    - [% IF bug.user.canmove %] - - [% END %]
    [% END %] [% END %] diff --git a/template/en/default/bug/field-events.js.tmpl b/template/en/default/bug/field-events.js.tmpl index 06fba12..f9e0ea9 100644 --- a/template/en/default/bug/field-events.js.tmpl +++ b/template/en/default/bug/field-events.js.tmpl @@ -32,9 +32,13 @@ [% FOREACH val = legal_value.controlled_values.$controlled_field %] [% cont_ids.push(val.id) %] [% END %] + [% NEXT IF !cont_ids.size %] showValueWhen('[% controlled_field FILTER js %]', [[% cont_ids.join(',') FILTER js %]], '[% field.name FILTER js %]', [% legal_value.id FILTER js %]); [% END %] [% END %] +[% IF field.name == 'classification' %] + YAHOO.util.Event.on('product', 'change', setClassification); +[% END %] diff --git a/template/en/default/bug/field-help.none.tmpl b/template/en/default/bug/field-help.none.tmpl new file mode 100644 index 0000000..7ae9991 --- /dev/null +++ b/template/en/default/bug/field-help.none.tmpl @@ -0,0 +1,241 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Gervase Markham + # Max Kanat-Alexander + #%] + +[%# This file describes both bug fields and search fields. + # As calling this template once per label is very expensive, + # it is called only by Template.pm. %] + +[% RETURN UNLESS in_template_var %] + +[% vars.help_html = { + +# Note that all these keys here are in alphabetical order, though +# search-specific fields are at the bottom. + +############## +# Bug Fields # +############## + +alias => + "A short, unique name assigned to $terms.abug in order to assist with + looking it up and referring to it in other places in ${terms.Bugzilla}.", + +assigned_to => + "The person in charge of resolving the ${terms.bug}.", + +blocked => + "This $terms.bug must be resolved before the $terms.bugs listed in this + field can be resolved.", + +bug_file_loc => + "$terms.Bugs can have a URL associated with them - for example, a" + _ " pointer to a web site where the problem is seen.", + +bug_id => + "The numeric id of $terms.abug, unique within this entire installation" + _ " of ${terms.Bugzilla}.", + +bug_severity => + "How severe the $terms.bug is, or whether it's an enhancement.", + +bug_status => + "$terms.Abug may be in any of a number of states.", + +cc => + "Users who may not have a direct role to play on this $terms.bug, but who + are interested in its progress.", + +classification => + "$terms.Bugs are categorised into Classifications, Products and" + _ " Components. classifications is the top-level categorisation.", + +component => + "Components are second-level categories; each belongs to a" + _ " particular Product. Select a Product to narrow down this list.", + +creation_ts => + "When the $terms.bug was filed.", + +deadline => + "The date that this $terms.bug must be resolved by, entered in YYYY-MM-DD + format.", + +delta_ts => + "When this $terms.bug was last updated.", + +dependson => + "The $terms.bugs listed here must be resolved before this $terms.bug + can be resolved.", + +estimated_time => + "The amount of time that has been estimated it will take to resolve + this ${terms.bug}.", + +keywords => + "You can add keywords from a defined list to $terms.bugs, in order" + _ " to tag and group them.", + +longdesc => + "$terms.Bugs have comments added to them by $terms.Bugzilla users." + _ " You can search for some text in those comments.", + +op_sys => + "The operating system the $terms.bug was observed on.", + +percentage_complete => + "How close to 100% done this $terms.bug is, by comparing its + $vars.field_descs.work_time to its ${vars.field_descs.estimated_time}.", + +priority => + "Engineers prioritize their $terms.bugs using this field.", + +# Note that this has extra text added below if useclassification is on. +product => + "$terms.Bugs are categorised into Products and Components.", + +qa_contact => + "The person responsible for confirming this $terms.bug if it is" + _ " unconfirmed, and for verifying the fix once the $terms.bug" + _ " has been resolved.", + +remaining_time => + "The number of hours of work left on this $terms.bug, calculated by + subtracting the $vars.field_descs.work_time from the + ${vars.field_descs.estimated_time}.", + +rep_platform => + "The hardware platform the $terms.bug was observed on.", + +reporter => + "The person who filed this ${terms.bug}.", + +resolution => + "If $terms.abug is in a resolved state, then one of these reasons" + _ " will be given for its resolution.", + +see_also => + "This allows you to refer to $terms.bugs in other installations. + You can enter a URL to $terms.abug in the 'Add $terms.Bug URLs' + field to note that that $terms.bug is related to this one. You can + enter multiple URLs at once by separating them with a comma. + +

    You should normally use this field to refer to $terms.bugs in + other installations. For $terms.bugs in this + installation, it is better to use the $vars.field_descs.dependson and + $vars.field_descs.blocked fields.

    ", + +short_desc => + "The $terms.bug summary is a short sentence which succinctly" + _ " describes what the $terms.bug is about.", + +status_whiteboard => + "Each $terms.bug has a free-form single line text entry box for" + _ " adding tags and status information.", + +target_milestone => + "The $vars.field_descs.target_milestone field is used to define when the" + _ " engineer the $terms.bug is assigned to expects to fix it.", + +version => + "The version field defines the version of the software the" + _ " $terms.bug was found in.", + +votes => + "Some $terms.bugs can be voted for, and you can limit your search to" + _ " $terms.bugs with more than a certain number of votes.", + +work_time => + "The total amount of time spent on this $terms.bug so far.", + +########################## +# Search-specific fields # +########################## + +chfield => + "You can search for specific types of change - this field defines" + _" which field you are interested in changes for.", + +# Duplicated to chfieldto below, also. +chfieldfrom => + "Specify the start and end dates either in YYYY-MM-DD format + optionally followed by HH:mm, in 24 hour clock), or in relative + dates such as 1h, 2d, 3w, 4m, 5y, which respectively mean one hour, + two days, three weeks, four months, or five years ago. 0d is last + midnight, and 0h, 0w, 0m, 0y is the beginning of this hour, week, + month, or year.", + +chfieldvalue => + "The value the field defined above changed to during that time.", + +content => + "This is a field available in searches that does a Google-like + 'full-text' search on the $vars.field_descs.short_desc and + $vars.field_descs.longdesc fields.", + +# Duplicated to email2 below, also. +email1 => + "Every $terms.bug has people associated with it in different" + _ " roles. Here, you can search on what people are in what role.", + +} %] + +[% vars.help_html.email2 = vars.help_html.email1 %] +[% vars.help_html.chfieldto = vars.help_html.chfieldfrom %] +[% vars.help_html.deadlinefrom = vars.help_html.deadline %] +[% vars.help_html.deadlineto = vars.help_html.deadline %] + +[% help_all_note = BLOCK %] + Note: When searching, selecting the option "All" + only finds [% terms.bugs %] whose value for this field is literally + the word "All". +[% END %] +[% FOREACH all_field = ['op_sys', 'rep_platform'] %] + [% vars.help_html.$all_field = vars.help_html.$all_field _ ' ' _ help_all_note %] +[% END %] + +[% IF Param('useclassification') %] + [% vars.help_html.product = vars.help_html.product + _ " Select a Classification to narrow down this list." %] +[% END %] + +[% FOREACH help_field = bug_fields.keys %] + + [%# Add help for custom fields. %] + [% IF !vars.help_html.${help_field}.defined %] + [% SET field_type = bug_fields.${help_field}.type %] + [% field_type_desc = BLOCK -%] + [% field_types.$field_type FILTER html %] + [%- END %] + [% vars.help_html.${help_field} = + "A custom $field_type_desc field in this installation" + _ " of ${terms.Bugzilla}." %] + [% END %] + + [%# Add help for the search types, for query.cgi. %] + [% type_desc = BLOCK %] + The type of [% vars.field_descs.${help_field} FILTER html %] search you + would like. + [% END %] + [% SET type_name = help_field _ '_type' %] + [% vars.help_html.$type_name = type_desc %] +[% END %] + +[% Hook.process("end") %] diff --git a/template/en/default/bug/field-label.html.tmpl b/template/en/default/bug/field-label.html.tmpl new file mode 100644 index 0000000..2138f03 --- /dev/null +++ b/template/en/default/bug/field-label.html.tmpl @@ -0,0 +1,52 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 the + # Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander + #%] + +[%# INTERFACE: + # field: a Bugzilla::Field object + # desc_url: An alternate link to help for the field. + # hidden: True if the field label should start hidden. + # rowspan: a "rowspan" value for the label's . + # tag_name: the tag to use to surround the label + #%] + +[% DEFAULT tag_name = "th" %] +<[% tag_name FILTER html %] class="field_label [% ' bz_hidden_field' IF hidden %] + [%- ' required' IF field.is_mandatory && NOT bug.id %]" + id="field_label_[% field.name FILTER html %]" + [% IF rowspan %] rowspan="[% rowspan FILTER html %]"[% END %]> + + [% IF editable %] + ' IF editable %] + diff --git a/template/en/default/bug/field.html.tmpl b/template/en/default/bug/field.html.tmpl index bb678d7..b014a6e 100644 --- a/template/en/default/bug/field.html.tmpl +++ b/template/en/default/bug/field.html.tmpl @@ -18,6 +18,8 @@ # Contributor(s): Myk Melez # Max Kanat-Alexander # Elliotte Martin + # Guy Pyrzak + # Reed Loden #%] [%# INTERFACE: @@ -40,35 +42,17 @@ #%] [% SET hidden = 0 %] -[% IF field.visibility_field.defined %] - [% IF !bug.${field.visibility_field.name} - .contains(field.visibility_value.name) - %] - [% SET hidden = 1 %] - [% END %] +[% IF field.visibility_field.defined AND bug + AND !field.visibility_value.is_set_on_bug(bug) +%] + [% SET hidden = 1 %] [% END %] [% IF NOT no_tds %] - - [% IF editable %] - ' IF editable %] - -[% END %] - -[% IF NOT no_tds %] - + [% PROCESS "bug/field-label.html.tmpl" %] + [% END %] [% Hook.process('start_field_column') %] [% IF editable %] @@ -77,11 +61,13 @@ + maxlength="[% constants.MAX_FREETEXT_LENGTH FILTER none %]" + [% ' aria-required="true"' IF field.is_mandatory %]> [% CASE constants.FIELD_TYPE_DATETIME %] -
    +
    [% CASE [ constants.FIELD_TYPE_SINGLE_SELECT constants.FIELD_TYPE_MULTI_SELECT ] %] @@ -124,6 +111,7 @@ [% SET field_size = field.legal_values.size %] [% END %] size="[% field_size FILTER html %]" multiple="multiple" + [% ' aria-required="true"' IF field.is_mandatory %] [% END %] > [% IF allow_dont_change %] @@ -138,8 +126,6 @@ [% legal_values = field.legal_values %] [% END %] [% FOREACH legal_value = legal_values %] - [% SET control_value = legal_value.visibility_value %] - [% SET control_field = field.value_field %]