more tweaking for datetime fields
Oleg
committed Sep 16, 2011
commit 9a0221e3b63e4c8eeb7fcd94c64e2ee6597c667f
Showing 5
changed files with
21 additions
and 18 deletions
app/assets/javascripts/comfortable_mexican_sofa/application.js
+1
-1
| @@ | @@ -91,7 +91,7 @@ $.CMS = function(){ |
| }, | |
| enable_date_picker: function(){ | |
| - | $('input[type=datetime], input[type=text].datetime').datepicker(); |
| + | $('input[type=text].date').datepicker({ dateFormat: 'yy-mm-dd' }); |
| }, | |
| tree_methods: function(){ | |
app/assets/stylesheets/comfortable_mexican_sofa/form.css
+2
-2
| @@ | @@ -67,13 +67,13 @@ |
| #cms_body #form_blocks .no_tags code { | |
| color: #B85042; | |
| } | |
| - | #cms_body .form_element.field_datetime .label, |
| + | #cms_body .form_element.field_date_time .label, |
| #cms_body .form_element.field_integer .label, | |
| #cms_body .form_element.field_string .label, | |
| #cms_body .form_element.field_text .label { | |
| border-color: #48699C; | |
| } | |
| - | #cms_body .form_element.page_datetime .label, |
| + | #cms_body .form_element.page_date_time .label, |
| #cms_body .form_element.page_integer .label, | |
| #cms_body .form_element.page_string .label, | |
| #cms_body .form_element.page_text .label, | |
comfortable_mexican_sofa/form_builder.rb b/lib/comfortable_mexican_sofa/form_builder.rb
+13
-5
| @@ | @@ -60,16 +60,24 @@ class ComfortableMexicanSofa::FormBuilder < ActionView::Helpers::FormBuilder |
| css_class = options[:css_class] || tag.class.to_s.demodulize.underscore | |
| field_css_class = case tag | |
| - | when ComfortableMexicanSofa::Tag::PageRichText |
| - | 'rich_text' |
| + | when ComfortableMexicanSofa::Tag::PageDateTime, ComfortableMexicanSofa::Tag::FieldDateTime |
| + | 'date' |
| when ComfortableMexicanSofa::Tag::PageText, ComfortableMexicanSofa::Tag::FieldText | |
| 'code' | |
| + | when ComfortableMexicanSofa::Tag::PageRichText |
| + | 'rich_text' |
| end | |
| options[:content_field_method] ||= :text_field_tag | |
| field = | |
| options[:field] || | |
| - | @template.send(options[:content_field_method], 'page[blocks_attributes][][content]', tag.content, :id => nil, :class => field_css_class) |
| + | @template.send( |
| + | options[:content_field_method], |
| + | 'page[blocks_attributes][][content]', |
| + | tag.content, |
| + | :id => nil, |
| + | :class => field_css_class |
| + | ) |
| %( | |
| <div class='form_element #{css_class}'> | |
| @@ | @@ -83,7 +91,7 @@ class ComfortableMexicanSofa::FormBuilder < ActionView::Helpers::FormBuilder |
| end | |
| def field_date_time(tag) | |
| - | default_tag_field(tag, :content_field_method => :datetime_field_tag) |
| + | default_tag_field(tag) |
| end | |
| def field_integer(tag) | |
| @@ | @@ -99,7 +107,7 @@ class ComfortableMexicanSofa::FormBuilder < ActionView::Helpers::FormBuilder |
| end | |
| def page_date_time(tag) | |
| - | default_tag_field(tag, :content_field_method => :datetime_field_tag) |
| + | default_tag_field(tag) |
| end | |
| def page_integer(tag) | |
comfortable_mexican_sofa/view_methods.rb b/lib/comfortable_mexican_sofa/view_methods.rb
+0
-5
| @@ | @@ -10,11 +10,6 @@ module ComfortableMexicanSofa::ViewMethods |
| content_tag(:span, *args) | |
| end | |
| - | # Rails 3.0 doesn't have this helper defined |
| - | def datetime_field_tag(name, value = nil, options = {}) |
| - | text_field_tag(name, value, options.stringify_keys.update('type' => 'datetime')) |
| - | end |
| - | |
| # Injects some content somewhere inside cms admin area | |
| def cms_hook(name, options = {}) | |
| ComfortableMexicanSofa::ViewHooks.render(name, self, options) | |
test/functional/cms_admin/pages_controller_test.rb
+5
-5
| @@ | @@ -48,7 +48,7 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase |
| def test_get_new_with_field_datetime | |
| cms_layouts(:default).update_attribute(:content, '{{cms:field:test_label:datetime}}') | |
| get :new, :site_id => cms_sites(:default) | |
| - | assert_select "input[type='datetime'][name='page[blocks_attributes][][content]']" |
| + | assert_select "input[type='text'][name='page[blocks_attributes][][content]'][class='date']" |
| assert_select "input[type='hidden'][name='page[blocks_attributes][][label]'][value='test_label']" | |
| end | |
| @@ | @@ -69,14 +69,14 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase |
| def test_get_new_with_field_text | |
| cms_layouts(:default).update_attribute(:content, '{{cms:field:test_label:text}}') | |
| get :new, :site_id => cms_sites(:default) | |
| - | assert_select "textarea[name='page[blocks_attributes][][content]']" |
| + | assert_select "textarea[name='page[blocks_attributes][][content]'][class='code']" |
| assert_select "input[type='hidden'][name='page[blocks_attributes][][label]'][value='test_label']" | |
| end | |
| def test_get_new_with_page_datetime | |
| cms_layouts(:default).update_attribute(:content, '{{cms:page:test_label:datetime}}') | |
| get :new, :site_id => cms_sites(:default) | |
| - | assert_select "input[type='datetime'][name='page[blocks_attributes][][content]']" |
| + | assert_select "input[type='text'][name='page[blocks_attributes][][content]'][class='date']" |
| assert_select "input[type='hidden'][name='page[blocks_attributes][][label]'][value='test_label']" | |
| end | |
| @@ | @@ -97,14 +97,14 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase |
| def test_get_new_with_page_text | |
| cms_layouts(:default).update_attribute(:content, '{{cms:page:test_label}}') | |
| get :new, :site_id => cms_sites(:default) | |
| - | assert_select "textarea[name='page[blocks_attributes][][content]']" |
| + | assert_select "textarea[name='page[blocks_attributes][][content]'][class='code']" |
| assert_select "input[type='hidden'][name='page[blocks_attributes][][label]'][value='test_label']" | |
| end | |
| def test_get_new_with_rich_page_text | |
| cms_layouts(:default).update_attribute(:content, '{{cms:page:test_label:rich_text}}') | |
| get :new, :site_id => cms_sites(:default) | |
| - | assert_select "textarea[name='page[blocks_attributes][][content]']" |
| + | assert_select "textarea[name='page[blocks_attributes][][content]'][class='rich_text']" |
| assert_select "input[type='hidden'][name='page[blocks_attributes][][label]'][value='test_label']" | |
| end | |