Commit dd7e39a5dc2541c35f0477d89cab76961f1d8efc
Exists in
web_steps_improvements
and in
8 other branches
Merge branch 'removes_date_field_formats' into 'master'
Removes date fields format customization Aims to fix a bug where the _datepicker_ component was not able to correctly retrieve the date displayed in the text field due format compatibility. Since there is no reliable way to convert the formats (used by `strftime` and the _datepicker_), the option to customize the date format was removed from the `date_field` and `date_range_field` helpers. See merge request !811
Showing
7 changed files
with
13 additions
and
14 deletions
Show diff stats
app/helpers/forms_helper.rb
@@ -137,7 +137,7 @@ module FormsHelper | @@ -137,7 +137,7 @@ module FormsHelper | ||
137 | content_tag('table',rows.join("\n")) | 137 | content_tag('table',rows.join("\n")) |
138 | end | 138 | end |
139 | 139 | ||
140 | - def date_field(name, value, format = '%Y-%m-%d', datepicker_options = {}, html_options = {}) | 140 | + def date_field(name, value, datepicker_options = {}, html_options = {}) |
141 | datepicker_options[:disabled] ||= false | 141 | datepicker_options[:disabled] ||= false |
142 | datepicker_options[:alt_field] ||= '' | 142 | datepicker_options[:alt_field] ||= '' |
143 | datepicker_options[:alt_format] ||= '' | 143 | datepicker_options[:alt_format] ||= '' |
@@ -152,7 +152,7 @@ module FormsHelper | @@ -152,7 +152,7 @@ module FormsHelper | ||
152 | datepicker_options[:close_text] ||= _('Done') | 152 | datepicker_options[:close_text] ||= _('Done') |
153 | datepicker_options[:constrain_input] ||= true | 153 | datepicker_options[:constrain_input] ||= true |
154 | datepicker_options[:current_text] ||= _('Today') | 154 | datepicker_options[:current_text] ||= _('Today') |
155 | - datepicker_options[:date_format] ||= 'yy/mm/dd' | 155 | + datepicker_options[:date_format] ||= 'yy-mm-dd' |
156 | datepicker_options[:day_names] ||= [_('Sunday'), _('Monday'), _('Tuesday'), _('Wednesday'), _('Thursday'), _('Friday'), _('Saturday')] | 156 | datepicker_options[:day_names] ||= [_('Sunday'), _('Monday'), _('Tuesday'), _('Wednesday'), _('Thursday'), _('Friday'), _('Saturday')] |
157 | datepicker_options[:day_names_min] ||= [_('Su'), _('Mo'), _('Tu'), _('We'), _('Th'), _('Fr'), _('Sa')] | 157 | datepicker_options[:day_names_min] ||= [_('Su'), _('Mo'), _('Tu'), _('We'), _('Th'), _('Fr'), _('Sa')] |
158 | datepicker_options[:day_names_short] ||= [_('Sun'), _('Mon'), _('Tue'), _('Wed'), _('Thu'), _('Fri'), _('Sat')] | 158 | datepicker_options[:day_names_short] ||= [_('Sun'), _('Mon'), _('Tue'), _('Wed'), _('Thu'), _('Fri'), _('Sat')] |
@@ -184,10 +184,11 @@ module FormsHelper | @@ -184,10 +184,11 @@ module FormsHelper | ||
184 | datepicker_options[:year_range] ||= 'c-10:c+10' | 184 | datepicker_options[:year_range] ||= 'c-10:c+10' |
185 | datepicker_options[:year_suffix] ||= '' | 185 | datepicker_options[:year_suffix] ||= '' |
186 | 186 | ||
187 | + date_format = datepicker_options[:time] ? "%Y-%m-%d %H:%M" : "%Y-%m-%d" | ||
188 | + value = value.strftime(date_format) if value.present? | ||
189 | + | ||
187 | element_id = html_options[:id] || 'datepicker-date' | 190 | element_id = html_options[:id] || 'datepicker-date' |
188 | - value = value.strftime(format) if value.present? | ||
189 | method = datepicker_options[:time] ? 'datetimepicker' : 'datepicker' | 191 | method = datepicker_options[:time] ? 'datetimepicker' : 'datepicker' |
190 | - current_date_or_nil = value.present? ? "new Date('#{value}')" : "null" | ||
191 | result = text_field_tag(name, value, html_options) | 192 | result = text_field_tag(name, value, html_options) |
192 | result += | 193 | result += |
193 | " | 194 | " |
@@ -238,17 +239,17 @@ module FormsHelper | @@ -238,17 +239,17 @@ module FormsHelper | ||
238 | weekHeader: #{datepicker_options[:week_header].to_json}, | 239 | weekHeader: #{datepicker_options[:week_header].to_json}, |
239 | yearRange: #{datepicker_options[:year_range].to_json}, | 240 | yearRange: #{datepicker_options[:year_range].to_json}, |
240 | yearSuffix: #{datepicker_options[:year_suffix].to_json} | 241 | yearSuffix: #{datepicker_options[:year_suffix].to_json} |
241 | - }).datepicker('setDate', current_date_or_nil) | 242 | + }).datepicker() |
242 | </script> | 243 | </script> |
243 | ".html_safe | 244 | ".html_safe |
244 | result | 245 | result |
245 | end | 246 | end |
246 | 247 | ||
247 | - def date_range_field(from_name, to_name, from_value, to_value, format = '%Y-%m-%d', datepicker_options = {}, html_options = {}) | 248 | + def date_range_field(from_name, to_name, from_value, to_value, datepicker_options = {}, html_options = {}) |
248 | from_id = html_options[:from_id] || 'datepicker-from-date' | 249 | from_id = html_options[:from_id] || 'datepicker-from-date' |
249 | to_id = html_options[:to_id] || 'datepicker-to-date' | 250 | to_id = html_options[:to_id] || 'datepicker-to-date' |
250 | - return _('From') +' '+ date_field(from_name, from_value, format, datepicker_options, html_options.merge({:id => from_id})) + | ||
251 | - ' ' + _('until') +' '+ date_field(to_name, to_value, format, datepicker_options, html_options.merge({:id => to_id})) | 251 | + return _('From') +' '+ date_field(from_name, from_value, datepicker_options, html_options.merge({:id => from_id})) + |
252 | + ' ' + _('until') +' '+ date_field(to_name, to_value, datepicker_options, html_options.merge({:id => to_id})) | ||
252 | end | 253 | end |
253 | 254 | ||
254 | def select_folder(label_text, field_id, collection, default_value=nil, html_options = {}, js_options = {}) | 255 | def select_folder(label_text, field_id, collection, default_value=nil, html_options = {}, js_options = {}) |
app/views/cms/_event.html.erb
@@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
8 | <%= render :partial => 'general_fields' %> | 8 | <%= render :partial => 'general_fields' %> |
9 | <%= render :partial => 'translatable' %> | 9 | <%= render :partial => 'translatable' %> |
10 | 10 | ||
11 | -<%= date_range_field('article[start_date]', 'article[end_date]', @article.start_date, @article.end_date, _('%Y-%m-%d %H:%M'), {:time => true}, {:id => 'article_start_date'} ) %> | 11 | +<%= date_range_field('article[start_date]', 'article[end_date]', @article.start_date, @article.end_date, {:time => true}, {:id => 'article_start_date'} ) %> |
12 | 12 | ||
13 | 13 | ||
14 | <%= labelled_form_field(_('Event website:'), text_field(:article, :link)) %> | 14 | <%= labelled_form_field(_('Event website:'), text_field(:article, :link)) %> |
app/views/cms/_text_fields.html.erb
1 | -<%= labelled_form_field(_('Publish date'), date_field('article[published_at]', @article.published_at || DateTime.current, '%Y-%m-%d', {:max_date => '+0d', :date_format => 'yy-mm-dd'}, {:id => "article_published_at"})) %> | 1 | +<%= labelled_form_field(_('Publish date'), date_field('article[published_at]', @article.published_at || DateTime.current, {:max_date => '+0d', :date_format => 'yy-mm-dd'}, {:id => "article_published_at"})) %> |
app/views/custom_fields/_date.html.erb
1 | -<%= labelled_form_field(field.name, date_field(name, profile.custom_value(field.name).to_date, '%Y-%m-%d', {:change_month => true, :change_year => true, :year_range => '-100:-5', :date_format => 'yy-mm-dd'}, {:id => field.name.parameterize.underscore}))%> | 1 | +<%= labelled_form_field(field.name, date_field(name, profile.custom_value(field.name).to_date, {:change_month => true, :change_year => true, :year_range => '-100:-5', :date_format => 'yy-mm-dd'}, {:id => field.name.parameterize.underscore}))%> |
app/views/profile_editor/_person_form.html.erb
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | <%= optional_field(@person, 'jabber_id', f.text_field(:jabber_id, :rel => _('Jabber'))) %> | 16 | <%= optional_field(@person, 'jabber_id', f.text_field(:jabber_id, :rel => _('Jabber'))) %> |
17 | <%= optional_field(@person, 'personal_website', f.text_field(:personal_website, :rel => _('Personal website'))) %> | 17 | <%= optional_field(@person, 'personal_website', f.text_field(:personal_website, :rel => _('Personal website'))) %> |
18 | <%= optional_field(@person, 'sex', f.radio_group(:profile_data, :sex, [ ['male',_('Male')], ['female',_('Female')] ])) %> | 18 | <%= optional_field(@person, 'sex', f.radio_group(:profile_data, :sex, [ ['male',_('Male')], ['female',_('Female')] ])) %> |
19 | -<%= optional_field(@person, 'birth_date', labelled_form_field(_('Birth date'), date_field('profile_data[birth_date]', @profile_data. birth_date, '%Y-%m-%d', {:change_month => true, :change_year => true, :year_range => '-100:-5', :date_format => 'yy-mm-dd'}, {:id => 'profile_data_birth_date'}))) %> | 19 | +<%= optional_field(@person, 'birth_date', labelled_form_field(_('Birth date'), date_field('profile_data[birth_date]', @profile_data. birth_date, {:change_month => true, :change_year => true, :year_range => '-100:-5', :date_format => 'yy-mm-dd'}, {:id => 'profile_data_birth_date'}))) %> |
20 | <%= optional_field(@person, 'nationality', f.text_field(:nationality, :rel => _('Nationality'))) %> | 20 | <%= optional_field(@person, 'nationality', f.text_field(:nationality, :rel => _('Nationality'))) %> |
21 | <%= optional_field(@person, 'country', select_country(_('Country'), 'profile_data', 'country', {:class => 'type-select'})) %> | 21 | <%= optional_field(@person, 'country', select_country(_('Country'), 'profile_data', 'country', {:class => 'type-select'})) %> |
22 | <%= optional_field(@person, 'state', f.text_field(:state, :id => 'state_field', :rel => _('State'))) %> | 22 | <%= optional_field(@person, 'state', f.text_field(:state, :id => 'state_field', :rel => _('State'))) %> |
plugins/community_track/views/cms/community_track_plugin/_step.html.erb
@@ -6,7 +6,6 @@ | @@ -6,7 +6,6 @@ | ||
6 | <%= required f.text_field('name', :size => '64', :maxlength => 150) %> | 6 | <%= required f.text_field('name', :size => '64', :maxlength => 150) %> |
7 | <%= labelled_form_field(_('Period'), ( | 7 | <%= labelled_form_field(_('Period'), ( |
8 | date_range_field('article[start_date]', 'article[end_date]', @article.start_date, @article.end_date, | 8 | date_range_field('article[start_date]', 'article[end_date]', @article.start_date, @article.end_date, |
9 | - '%Y-%m-%d', | ||
10 | { :change_month => true, :change_year => true, | 9 | { :change_month => true, :change_year => true, |
11 | :date_format => 'yy-mm-dd' }, | 10 | :date_format => 'yy-mm-dd' }, |
12 | { :size => 14 }) | 11 | { :size => 14 }) |
plugins/custom_forms/views/custom_forms_plugin_myprofile/_form.html.erb
@@ -5,7 +5,6 @@ | @@ -5,7 +5,6 @@ | ||
5 | <%= required labelled_form_field _('Name'), f.text_field(:name) %> | 5 | <%= required labelled_form_field _('Name'), f.text_field(:name) %> |
6 | <%= labelled_form_field(_('What is the time limit for this form to be filled?'), ( | 6 | <%= labelled_form_field(_('What is the time limit for this form to be filled?'), ( |
7 | date_range_field('form[begining]', 'form[ending]', @form.begining, @form.ending, | 7 | date_range_field('form[begining]', 'form[ending]', @form.begining, @form.ending, |
8 | - '%Y/%m/%d %H:%M', | ||
9 | { :time => true, :change_month => true, :change_year => true, | 8 | { :time => true, :change_month => true, :change_year => true, |
10 | :date_format => 'yy-mm-dd', :time_format => 'hh:mm' }, | 9 | :date_format => 'yy-mm-dd', :time_format => 'hh:mm' }, |
11 | { :size => 14 }) | 10 | { :size => 14 }) |