summaryrefslogtreecommitdiffstats
path: root/template/en/default/bug/field.html.tmpl
diff options
context:
space:
mode:
Diffstat (limited to 'template/en/default/bug/field.html.tmpl')
-rw-r--r--template/en/default/bug/field.html.tmpl63
1 files changed, 56 insertions, 7 deletions
diff --git a/template/en/default/bug/field.html.tmpl b/template/en/default/bug/field.html.tmpl
index 58f1b0ccc..73131225d 100644
--- a/template/en/default/bug/field.html.tmpl
+++ b/template/en/default/bug/field.html.tmpl
@@ -57,8 +57,9 @@
value="[% value FILTER html %]" size="40"
maxlength="[% constants.MAX_FREETEXT_LENGTH FILTER none %]"
[% ' aria-required="true"' IF field.is_mandatory %]>
- [% CASE constants.FIELD_TYPE_DATETIME %]
- <input name="[% field.name FILTER html %]" size="20"
+ [% CASE [constants.FIELD_TYPE_DATETIME, constants.FIELD_TYPE_DATE] %]
+ [% size = (field.type == constants.FIELD_TYPE_DATE) ? 10 : 20 %]
+ <input name="[% field.name FILTER html %]" size="[% size FILTER none %]"
id="[% field.name FILTER html %]"
value="[% value FILTER html %]"
[% ' aria-required="true"' IF field.is_mandatory %]
@@ -97,6 +98,7 @@
</script>
[% CASE [ constants.FIELD_TYPE_SINGLE_SELECT
constants.FIELD_TYPE_MULTI_SELECT ] %]
+ <input type="hidden" id="[% field.name FILTER html %]_dirty">
<select id="[% field.name FILTER html %]"
name="[% field.name FILTER html %]"
[% IF field.type == constants.FIELD_TYPE_MULTI_SELECT %]
@@ -121,6 +123,30 @@
[% END %]
[% FOREACH legal_value = legal_values %]
[% NEXT IF NOT legal_value.is_active AND NOT value.contains(legal_value.name).size %]
+
+ [%# Purpose: hide field values from those who can't change them %]
+ [% IF field.name.match("^cf_blocking_") OR
+ field.name.match("^cf_status_") OR
+ field.name.match("^cf_tracking_") OR
+ field.name == "resolution" %]
+ [% NEXT UNLESS bug.check_can_change_field(field.name, '---', legal_value.name) OR
+ value.contains(legal_value.name).size %]
+ [% END %]
+
+ [% IF field.name == "resolution" &&
+ legal_value.name != bug.resolution %]
+ [% r = legal_value.name %]
+ [% IF bug.user.canconfirm &&
+ !(bug.user.canedit || bug.user.isreporter) %]
+ [% NEXT IF r != "WORKSFORME" && r != "INCOMPLETE" %]
+ [% END %]
+ [% IF bug.user.isreporter &&
+ !(bug.user.canconfirm || bug.user.canedit) %]
+ [% NEXT IF r == "INCOMPLETE" %]
+ [% END %]
+ [% NEXT IF r == "EXPIRED" %]
+ [% END %]
+
<option value="[% legal_value.name FILTER html %]"
id="v[% legal_value.id FILTER html %]_
[%- field.name FILTER html %]"
@@ -155,9 +181,28 @@
</script>
[% CASE constants.FIELD_TYPE_TEXTAREA %]
- [% INCLUDE global/textarea.html.tmpl
- id = field.name name = field.name minrows = 4 maxrows = 8
- cols = 60 defaultcontent = value mandatory = field.is_mandatory %]
+ <div id="[% field.name FILTER html %]_edit_container" class="bz_default_hidden">
+ <div>
+ (<a href="#" id="[% field.name FILTER html %]_edit_action">edit</a>)
+ </div>
+ [% IF value %]
+ <pre class="field_textarea_readonly">[% value FILTER html %]</pre>
+ [% END %]
+ </div>
+ <div id="[% field.name FILTER html %]_input">
+ [% INCLUDE global/textarea.html.tmpl
+ id = field.name name = field.name minrows = 4 maxrows = 8
+ cols = 60 defaultcontent = value mandatory = field.is_mandatory %]
+ </div>
+ <script type="text/javascript">
+ hideEditableField('[% field.name FILTER js %]_edit_container',
+ '[% field.name FILTER js %]_input',
+ '[% field.name FILTER js %]_edit_action',
+ '[% field.name FILTER js %]',
+ '[% value FILTER js %]',
+ '',
+ true);
+ </script>
[% CASE constants.FIELD_TYPE_BUG_URLS %]
[% '<ul class="bug_urls">' IF value.size %]
[% FOREACH bug_url = value %]
@@ -173,11 +218,11 @@
[% IF Param('use_see_also') %]
<span id="container_showhide_[% field.name FILTER html %]"
class="bz_default_hidden">
- <a href="#" id="showhide_[% field.name FILTER html %]">(add)</a>
+ (<a href="#" id="showhide_[% field.name FILTER html %]">add</a>)
</span>
<div id="container_[% field.name FILTER html %]">
<label for="[% field.name FILTER html %]">
- <strong>Add [% terms.Bug %] URLs:</strong>
+ Add [% terms.Bug %] URLs:
</label><br>
<input type="text" id="[% field.name FILTER html %]" size="40"
class="text_input" name="[% field.name FILTER html %]">
@@ -201,6 +246,8 @@
YAHOO.bugzilla.keywordAutocomplete.init('[% field.name FILTER js %]',
'keyword_autocomplete');
</script>
+ [% CASE constants.FIELD_TYPE_EXTENSION %]
+ [% Hook.process('editable') %]
[% END %]
[% ELSE %]
[% SWITCH field.type %]
@@ -224,6 +271,8 @@
</li>
[% END %]
[% '</ul>' IF value.size %]
+ [% CASE constants.FIELD_TYPE_EXTENSION %]
+ [% Hook.process('non_editable') %]
[% CASE %]
[% value.join(', ') FILTER html %]
[% END %]