fixing extra form field rendering

Oleg committed Oct 06, 2011
commit 4530ddb6d5fe3721dbf1ec0ff3c2c4c74eae71cf
Showing 2 changed files with 11 additions and 1 deletions
app/views/cms_admin/pages/_form_blocks.html.erb +1 -1
@@ @@ -1,4 +1,4 @@
- <% block_tags = @page.tags(true).select{ |t| t.is_cms_block? } %>
+ <% block_tags = @page.tags(true).select{ |t| t.is_cms_block? }.uniq_by{|t| t.label} %>
<div id='form_blocks'>
<% if block_tags.empty? %>
test/functional/cms_admin/pages_controller_test.rb +10 -0
@@ @@ -162,6 +162,16 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase
assert_response :success
end
+ def test_get_new_with_repeated_tag
+ cms_layouts(:default).update_attribute(:content, '{{cms:page:test_label}}{{cms:page:test_label}}')
+ get :new, :site_id => cms_sites(:default)
+ assert_response :success
+ assert_select "textarea[name='page[blocks_attributes][0][content]'][class='code']"
+ assert_select "input[type='hidden'][name='page[blocks_attributes][0][label]'][value='test_label']"
+ assert_select "textarea[name='page[blocks_attributes][1][content]'][class='code']", 0
+ assert_select "input[type='hidden'][name='page[blocks_attributes][1][label]'][value='test_label']", 0
+ end
+
def test_get_new_as_child_page
get :new, :site_id => cms_sites(:default), :parent_id => cms_pages(:default)
assert_response :success