Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
475abdfc
Commit
475abdfc
authored
May 13, 2010
by
Max Kanat-Alexander
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 555850: Make fields.html help on enter_bug happen when the user hovers
over the fields r=timello, a=mkanat
parent
d3259eeb
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
141 additions
and
88 deletions
+141
-88
enter_bug.cgi
enter_bug.cgi
+14
-12
global.css
skins/standard/global.css
+3
-0
create.html.tmpl
template/en/default/bug/create/create.html.tmpl
+54
-53
field-help.none.tmpl
template/en/default/bug/field-help.none.tmpl
+15
-2
field-label.html.tmpl
template/en/default/bug/field-label.html.tmpl
+53
-0
field.html.tmpl
template/en/default/bug/field.html.tmpl
+1
-13
filterexceptions.pl
template/en/default/filterexceptions.pl
+0
-2
fields.html.tmpl
template/en/default/pages/fields.html.tmpl
+1
-6
No files found.
enter_bug.cgi
View file @
475abdfc
...
...
@@ -534,38 +534,40 @@ if ( Bugzilla->params->{'usetargetmilestone'} ) {
}
# Construct the list of allowable statuses.
my
$initial_statuses
=
Bugzilla::
Status
->
can_change_to
()
;
my
@statuses
=
@
{
Bugzilla::
Status
->
can_change_to
()
}
;
# Exclude closed states from the UI, even if the workflow allows them.
# The back-end code will still accept them, though.
@
$initial_statuses
=
grep
{
$_
->
is_open
}
@$initial_
statuses
;
@
statuses
=
grep
{
$_
->
is_open
}
@
statuses
;
my
@status
=
map
{
$_
->
name
}
@$initial_statuses
;
# UNCONFIRMED is illegal if allows_unconfirmed is false.
if
(
!
$product
->
allows_unconfirmed
)
{
@status
=
grep
{
$_
ne
'UNCONFIRMED'
}
@statu
s
;
@status
es
=
grep
{
$_
->
name
ne
'UNCONFIRMED'
}
@statuse
s
;
}
scalar
(
@status
)
||
ThrowUserError
(
'no_initial_bug_status'
);
scalar
(
@status
es
)
||
ThrowUserError
(
'no_initial_bug_status'
);
# If the user has no privs...
unless
(
$has_editbugs
||
$has_canconfirm
)
{
# ... use UNCONFIRMED if available, else use the first status of the list.
my
$bug_status
=
(
grep
{
$_
eq
'UNCONFIRMED'
}
@status
)
?
'UNCONFIRMED'
:
$status
[
0
];
@status
=
(
$bug_status
);
my
$bug_status
=
(
grep
{
$_
->
name
eq
'UNCONFIRMED'
}
@statuses
)
?
'UNCONFIRMED'
:
$statuses
[
0
]
->
name
;
@statuses
=
(
$bug_status
);
}
$vars
->
{
'bug_status'
}
=
\
@status
;
$vars
->
{
'bug_status'
}
=
\
@status
es
;
# Get the default from a template value if it is legitimate.
# Otherwise, and only if the user has privs, set the default
# to the first confirmed bug status on the list, if available.
if
(
formvalue
(
'bug_status'
)
&&
grep
{
$_
eq
formvalue
(
'bug_status'
)
}
@status
)
{
my
$picked_status
=
formvalue
(
'bug_status'
);
if
(
$picked_status
and
grep
(
$_
->
name
eq
$picked_status
,
@statuses
))
{
$default
{
'bug_status'
}
=
formvalue
(
'bug_status'
);
}
elsif
(
scalar
@status
==
1
)
{
$default
{
'bug_status'
}
=
$status
[
0
]
;
}
elsif
(
scalar
@status
es
==
1
)
{
$default
{
'bug_status'
}
=
$status
es
[
0
]
->
name
;
}
else
{
$default
{
'bug_status'
}
=
(
$status
[
0
]
ne
'UNCONFIRMED'
)
?
$status
[
0
]
:
$status
[
1
];
$default
{
'bug_status'
}
=
(
$statuses
[
0
]
->
name
ne
'UNCONFIRMED'
)
?
$statuses
[
0
]
->
name
:
$statuses
[
1
]
->
name
;
}
my
@groups
=
$cgi
->
param
(
'groups'
);
...
...
skins/standard/global.css
View file @
475abdfc
...
...
@@ -463,6 +463,9 @@ div.user_match {
vertical-align
:
top
;
font-weight
:
bold
;
}
.field_help_link
{
cursor
:
help
;
}
.field_value
,
form
#Create
th
,
form
#Create
td
{
vertical-align
:
top
;
}
...
...
template/en/default/bug/create/create.html.tmpl
View file @
475abdfc
...
...
@@ -214,10 +214,13 @@ TUI_hide_default('expert_fields');
[%# We can't use the select block in these two cases for various reasons. %]
<tr>
<th class="required">
<a href="describecomponents.cgi?product=[% product.name FILTER url_quote %]">
Component</a>:
</th>
[% component_desc_url = BLOCK -%]
describecomponents.cgi?product=[% product.name FILTER url_quote %]
[% END %]
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.component editable = 1 required = 1
desc_url = component_desc_url
%]
<td id="field_container_component">
<select name="component" id="component" onchange="set_assign_to();"
size="7" aria-required="true" class="required">
...
...
@@ -272,8 +275,9 @@ TUI_hide_default('expert_fields');
</tr>
<tr>
<th rowspan="3"><a href="page.cgi?id=fields.html#version">
[%- field_descs.version FILTER html %]:</a></th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.version editable = 1 rowspan = 3
%]
<td rowspan="3">
<select name="version" size="5">
[%- FOREACH v = version %]
...
...
@@ -321,8 +325,7 @@ TUI_hide_default('expert_fields');
<tbody class="expert_fields">
<tr>
[% IF Param('usetargetmilestone') && Param('letsubmitterchoosemilestone') %]
[% sel = { description => 'Target Milestone', name => 'target_milestone' } %]
[% INCLUDE select %]
[% INCLUDE select field = bug_fields.target_milestone %]
[% ELSE %]
<td colspan="2"> </td>
[% END %]
...
...
@@ -343,15 +346,10 @@ TUI_hide_default('expert_fields');
</tr>
<tr>
[% IF bug_status.size <= 1 %]
<input type="hidden" name="bug_status"
value="[% default.bug_status FILTER html %]">
<th>Initial State:</th>
<td>[% display_value("bug_status", default.bug_status) FILTER html %]</td>
[% 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 %]
<td> </td>
[%# Calculate the number of rows we can use for flags %]
...
...
@@ -382,7 +380,9 @@ TUI_hide_default('expert_fields');
</tr>
<tr>
<th><a href="page.cgi?id=fields.html#assigned_to">Assign To</a>:</th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.assigned_to editable = 1
%]
<td colspan="2">
[% INCLUDE global/userselect.html.tmpl
id => "assigned_to"
...
...
@@ -399,8 +399,9 @@ TUI_hide_default('expert_fields');
[% IF Param("useqacontact") %]
<tr>
<th><a href="page.cgi?id=fields.html#qa_contact">
[%- field_descs.qa_contact FILTER html %]:</a></th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.qa_contact editable = 1
%]
<td colspan="2">
[% INCLUDE global/userselect.html.tmpl
id => "qa_contact"
...
...
@@ -417,8 +418,9 @@ TUI_hide_default('expert_fields');
[% END %]
<tr>
<th><a href="page.cgi?id=fields.html#cc">
[%- field_descs.cc FILTER html %]:</a></th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.cc editable = 1
%]
<td colspan="2">
[% INCLUDE global/userselect.html.tmpl
id => "cc"
...
...
@@ -445,8 +447,9 @@ TUI_hide_default('expert_fields');
[% IF user.is_timetracker %]
<tr>
<th><a href="page.cgi?id=fields.html#estimated_time">Estimated
Hours:</a></th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.estimated_time editable = 1
%]
<td colspan="2">
<input name="estimated_time" size="6" maxlength="6" value="[% estimated_time FILTER html %]">
</td>
...
...
@@ -464,8 +467,9 @@ TUI_hide_default('expert_fields');
[% IF Param("usebugaliases") %]
<tr>
<th><a href="page.cgi?id=fields.html#alias">
[%- field_descs.alias FILTER html %]:</a></th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.alias editable = 1
%]
<td colspan="2">
<input name="alias" size="20" value="[% alias FILTER html %]">
</td>
...
...
@@ -473,8 +477,9 @@ TUI_hide_default('expert_fields');
[% END %]
<tr>
<th><a href="page.cgi?id=fields.html#bug_file_loc">
[%- field_descs.bug_file_loc FILTER html %]:</a></th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.bug_file_loc editable = 1
%]
<td colspan="2">
<input name="bug_file_loc" size="40"
value="[% bug_file_loc FILTER html %]">
...
...
@@ -499,8 +504,9 @@ TUI_hide_default('expert_fields');
<tbody>
<tr>
<th class="required"><a href="page.cgi?id=fields.html#short_desc">
[%- field_descs.short_desc FILTER html %]:</a></th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.short_desc editable = 1 required = 1
%]
<td colspan="3">
<input name="short_desc" size="70" value="[% short_desc FILTER html %]"
maxlength="255" spellcheck="true" aria-required="true"
...
...
@@ -590,7 +596,10 @@ TUI_hide_default('expert_fields');
[% IF user.in_group('editbugs', product.id) %]
[% IF use_keywords %]
<tr>
<th><a href="describekeywords.cgi">Keywords</a>:</th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.keywords editable = 1
desc_url = "describekeywords.cgi"
%]
<td colspan="3">
<input id="keywords" name="keywords" size="40"
value="[% keywords FILTER html %]"> (optional)
...
...
@@ -599,15 +608,17 @@ TUI_hide_default('expert_fields');
[% END %]
<tr>
<th><a href="page.cgi?id=fields.html#dependson">
[%- field_descs.dependson FILTER html %]:</a></th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.dependson editable = 1
%]
<td colspan="3">
<input name="dependson" accesskey="d" value="[% dependson FILTER html %]">
</td>
</tr>
<tr>
<th><a href="page.cgi?id=fields.html#blocked">
[%- field_descs.blocked FILTER html %]:</a></th>
[% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.blocked editable = 1
%]
<td colspan="3">
<input name="blocked" accesskey="b" value="[% blocked FILTER html %]">
</td>
...
...
@@ -678,30 +689,20 @@ TUI_hide_default('expert_fields');
[%############################################################################%]
[% BLOCK select %]
[% IF sel.description %]
<th>
<a href="page.cgi?id=fields.html#[% sel.name %]">[% sel.description %]</a>:
</th>
[% END %]
[% INCLUDE "bug/field-label.html.tmpl"
field = field editable = 1
%]
<td>
<select name="[% sel.name %]" id="[% sel.name %]">
[%- FOREACH x = ${sel.name} %]
<select name="[% field.name FILTER html %]"
id="[% field.name FILTER html %]">
[%- FOREACH x = ${field.name} %]
<option value="[% x FILTER html %]"
[% " selected=\"selected\"" IF x == default.${
sel
.name} %]>
[% display_value(
sel
.name, x) FILTER html %]
[% " selected=\"selected\"" IF x == default.${
field
.name} %]>
[% display_value(
field
.name, x) FILTER html %]
</option>
[% END %]
</select>
[% IF sel.name == "bug_status" %]
<script type="text/javascript">
<!--
[%+ INCLUDE "bug/field-events.js.tmpl"
field = bug_fields.bug_status %]
//-->
</script>
[% END %]
</td>
[% END %]
...
...
template/en/default/bug/field-help.none.tmpl
View file @
475abdfc
...
...
@@ -149,8 +149,8 @@ status_whiteboard =>
_ " adding tags and status information.",
target_milestone =>
"The
target_milestone field is used to define when the engineer
"
_ " the $terms.bug is assigned to expects to fix it.",
"The
$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"
...
...
@@ -215,6 +215,19 @@ email1 =>
[% END %]
[% FOREACH help_field = bug_fields.keys %]
[%# Add help for custom fields. %]
[% IF !help_html.${help_field}.defined %]
[% SET field_type = bug_fields.${help_field}.type %]
[% field_type_desc = BLOCK -%]
[% field_types.$field_type FILTER html %]
[%- END %]
[% 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 [% field_descs.${help_field} FILTER html %] search you
would like.
...
...
template/en/default/bug/field-label.html.tmpl
0 → 100644
View file @
475abdfc
[%# 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 <mkanat@bugzilla.org>
#%]
[%# 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.
# required: True if this field must have a value.
# rowspan: a "rowspan" value for the label's <th>.
#%]
[% PROCESS "bug/field-help.none.tmpl" %]
<th class="field_label [% ' bz_hidden_field' IF hidden %]
[%- ' required' IF required %]"
id="field_label_[% field.name FILTER html %]"
[% IF rowspan %] rowspan="[% rowspan FILTER html %]"[% END %]>
[% IF editable %]
<label for="[% field.name FILTER html %]">
[% END %]
<a
[% IF help_html.${field.name}.defined %]
title="[% help_html.${field.name} FILTER txt FILTER collapse FILTER html %]"
class="field_help_link"
[% END %]
[% IF desc_url %]
href="[% desc_url FILTER html %]"
[% ELSE %]
href="page.cgi?id=fields.html#[% field.name FILTER url_quote %]"
[% END %]
>[%- field_descs.${field.name} FILTER html %]:</a>
[% '</label>' IF editable %]
</th>
template/en/default/bug/field.html.tmpl
View file @
475abdfc
...
...
@@ -47,19 +47,7 @@
[% END %]
[% IF NOT no_tds %]
<th class="field_label [% ' bz_hidden_field' IF hidden %]"
id="field_label_[% field.name FILTER html %]">
[% IF editable %]
<label for="[% field.name FILTER html %]">
[% END %]
[% IF desc_url %]
<a href="[% desc_url FILTER html %]">
[% ELSE %]
<a href="page.cgi?id=fields.html#[% field.name FILTER url_quote %]">
[% END %]
[%- field_descs.${field.name} FILTER html %]:</a>
[% '</label>' IF editable %]
</th>
[% PROCESS "bug/field-label.html.tmpl" %]
[% END %]
[% IF NOT no_tds %]
...
...
template/en/default/filterexceptions.pl
View file @
475abdfc
...
...
@@ -316,8 +316,6 @@
],
'bug/create/create.html.tmpl'
=>
[
'sel.name'
,
'sel.description'
,
'cloned_bug_id'
,
],
...
...
template/en/default/pages/fields.html.tmpl
View file @
475abdfc
...
...
@@ -267,12 +267,7 @@
<dt id="[% field FILTER html %]">[% field_desc FILTER html %]</dt>
<dd>
[% SET help_text = field_help_map.${field_desc}.help %]
[% IF help_text %]
[% help_text FILTER none %]
[% ELSE %]
A custom [% field_types.${field_object.type} FILTER html %] field in
this installation of [% terms.Bugzilla %].
[% END %]
[% help_text FILTER none %]
</dd>
[% END %]
</dl>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment