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.tmpl111
1 files changed, 63 insertions, 48 deletions
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 <myk@mozilla.org>
# Max Kanat-Alexander <mkanat@bugzilla.org>
# Elliotte Martin <elliotte_martin@yahoo.com>
+ # Guy Pyrzak <guy.pyrzak@gmail.com>
+ # Reed Loden <reed@reedloden.com>
#%]
[%# 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 %]
- <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 %]">
- [% ELSIF !field.custom %]
- <a href="page.cgi?id=fields.html#[% field.name FILTER url_quote %]">
- [% END -%]
- [% field_descs.${field.name} FILTER html %]:
- [%- '</a>' IF (!field.custom || desc_url) %]
- [% '</label>' IF editable %]
- </th>
-[% END %]
-
-[% IF NOT no_tds %]
-<td class="field_value [% ' bz_hidden_field' IF hidden %]"
- id="field_container_[% field.name FILTER html %]"
- [% " colspan=\"$value_span\"" FILTER none IF value_span %]>
+ [% PROCESS "bug/field-label.html.tmpl" %]
+ <td class="field_value [% ' bz_hidden_field' IF hidden %]"
+ id="field_container_[% field.name FILTER html %]"
+ [% " colspan=\"$value_span\"" FILTER none IF value_span %]>
[% END %]
[% Hook.process('start_field_column') %]
[% IF editable %]
@@ -77,11 +61,13 @@
<input id="[% field.name FILTER html %]" class="text_input"
name="[% field.name FILTER html %]"
value="[% value FILTER html %]" size="40"
- maxlength="[% constants.MAX_FREETEXT_LENGTH FILTER none %]">
+ 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"
id="[% field.name FILTER html %]"
value="[% value FILTER html %]"
+ [% ' aria-required="true"' IF field.is_mandatory %]
onchange="updateCalendarFromField(this)">
<button type="button" class="calendar_button"
id="button_calendar_[% field.name FILTER html %]"
@@ -89,8 +75,7 @@
<span>Calendar</span>
</button>
- <div id="con_calendar_[% field.name FILTER html %]"
- class="yui-skin-sam"></div>
+ <div id="con_calendar_[% field.name FILTER html %]"></div>
<script type="text/javascript">
createCalendar('[% field.name FILTER js %]')
@@ -98,11 +83,13 @@
[% CASE constants.FIELD_TYPE_BUG_ID %]
<span id="[% field.name FILTER html %]_input_area">
<input name="[% field.name FILTER html %]" id="[% field.name FILTER html %]"
- value="[% value FILTER html %]" size="7">
+ value="[% value FILTER html %]" size="7"
+ [% ' aria-required="true"' IF field.is_mandatory %]>
+
</span>
- [% IF bug.${field.name} %]
- [% bug.${field.name} FILTER bug_link(bug.${field.name}) FILTER none %]
+ [% IF value %]
+ [% value FILTER bug_link(value, use_alias => 1) FILTER none %]
[% END %]
<span id="[% field.name FILTER html %]_edit_container" class="edit_me bz_default_hidden">
(<a href="#" id="[% field.name FILTER html %]_edit_action">edit</a>)
@@ -112,7 +99,7 @@
'[% field.name FILTER js %]_input_area',
'[% field.name FILTER js %]_edit_action',
'[% field.name FILTER js %]',
- "[% bug.${field.name} FILTER js %]");
+ "[% value FILTER js %]");
</script>
[% 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 %]
<option value="[% legal_value.name FILTER html %]"
id="v[% legal_value.id FILTER html %]_
[%- field.name FILTER html %]"
@@ -147,10 +133,7 @@
# hidden %]
[% IF value.contains(legal_value.name).size %]
selected="selected"
- [% ELSIF (control_field && control_value
- && !bug.${control_field.name}.contains(control_value.name))
- || !legal_value.is_active
- %]
+ [% ELSIF bug AND !legal_value.is_visible_on_bug(bug) %]
class="bz_hidden_option" disabled="disabled"
[% END %]>
[%- display_value(field.name, legal_value.name) FILTER html ~%]
@@ -178,38 +161,70 @@
[% CASE constants.FIELD_TYPE_TEXTAREA %]
[% INCLUDE global/textarea.html.tmpl
id = field.name name = field.name minrows = 4 maxrows = 8
- cols = 60 defaultcontent = value %]
+ cols = 60 defaultcontent = value mandatory = field.is_mandatory %]
[% CASE constants.FIELD_TYPE_BUG_URLS %]
[% '<ul class="bug_urls">' IF value.size %]
[% FOREACH url = value %]
<li>
<a href="[% url FILTER html %]">[% url FILTER html %]</a>
- [% IF editable %]
- <label><input type="checkbox" value="[% url FILTER html %]"
- name="remove_[% field.name FILTER html %]">
- Remove</label>
- [% END %]
+ <label><input type="checkbox" value="[% url FILTER html %]"
+ name="remove_[% field.name FILTER html %]">
+ Remove</label>
</li>
[% END %]
[% '</ul>' IF value.size %]
- [% IF editable && Param('use_see_also') %]
+ [% IF Param('use_see_also') %]
<label for="[% field.name FILTER html %]">
<strong>Add [% terms.Bug %] URLs:</strong>
</label><br>
<input type="text" id="[% field.name FILTER html %]" size="40"
class="text_input" name="[% field.name FILTER html %]">
[% END %]
+ [% CASE constants.FIELD_TYPE_KEYWORDS %]
+ <div id="keyword_container">
+ <input type="text" id="[% field.name FILTER html %]" size="40"
+ class="text_input" name="[% field.name FILTER html %]"
+ value="[% value FILTER html %]">
+ <div id="keyword_autocomplete"></div>
+ </div>
+ <script type="text/javascript" defer="defer">
+ YAHOO.bugzilla.keyword_array = [
+ [%- FOREACH keyword = all_keywords %]
+ [%-# %]"[% keyword.name FILTER js %]"
+ [%- "," IF NOT loop.last %][% END %]];
+ YAHOO.bugzilla.keywordAutocomplete.init('[% field.name FILTER js %]',
+ 'keyword_autocomplete');
+ </script>
[% END %]
[% ELSIF field.type == constants.FIELD_TYPE_TEXTAREA %]
<div class="uneditable_textarea">[% value FILTER wrap_comment(60)
FILTER html %]</div>
[% ELSIF field.type == constants.FIELD_TYPE_BUG_ID %]
- [% IF bug.${field.name} %]
- [% bug.${field.name} FILTER bug_link(bug.${field.name}) FILTER none %]
+ [% IF value %]
+ [% value FILTER bug_link(value, use_alias => 1) FILTER none %]
[% END %]
+[% ELSIF field.type == constants.FIELD_TYPE_BUG_URLS %]
+ [% '<ul class="bug_urls">' IF value.size %]
+ [% FOREACH url = value %]
+ <li><a href="[% url FILTER html %]">[% url FILTER html %]</a></li>
+ [% END %]
+ [% '</ul>' IF value.size %]
[% ELSE %]
[% value.join(', ') FILTER html %]
[% END %]
[% Hook.process('end_field_column') %]
[% '</td>' IF NOT no_tds %]
+
+[%# for reverse relationships, we show this pseudo-field after the main field %]
+[% IF bug.id && field.is_relationship %]
+ [% extra_field_item = {} %]
+ [% extra_field_item.header = field.reverse_desc _ ":" FILTER html %]
+ [% extra_field_item.data = BLOCK %]
+ [% FOREACH depbug = bug.related_bugs(field) %]
+ [% depbug.id FILTER bug_link(depbug, use_alias => 1) FILTER none %][% " " %]
+ [% END %]
+ [% END %]
+[% ELSE %]
+ [% extra_field_item = '' %]
+[% END %]