From 2e2e2cfe425c2664517fb59836fbd3eff5e35861 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 14 Dec 2013 08:22:43 +0000 Subject: Merged custom fields format refactoring. git-svn-id: http://svn.redmine.org/redmine/trunk@12400 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/views/custom_fields/_form.html.erb | 71 ++++++----------------- app/views/custom_fields/_index.html.erb | 2 +- app/views/custom_fields/formats/_bool.html.erb | 2 + app/views/custom_fields/formats/_date.html.erb | 2 + app/views/custom_fields/formats/_link.html.erb | 3 + app/views/custom_fields/formats/_list.html.erb | 6 ++ app/views/custom_fields/formats/_numeric.html.erb | 2 + app/views/custom_fields/formats/_regexp.html.erb | 10 ++++ app/views/custom_fields/formats/_string.html.erb | 3 + app/views/custom_fields/formats/_text.html.erb | 3 + app/views/custom_fields/formats/_user.html.erb | 24 ++++++++ app/views/custom_fields/formats/_version.html.erb | 24 ++++++++ app/views/custom_fields/new.html.erb | 3 +- 13 files changed, 101 insertions(+), 54 deletions(-) create mode 100644 app/views/custom_fields/formats/_bool.html.erb create mode 100644 app/views/custom_fields/formats/_date.html.erb create mode 100644 app/views/custom_fields/formats/_link.html.erb create mode 100644 app/views/custom_fields/formats/_list.html.erb create mode 100644 app/views/custom_fields/formats/_numeric.html.erb create mode 100644 app/views/custom_fields/formats/_regexp.html.erb create mode 100644 app/views/custom_fields/formats/_string.html.erb create mode 100644 app/views/custom_fields/formats/_text.html.erb create mode 100644 app/views/custom_fields/formats/_user.html.erb create mode 100644 app/views/custom_fields/formats/_version.html.erb (limited to 'app/views/custom_fields') diff --git a/app/views/custom_fields/_form.html.erb b/app/views/custom_fields/_form.html.erb index 356d0bca3..a6417bb53 100644 --- a/app/views/custom_fields/_form.html.erb +++ b/app/views/custom_fields/_form.html.erb @@ -1,14 +1,12 @@ <%= error_messages_for 'custom_field' %> -<% if @custom_field.is_a?(IssueCustomField) %>
-<% end %> -

<%= f.text_field :name, :required => true %>

+

<%= f.text_area :description, :rows => 7 %>

<%= f.select :field_format, custom_field_formats_for_select(@custom_field), {}, :disabled => !@custom_field.new_record? %>

-<% if @custom_field.format_in? 'list', 'user', 'version' %> +<% if @custom_field.format.multiple_supported %>

<%= f.check_box :multiple %> <% if !@custom_field.new_record? && @custom_field.multiple %> @@ -17,56 +15,38 @@

<% end %> -<% unless @custom_field.format_in? 'list', 'bool', 'date', 'user', 'version' %> -

- <%= f.text_field :min_length, :size => 5, :no_label => true %> - - <%= f.text_field :max_length, :size => 5, :no_label => true %>
(<%=l(:text_min_max_length_info)%>)

-

<%= f.text_field :regexp, :size => 50 %>
(<%=l(:text_regexp_info)%>)

-<% end %> - -<% if @custom_field.format_in? 'list' %> -

- <%= f.text_area :possible_values, :value => @custom_field.possible_values.to_a.join("\n"), :rows => 15 %> - <%= l(:text_custom_field_possible_values_info) %> -

-<% end %> - -<% case @custom_field.field_format %> -<% when 'bool' %> -

<%= f.check_box(:default_value) %>

-<% when 'text' %> -

<%= f.text_area(:default_value, :rows => 8) %>

-<% when 'date' %> -

<%= f.text_field(:default_value, :size => 10) %>

- <%= calendar_for('custom_field_default_value') %> -<% when 'user', 'version' %> -<% else %> -

<%= f.text_field(:default_value) %>

-<% end %> +<%= render_custom_field_format_partial f, @custom_field %> <%= call_hook(:view_custom_fields_form_upper_box, :custom_field => @custom_field, :form => f) %>
+

<%= submit_tag l(:button_save) %>

+
+
<% case @custom_field.class.name when "IssueCustomField" %>

<%= f.check_box :is_required %>

-

<%= f.check_box :is_for_all %>

+

<%= f.check_box :is_for_all, :data => {:disables => '#custom_field_project_ids input'} %>

