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