summaryrefslogtreecommitdiffstats
path: root/template/en/default/global
diff options
context:
space:
mode:
Diffstat (limited to 'template/en/default/global')
-rw-r--r--template/en/default/global/code-error.html.tmpl42
-rw-r--r--template/en/default/global/common-links.html.tmpl11
-rw-r--r--template/en/default/global/field-descs.none.tmpl6
-rw-r--r--template/en/default/global/footer.html.tmpl2
-rw-r--r--template/en/default/global/header.html.tmpl140
-rw-r--r--template/en/default/global/help.html.tmpl33
-rw-r--r--template/en/default/global/setting-descs.none.tmpl2
-rw-r--r--template/en/default/global/user-error.html.tmpl104
-rw-r--r--template/en/default/global/user.html.tmpl17
-rw-r--r--template/en/default/global/userselect.html.tmpl2
10 files changed, 254 insertions, 105 deletions
diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl
index 877fe8d66..62442c268 100644
--- a/template/en/default/global/code-error.html.tmpl
+++ b/template/en/default/global/code-error.html.tmpl
@@ -262,7 +262,7 @@
Flags cannot be set for objects of type [% caller FILTER html %].
They can only be set for [% terms.bugs %] and attachments.
- [% ELSIF error == "flag_requestee_disabled" %]
+ [% ELSIF error == "flag_type_requestee_disabled" %]
[% title = "Flag not Requestable from Specific Person" %]
You can't ask a specific person for
<em>[% type.name FILTER html %]</em>.
@@ -509,31 +509,23 @@
admindocslinks = admindocslinks
%]
-<tt>
- <p>
- [% terms.Bugzilla %] has suffered an internal error. Please save this page and send
- it to [% Param("maintainer") %] with details of what you were doing at
- the time this message appeared.
- </p>
- <script type="text/javascript"> <!--
- document.write("<p>URL: " +
- document.location.href.replace(/&/g,"&amp;")
- .replace(/</g,"&lt;")
- .replace(/>/g,"&gt;") + "</p>");
- // -->
- </script>
-</tt>
-
-<table cellpadding="20">
- <tr>
- <td id="error_msg" class="throw_error">
- [% error_message FILTER none %]
- </td>
- </tr>
-</table>
+[%# return the generated error_message for sentry %]
+[% processed.error_message = error_message %]
+
+<p>
+ [% terms.Bugzilla %] has suffered an internal error:
+</p>
-<p>Traceback:</p>
-<pre>[% traceback FILTER html %]</pre>
+<p class="throw_error">
+ [% error_message FILTER none %]
+</p>
+
+[% IF maintainers_notified %]
+<p>
+ The [% terms.Bugzilla %] maintainers have been notified of this error
+ [#[% uid FILTER html %]].
+</p>
+[% END %]
[% IF variables %]
<pre>
diff --git a/template/en/default/global/common-links.html.tmpl b/template/en/default/global/common-links.html.tmpl
index 769d41e7e..53d22df71 100644
--- a/template/en/default/global/common-links.html.tmpl
+++ b/template/en/default/global/common-links.html.tmpl
@@ -28,7 +28,7 @@
<li><span class="separator">| </span><a href="describecomponents.cgi">Browse</a></li>
<li><span class="separator">| </span><a href="query.cgi">Search</a></li>
- <li class="form">
+ <li class="form quicksearch_form">
<span class="separator">| </span>
<form action="buglist.cgi" method="get"
onsubmit="if (this.quicksearch.value == '')
@@ -39,10 +39,12 @@
<input class="btn" type="submit" value="Search"
id="find[% qs_suffix FILTER html %]">
[%-# Work around FF bug: keep this on one line %]</form>
- <a href="page.cgi?id=quicksearch.html" title="Quicksearch Help">[?]</a></li>
+ [<a href="page.cgi?id=quicksearch.html" title="Quicksearch Help">help</a>]
+ </li>
<li><span class="separator">| </span><a href="report.cgi">Reports</a></li>
+ [% IF user.settings.skin.value != 'Mozilla' %]
<li>
[% IF Param('shutdownhtml') || Bugzilla.has_flags %]
<span class="separator">| </span>
@@ -54,7 +56,11 @@
[% END %]
[% END %]
[%-# Work around FF bug: keep this on one line %]</li>
+ [% END %]
+
+ [% Hook.process('action-links') %]
+ [% IF user.settings.skin.value != 'Mozilla' %]
[% IF user.login %]
<li><span class="separator">| </span><a href="userprefs.cgi">Preferences</a></li>
[% IF user.in_group('tweakparams') || user.in_group('editusers') || user.can_bless
@@ -104,6 +110,7 @@
[% PROCESS "account/auth/login-small.html.tmpl" %]
[% END %]
[% END %]
+ [% END %]
</ul>
[% Hook.process("link-row") %]
diff --git a/template/en/default/global/field-descs.none.tmpl b/template/en/default/global/field-descs.none.tmpl
index 3e86e9bad..731ba37ef 100644
--- a/template/en/default/global/field-descs.none.tmpl
+++ b/template/en/default/global/field-descs.none.tmpl
@@ -49,7 +49,9 @@
"changedto" => "changed to",
"changedby" => "changed by",
"matches" => "matches",
- "notmatches" => "does not match",
+ "notmatches" => "does not match",
+ "isempty" => "is empty",
+ "isnotempty" => "is not empty",
} %]
[% field_types = { ${constants.FIELD_TYPE_UNKNOWN} => "Unknown Type",
@@ -58,7 +60,9 @@
${constants.FIELD_TYPE_MULTI_SELECT} => "Multiple-Selection Box",
${constants.FIELD_TYPE_TEXTAREA} => "Large Text Box",
${constants.FIELD_TYPE_DATETIME} => "Date/Time",
+ ${constants.FIELD_TYPE_DATE} => "Date",
${constants.FIELD_TYPE_BUG_ID} => "$terms.Bug ID",
+ ${constants.FIELD_TYPE_EXTENSION} => "Extension",
} %]
[% IF in_template_var %]
diff --git a/template/en/default/global/footer.html.tmpl b/template/en/default/global/footer.html.tmpl
index 661f8afe6..29d17bccd 100644
--- a/template/en/default/global/footer.html.tmpl
+++ b/template/en/default/global/footer.html.tmpl
@@ -24,8 +24,6 @@
# global/useful-links.html.tmpl.
#%]
-[% INCLUDE "global/help.html.tmpl" %]
-
</div>
[%# Migration note: below this point, this file corresponds to the old Param
diff --git a/template/en/default/global/header.html.tmpl b/template/en/default/global/header.html.tmpl
index 0dffcb5de..c5b2c126a 100644
--- a/template/en/default/global/header.html.tmpl
+++ b/template/en/default/global/header.html.tmpl
@@ -110,35 +110,20 @@
[% SET yui = yui_resolve_deps(yui, yui_deps) %]
[% SET css_sets = css_files(style_urls, yui, yui_css) %]
- [%# CSS cascade, part 1: Standard Bugzilla stylesheet set (persistent).
- # Always present.
- #%]
- [%# This allows people to switch back to the "Classic" skin if they
- # are in another skin.
- #%]
+ [%# CSS cascade, parts 1 & 2: YUI & Standard Bugzilla stylesheet set (persistent).
+ # Always present. %]
<link href="[% 'skins/standard/global.css' FILTER mtime FILTER html %]"
- rel="alternate stylesheet"
title="[% setting_descs.standard FILTER html %]">
[% FOREACH style_url = css_sets.standard %]
[% PROCESS format_css_link css_set_name = 'standard' %]
[% END %]
- [%# CSS cascade, part 2 & 3: Third-party stylesheet set (selected and
- # selectable). All third-party skins are present as alternate
- # stylesheets, even if they are not currently in use.
- #%]
+ [%# CSS cascade, part 3: Third-party stylesheet set, per user prefs. %]
[% FOREACH style_url = css_sets.skin %]
[% PROCESS format_css_link css_set_name = user.settings.skin.value %]
[% END %]
- [% FOREACH alternate_skin = css_sets.alternate.keys %]
- [% FOREACH style_url = css_sets.alternate.$alternate_skin %]
- [% PROCESS format_css_link css_set_name = alternate_skin %]
- [% END %]
- [% END %]
-
- [%# CSS cascade, part 4: page-specific styles.
- #%]
+ [%# CSS cascade, part 4: page-specific styles. %]
[% IF style %]
<style type="text/css">
[% style %]
@@ -239,8 +224,7 @@
[%# Required for the 'Autodiscovery' feature in Firefox 2 and IE 7. %]
<link rel="search" type="application/opensearchdescription+xml"
- title="[% terms.Bugzilla %]" href="./search_plugin.cgi">
- <link rel="shortcut icon" href="images/favicon.ico" >
+ title="[% terms.BugzillaTitle %]" href="./search_plugin.cgi">
[% Hook.process("additional_header") %]
</head>
@@ -250,6 +234,7 @@
<body onload="[% onload %]"
class="[% urlbase.replace('^https?://','').replace('/$','').replace('[-~@:/.]+','-') FILTER css_class_quote %]
+ skin-[% user.settings.skin.value FILTER css_class_quote %]
[% FOREACH class = bodyclasses %]
[% ' ' %][% class FILTER css_class_quote %]
[% END %] yui-skin-sam">
@@ -260,12 +245,94 @@
<div id="header">
+[% IF user.settings.skin.value == 'Mozilla' %]
+ <div class="wrapper">
+ <table border="0" cellspacing="0" cellpadding="0" id="titles">
+ <tr>
+ <td id="title">
+ <a href="./" title="Home">[% terms.BugzillaTitle %]</a>
+ </td>
+ <td>
+ [% Hook.process("message") %]
+ </td>
+ <td id="moz_login">
+ [% IF user.id %]
+ <ul class="links">
+ <li class="dropdown">
+ <span class="anchor">[% user.login FILTER html %]</span>
+ <ul>
+ [% IF user.showmybugslink %]
+ [% filtered_username = user.login FILTER uri %]
+ <li><a href="[% Param('mybugstemplate').replace('%userid%', filtered_username) %]">My [% terms.Bugs %]</a></li>
+ [% END %]
+ <li><a href="user_profile">My Profile</a></li>
+ <li><a href="page.cgi?id=user_activity.html&amp;action=run&amp;sort=when&amp;who=[% user.login FILTER uri %]">My Activity</a></li>
+ <li><a href="request.cgi?requester=[% user.login FILTER uri %]&amp;requestee=[% user.login FILTER uri %]&amp;do_union=1&amp;group=type&amp;action=queue">My Requests</a></li>
+ <li><a href="userprefs.cgi">Preferences</a></li>
+ [% IF user.in_group('tweakparams') || user.in_group('editusers') || user.can_bless
+ || (Param('useclassification') && user.in_group('editclassifications'))
+ || user.in_group('editcomponents') || user.in_group('admin') || user.in_group('creategroups')
+ || user.in_group('editkeywords') || user.in_group('bz_canusewhines')
+ || user.get_products_by_permission("editcomponents").size %]
+ <li><a href="admin.cgi">Administration</a></li>
+ [% END %]
+ [% IF user.authorizer.can_logout %]
+ <li><a href="index.cgi?logout=1">Log&nbsp;out</a></li>
+ [% END %]
+ [% IF sudoer %]
+ <li>
+ <a href="relogin.cgi?action=end-sudo">End sudo session impersonating [% user.login FILTER html %]</a>
+ </li>
+ [% END %]
+ </ul>
+ </li>
+ </ul>
+ [% ELSE %]
+ <ul class="login-links">
+ [% IF Param('createemailregexp')
+ && user.authorizer.user_can_create_account %]
+ <li id="moz_new_account_container_top"><a href="createaccount.cgi">New&nbsp;Account</a></li>
+ [% END %]
+
+ [%# Only display one login form when we're on a LOGIN_REQUIRED page. That
+ # way, we're guaranteed that the user will use the form that has
+ # hidden_fields in it (the center form) instead of this one. Also, it's
+ # less confusing to have one form (as opposed to three) when you're
+ # required to log in.
+ #%]
+ [% IF user.authorizer.can_login && !Bugzilla.page_requires_login %]
+ [% PROCESS "account/auth/login-small.html.tmpl" qs_suffix = "_top" %]
+ [% END %]
+ </ul>
+ [% END %]
+ </td>
+ <td id="moz_tab">
+ <a href="https://www.mozilla.org/" title="Mozilla - Home of the Mozilla Project">
+ <img src="skins/contrib/Mozilla/tabzilla.png" border="0" height="42" width="154"></a>
+ </td>
+ </tr>
+ </table>
+
+ [%# display the version number on the index page %]
+ [% IF title == "$terms.Bugzilla Main Page" %]
+ <div id="bugzilla_version">
+ [% header_addl_info FILTER html %]
+ </div>
+ [% END %]
+
+ [% PROCESS "global/common-links.html.tmpl" qs_suffix = "_top" %]
+
+ </div>
+
+[% ELSE %]
+
[% INCLUDE global/banner.html.tmpl %]
<table border="0" cellspacing="0" cellpadding="0" id="titles">
<tr>
<td id="title">
- <p>[% terms.Bugzilla %]
+ <p>[% terms.BugzillaTitle %]
+ [% Hook.process("message") %]
[% " &ndash; $header" IF header %]</p>
</td>
@@ -302,16 +369,28 @@
</td></tr></table>
[% PROCESS "global/common-links.html.tmpl" qs_suffix = "_top" %]
+
+[% END %]
+
</div> [%# header %]
<div id="bugzilla-body">
+[%# in most cases the "header" variable provides redundant information, however
+ # there are exceptions where not displaying this text is problematic. %]
+[% IF user.settings.skin.value == 'Mozilla'
+ && template.name.match('^attachment/')
+ && !header.match('^Bug&nbsp;\d+$')
+%]
+ <h2>[% header FILTER none %]</h2>
+[% END %]
+
[% IF Param('announcehtml') %]
[% Param('announcehtml') FILTER none %]
[% END %]
[% IF message %]
-<div id="message">[% message %]</div>
+ <div id="message">[% message %]</div>
[% END %]
[% BLOCK format_css_link %]
@@ -323,26 +402,15 @@
#%]
[% END %]
- [% IF css_set_name == 'standard'
- OR css_set_name == user.settings.skin.value
- %]
- [% SET css_rel = 'stylesheet' %]
- [% SET css_set_display_name = setting_descs.${user.settings.skin.value}
- || user.settings.skin.value %]
- [% ELSE %]
- [% SET css_rel = 'alternate stylesheet' %]
- [% SET css_set_display_name = setting_descs.$css_set_name || css_set_name %]
- [% END %]
-
[% IF css_set_name == 'standard' %]
[% SET css_title_link = '' %]
[% ELSE %]
[% css_title_link = BLOCK ~%]
- title="[% css_set_display_name FILTER html %]"
+ title="[% setting_descs.${user.settings.skin.value} || user.settings.skin.value FILTER html %]"
[% END %]
[% END %]
- <link href="[% style_url FILTER html %]" rel="[% css_rel FILTER none %]"
+ <link href="[% style_url FILTER html %]" rel="stylesheet"
type="text/css" [% css_title_link FILTER none %]>
[% '<![endif]-->' IF style_url.match('/IE-fixes\.css') %]
diff --git a/template/en/default/global/help.html.tmpl b/template/en/default/global/help.html.tmpl
deleted file mode 100644
index c0ff819ce..000000000
--- a/template/en/default/global/help.html.tmpl
+++ /dev/null
@@ -1,33 +0,0 @@
-[%# 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 <gerv@gerv.net>
- #%]
-
-[% USE Bugzilla %]
-[% cgi = Bugzilla.cgi %]
-
-[% IF cgi.param("help") %]
- <script type="text/javascript"> <!--
- [% FOREACH help_name = help_html.keys %]
- g_helpTexts["[% help_name FILTER js %]"] =
- "[%- help_html.$help_name FILTER js -%]";
- [% END %]
- // -->
- </script>
-[% END %]
-
diff --git a/template/en/default/global/setting-descs.none.tmpl b/template/en/default/global/setting-descs.none.tmpl
index a0b11f048..37d81039e 100644
--- a/template/en/default/global/setting-descs.none.tmpl
+++ b/template/en/default/global/setting-descs.none.tmpl
@@ -52,6 +52,8 @@
"email_format" => "Preferred email format",
"html" => "HTML",
"text_only" => "Text Only",
+ "bugmail_new_prefix" => "Add 'New:' to subject line of email sent when a new $terms.bug is filed",
+ "requestee_cc" => "Automatically add me to the CC list of $terms.bugs I am requested to review",
}
%]
diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl
index 8de412413..5851d439f 100644
--- a/template/en/default/global/user-error.html.tmpl
+++ b/template/en/default/global/user-error.html.tmpl
@@ -160,6 +160,8 @@
use
[% ELSIF action == "approve" %]
approve
+ [% ELSIF action == "admin_activity" %]
+ view admin activity for
[% ELSE %]
[%+ Hook.process('auth_failure_action') %]
[% END %]
@@ -182,6 +184,8 @@
classifications
[% ELSIF object == "components" %]
components
+ [% ELSIF object == "comment_tags" %]
+ comment tags
[% ELSIF object == "custom_fields" %]
custom fields
[% ELSIF object == "field_values" %]
@@ -270,6 +274,7 @@
<li>A ticket in a Trac installation.</li>
<li>A b[% %]ug in a MantisBT installation.</li>
<li>A b[% %]ug on sourceforge.net.</li>
+ <li>An issue on github.com.</li>
</ul>
[% ELSIF reason == 'id' %]
There is no valid [% terms.bug %] id in that URL.
@@ -322,6 +327,25 @@
Comments cannot be longer than
[%+ constants.MAX_COMMENT_LENGTH FILTER html %] characters.
+ [% ELSIF error == "comment_tag_disabled" %]
+ [% title = "Comment Tagging Disabled" %]
+ The comment tagging is not enabled.
+
+ [% ELSIF error == "comment_tag_invalid" %]
+ [% title = "Invalid Comment Tag" %]
+ The comment tag "[% tag FILTER html %]" contains invalid characters or
+ words.
+
+ [% ELSIF error == "comment_tag_too_long" %]
+ [% title = "Comment Tag Too Long" %]
+ Comment tags cannot be longer than
+ [%+ constants.MAX_COMMENT_TAG_LENGTH FILTER html %] characters.
+
+ [% ELSIF error == "comment_tag_too_short" %]
+ [% title = "Comment Tag Too Short" %]
+ Comment tags must be at least
+ [%+ constants.MIN_COMMENT_TAG_LENGTH FILTER html %] characters.
+
[% ELSIF error == "auth_classification_not_enabled" %]
[% title = "Classification Not Enabled" %]
Sorry, classification is not enabled.
@@ -469,6 +493,15 @@
The first letter of your extension's name must be a capital letter.
(You specified '[% name FILTER html %]'.)
+ [% ELSIF error == "feature_disabled" %]
+ The [% install_string("feature_$feature") FILTER html %] feature is not
+ available in this [% terms.Bugzilla %].
+ [% IF user.in_group('admin') %]
+ If you would like to enable this feature, please run
+ <kbd>checksetup.pl</kbd> to see how to install the necessary
+ requirements for this feature.
+ [% END %]
+
[% ELSIF error == "field_already_exists" %]
[% title = "Field Already Exists" %]
The field '[% field.name FILTER html %]'
@@ -618,6 +651,11 @@
<br>Alternately, if your attachment is an image, you could convert
it to a compressible format like JPG or PNG and try again.
+ [% ELSIF error == "flag_requestee_disabled" %]
+ [% title = "Flag Requestee Disabled" %]
+ You can't ask <em>[% requestee.identity FILTER html %]</em> because that
+ account is disabled.
+
[% ELSIF error == "flag_requestee_needs_privs" %]
[% title = "Flag Requestee Needs Privileges" %]
[% requestee.identity FILTER html %] does not have permission to set the
@@ -1013,6 +1051,11 @@
[%+ constants.LOGIN_LOCKOUT_INTERVAL FILTER html %] minutes.
[% END %]
+ [% ELSIF error == "invalid_cookies_or_token" %]
+ [% title = "Invalid Cookies or Token" %]
+ The cookies or token provide were not valid or have expired.
+ You may login again to get new cookies or a new token.
+
[% ELSIF error == "json_rpc_get_method_required" %]
When using JSON-RPC over GET, you must specify a 'method'
parameter. See the documentation at
@@ -1037,6 +1080,13 @@
For security reasons, you must use HTTP POST to call the
'[% method FILTER html %]' method.
+ [% ELSIF error == "rest_invalid_resource" %]
+ A REST API resource was not found for '[% method FILTER html +%] [%+ path FILTER html %]'.
+
+ [% ELSIF error == "get_products_invalid_type" %]
+ The product type '[% type FILTER html %]' is invalid. Valid choices
+ are 'accessible', 'selectable', and 'enterable'.
+
[% ELSIF error == "keyword_already_exists" %]
[% title = "Keyword Already Exists" %]
A keyword with the name [% name FILTER html %] already exists.
@@ -1350,6 +1400,40 @@
[% END %]
</ul>
+ [% ELSIF error == "password_not_complex" %]
+ [% title = "Password Fails Requirements" %]
+ [% passregex = Param('password_complexity') %]
+ Password must contain at least one:
+ <ul>
+ [% IF passregex.search('letters') %]
+ <li>UPPERCASE letter</li>
+ <li>lowercase letter</li>
+ [% END %]
+ [% IF passregex.search('numbers') %]
+ <li>digit</li>
+ [% END %]
+ [% IF passregex.search('specialchars') %]
+ <li>special character</li>
+ [% END %]
+ </ul>
+
+ [% ELSIF error == "password_not_complex" %]
+ [% title = "Password Fails Requirements" %]
+ [% passregex = Param('password_complexity') %]
+ Password must contain at least one:
+ <ul>
+ [% IF passregex.search('letters') %]
+ <li>UPPERCASE letter</li>
+ <li>lowercase letter</li>
+ [% END %]
+ [% IF passregex.search('numbers') %]
+ <li>digit</li>
+ [% END %]
+ [% IF passregex.search('specialchars') %]
+ <li>special character</li>
+ [% END %]
+ </ul>
+
[% ELSIF error == "product_access_denied" %]
[% title = "Product Access Denied" %]
Either the product
@@ -1538,6 +1622,17 @@
and the "matches" search can only be used with the "content"
field.
+ [% ELSIF error == "search_grouped_field_invalid" %]
+ [% terms.Bugzilla %] does not support using the
+ "[%+ field_descs.$field FILTER html %]" ([% field FILTER html %])
+ field with grouped search conditions.
+
+ [% ELSIF error == "search_grouped_invalid_nesting" %]
+ You cannot nest clauses within grouped search conditions.
+
+ [% ELSIF error == "search_grouped_field_mismatch" %]
+ All conditions under a groups search must use the same field.
+
[% ELSIF error == "search_field_operator_invalid" %]
[% terms.Bugzilla %] does not support using the
"[%+ field_descs.$field FILTER html %]" ([% field FILTER html %])
@@ -1610,7 +1705,7 @@
[% ELSIF error == "tag_name_too_long" %]
[% title = "Tag Name Too Long" %]
- The tag name must be less than [% constants.MAX_LEN_QUERY_NAME FILTER html %]
+ The tag must be less than [% constants.MAX_LEN_QUERY_NAME FILTER html %]
characters long.
[% ELSIF error == "token_does_not_exist" %]
@@ -1707,6 +1802,11 @@
Sorry, but you are not allowed to (un)mark comments or attachments
as private.
+ [% ELSIF error == "webdot_too_large" %]
+ [% title = "Dependency Graph Too Large" %]
+ The dependency graph contains too many [% terms.bugs %] to display (more
+ than [% constants.MAX_WEBDOT_BUGS FILTER html %] [%+ terms.bugs %]).
+
[% ELSIF error == "wrong_token_for_cancelling_email_change" %]
[% title = "Wrong Token" %]
That token cannot be used to cancel an email address change.
@@ -1764,6 +1864,8 @@
[% error_message FILTER none %]
[% END %]
[% END %]
+
+ [% Hook.process('error_message') %]
[% END %]
[%# We only want HTML error messages for ERROR_MODE_WEBPAGE %]
diff --git a/template/en/default/global/user.html.tmpl b/template/en/default/global/user.html.tmpl
index df902b451..897cbbad6 100644
--- a/template/en/default/global/user.html.tmpl
+++ b/template/en/default/global/user.html.tmpl
@@ -27,12 +27,19 @@
[% FILTER collapse %]
[% IF user.id %]
<a class="email" href="mailto:[% who.email FILTER html %]"
- title="[% who.identity FILTER html %]">
+ onclick="return show_usermenu(event, [% who.id FILTER none %], '[% who.email FILTER js %]',
+ [% user.in_group('editusers') || user.bless_groups.size > 0 ? "true" : "false" %]);"
+ title="[% who.identity FILTER html %]">
[%- END -%]
- [% IF who.name %]
- <span class="fn">[% who.name FILTER html %]</span>
- [% ELSE %]
- [% who.login FILTER email FILTER html %]
+ [% IF who %]
+ [% IF who.name %]
+ <span class="fn">[% who.name FILTER html %]</span>
+ [% ELSE %]
+ <span class="ln">[% who.login FILTER email FILTER html %]</span>
+ [% END %]
+ [% IF user.id %]
+ <span class="arrow_container"><span class="arrow_down"></span></span>
+ [% END %]
[% END %]
[% '</a>' IF user.id %]
[% END %]
diff --git a/template/en/default/global/userselect.html.tmpl b/template/en/default/global/userselect.html.tmpl
index 1d0395043..d7b4786f9 100644
--- a/template/en/default/global/userselect.html.tmpl
+++ b/template/en/default/global/userselect.html.tmpl
@@ -30,6 +30,7 @@
# multiple: optional, do multiselect box, value is size (height) of box
# custom_userlist: optional, specify a limited list of users to use
# field_title: optional, extra information to display as a tooltip
+ # placeholder: optional, input only; placeholder attribute value
#%]
[% IF Param("usemenuforusers") %]
@@ -92,6 +93,7 @@
[% IF accesskey %] accesskey="[% accesskey FILTER html %]" [% END %]
[% IF field_title %] title="[% field_title FILTER html %]" [% END %]
[% IF size %] size="[% size FILTER html %]" [% END %]
+ [% IF placeholder %] placeholder="[% placeholder FILTER html %]" [% END %]
[% IF id %] id="[% id FILTER html %]" [% END %]
>
[% IF feature_enabled('jsonrpc') && Param('ajax_user_autocompletion') && id %]