<%= f.check_box :is_filter %>

+ <% if @custom_field.format.searchable_supported %>

<%= f.check_box :searchable %>

+ <% end %>

<% Role.givable.sorted.each do |role| %> <% end %> @@ -82,7 +62,9 @@ when "IssueCustomField" %> <% when "ProjectCustomField" %>

<%= f.check_box :is_required %>

<%= f.check_box :visible %>

+ <% if @custom_field.format.searchable_supported %>

<%= f.check_box :searchable %>

+ <% end %>

<%= f.check_box :is_filter %>

<% when "VersionCustomField" %> @@ -103,12 +85,9 @@ when "IssueCustomField" %> <% end %> <%= call_hook(:"view_custom_fields_form_#{@custom_field.type.to_s.underscore}", :custom_field => @custom_field, :form => f) %>
-<%= submit_tag l(:button_save) %> <% if @custom_field.is_a?(IssueCustomField) %> -
-
-
<%=l(:label_tracker_plural)%> +
<%=l(:label_tracker_plural)%> <% Tracker.sorted.all.each do |tracker| %> <%= check_box_tag "custom_field[tracker_ids][]", tracker.id, @@ -119,6 +98,7 @@ when "IssueCustomField" %> <% end %> <%= hidden_field_tag "custom_field[tracker_ids][]", '' %> +

<%= check_all_links 'custom_field_tracker_ids' %>

<%= l(:label_project_plural) %> @@ -128,20 +108,7 @@ when "IssueCustomField" %> <%= hidden_field_tag('custom_field[project_ids][]', '', :id => nil) %>

<%= check_all_links 'custom_field_project_ids' %>

-
<% end %> + <% include_calendar_headers_tags %> - -<%= javascript_tag do %> -function toggleCustomFieldRoles(){ - var checked = $("#custom_field_visible_on").is(':checked'); - $('.custom_field_role input').attr('disabled', checked); -} -$("#custom_field_visible_on, #custom_field_visible_off").change(toggleCustomFieldRoles); -$(document).ready(toggleCustomFieldRoles); - -$("#custom_field_is_for_all").change(function(){ - $("#custom_field_project_ids input").attr("disabled", $(this).is(":checked")); -}).trigger('change'); -<% end %> diff --git a/app/views/custom_fields/_index.html.erb b/app/views/custom_fields/_index.html.erb index d55d08cfc..4752c2519 100644 --- a/app/views/custom_fields/_index.html.erb +++ b/app/views/custom_fields/_index.html.erb @@ -14,7 +14,7 @@ <% (@custom_fields_by_type[tab[:name]] || []).sort.each do |custom_field| -%> "> <%= link_to h(custom_field.name), edit_custom_field_path(custom_field) %> - <%= l(Redmine::CustomFieldFormat.label_for(custom_field.field_format)) %> + <%= l(custom_field.format.label) %> <%= checked_image custom_field.is_required? %> <% if tab[:name] == 'IssueCustomField' %> <%= checked_image custom_field.is_for_all? %> diff --git a/app/views/custom_fields/formats/_bool.html.erb b/app/views/custom_fields/formats/_bool.html.erb new file mode 100644 index 000000000..25c464fb9 --- /dev/null +++ b/app/views/custom_fields/formats/_bool.html.erb @@ -0,0 +1,2 @@ +

<%= f.select :default_value, [[]]+@custom_field.possible_values_options %>

+

<%= edit_tag_style_tag f %>

diff --git a/app/views/custom_fields/formats/_date.html.erb b/app/views/custom_fields/formats/_date.html.erb new file mode 100644 index 000000000..807a9269e --- /dev/null +++ b/app/views/custom_fields/formats/_date.html.erb @@ -0,0 +1,2 @@ +

<%= f.text_field(:default_value, :size => 10) %>

+<%= calendar_for('custom_field_default_value') %> diff --git a/app/views/custom_fields/formats/_link.html.erb b/app/views/custom_fields/formats/_link.html.erb new file mode 100644 index 000000000..9b7d342e0 --- /dev/null +++ b/app/views/custom_fields/formats/_link.html.erb @@ -0,0 +1,3 @@ +<%= render :partial => 'custom_fields/formats/regexp', :locals => {:f => f, :custom_field => custom_field} %> +

<%= f.text_field :url_pattern, :size => 50, :label => :field_url %>

+

<%= f.text_field(:default_value) %>

diff --git a/app/views/custom_fields/formats/_list.html.erb b/app/views/custom_fields/formats/_list.html.erb new file mode 100644 index 000000000..9bbd6a243 --- /dev/null +++ b/app/views/custom_fields/formats/_list.html.erb @@ -0,0 +1,6 @@ +

+ <%= f.text_area :possible_values, :value => @custom_field.possible_values.to_a.join("\n"), :rows => 15 %> + <%= l(:text_custom_field_possible_values_info) %> +

+

<%= f.text_field(:default_value) %>

+

<%= edit_tag_style_tag f %>

diff --git a/app/views/custom_fields/formats/_numeric.html.erb b/app/views/custom_fields/formats/_numeric.html.erb new file mode 100644 index 000000000..06187485d --- /dev/null +++ b/app/views/custom_fields/formats/_numeric.html.erb @@ -0,0 +1,2 @@ +<%= render :partial => 'custom_fields/formats/regexp', :locals => {:f => f, :custom_field => custom_field} %> +

<%= f.text_field(:default_value) %>

diff --git a/app/views/custom_fields/formats/_regexp.html.erb b/app/views/custom_fields/formats/_regexp.html.erb new file mode 100644 index 000000000..0b630347a --- /dev/null +++ b/app/views/custom_fields/formats/_regexp.html.erb @@ -0,0 +1,10 @@ +

+ + <%= f.text_field :min_length, :size => 5, :no_label => true %> - + <%= f.text_field :max_length, :size => 5, :no_label => true %> + <%= l(:text_min_max_length_info) %> +

+

+ <%= f.text_field :regexp, :size => 50 %> + <%= l(:text_regexp_info) %> +

diff --git a/app/views/custom_fields/formats/_string.html.erb b/app/views/custom_fields/formats/_string.html.erb new file mode 100644 index 000000000..0c71243a8 --- /dev/null +++ b/app/views/custom_fields/formats/_string.html.erb @@ -0,0 +1,3 @@ +<%= render :partial => 'custom_fields/formats/regexp', :locals => {:f => f, :custom_field => custom_field} %> +

<%= f.check_box :text_formatting, {:label => :setting_text_formatting}, 'full', '' %>

+

<%= f.text_field(:default_value) %>

diff --git a/app/views/custom_fields/formats/_text.html.erb b/app/views/custom_fields/formats/_text.html.erb new file mode 100644 index 000000000..e72dcab42 --- /dev/null +++ b/app/views/custom_fields/formats/_text.html.erb @@ -0,0 +1,3 @@ +<%= render :partial => 'custom_fields/formats/regexp', :locals => {:f => f, :custom_field => custom_field} %> +

<%= f.check_box :text_formatting, {:label => :setting_text_formatting}, 'full', '' %>

+

<%= f.text_area(:default_value, :rows => 5) %>

diff --git a/app/views/custom_fields/formats/_user.html.erb b/app/views/custom_fields/formats/_user.html.erb new file mode 100644 index 000000000..3bb4d29c0 --- /dev/null +++ b/app/views/custom_fields/formats/_user.html.erb @@ -0,0 +1,24 @@ +

+ + + + <% Role.givable.sorted.each do |role| %> + + <% end %> + <%= hidden_field_tag 'custom_field[user_role][]', '' %> +

+

<%= edit_tag_style_tag f %>

diff --git a/app/views/custom_fields/formats/_version.html.erb b/app/views/custom_fields/formats/_version.html.erb new file mode 100644 index 000000000..b8060d20e --- /dev/null +++ b/app/views/custom_fields/formats/_version.html.erb @@ -0,0 +1,24 @@ +

+ + + + <% Version::VERSION_STATUSES.each do |status| %> + + <% end %> + <%= hidden_field_tag 'custom_field[version_status][]', '' %> +

+

<%= edit_tag_style_tag f %>

diff --git a/app/views/custom_fields/new.html.erb b/app/views/custom_fields/new.html.erb index 69328412e..6c5809e73 100644 --- a/app/views/custom_fields/new.html.erb +++ b/app/views/custom_fields/new.html.erb @@ -12,7 +12,8 @@ $('#custom_field_field_format').change(function(){ $.ajax({ url: '<%= new_custom_field_path(:format => 'js') %>', type: 'get', - data: $('#custom_field_form').serialize() + data: $('#custom_field_form').serialize(), + complete: toggleDisabledInit }); }); <% end %> -- cgit v1.2.3