mirror widgets are not crashing now
Oleg
committed Jun 23, 2011
commit acdf3542e50773ec8be3ebef63c62e3a317cc30b
Showing 2
changed files with
20 additions
and 18 deletions
app/views/cms_admin/sites/_mirrors.html.erb
+5
-5
| @@ | @@ -1,16 +1,16 @@ |
| <% | |
| object ||= mirrors | |
| - | return unless object && object.mirrors.present? |
| + | return unless @site.is_mirrored? |
| options = case object | |
| when Cms::Layout | |
| - | object.mirrors.collect{|m| [m.site.label, edit_cms_admin_layout_url(m, :host => m.site.hostname)]} |
| + | object.mirrors.collect{|m| [m.site.label, edit_cms_admin_site_layout_path(m.site, m)]} |
| when Cms::Page | |
| - | object.mirrors.collect{|m| [m.site.label, edit_cms_admin_page_url(m, :host => m.site.hostname)]} |
| + | object.mirrors.collect{|m| [m.site.label, edit_cms_admin_site_page_path(m.site, m)]} |
| when Cms::Snippet | |
| - | object.mirrors.collect{|m| [m.site.label, edit_cms_admin_snippet_url(m, :host => m.site.hostname)]} |
| + | object.mirrors.collect{|m| [m.site.label, edit_cms_admin_site_snippet_path(m.site, m)]} |
| else | |
| - | (Cms::Site.mirrored - [@site]).collect{|s| [s.label, url_for(:host => s.hostname)]} |
| + | (Cms::Site.mirrored - [@site]).collect{|s| [s.label, url_for(params.merge(:site_id => s))]} |
| end | |
| options = [[@site.label, request.fullpath]] + options | |
| %> | |
test/integration/mirrors_test.rb
+15
-13
| @@ | @@ -3,7 +3,9 @@ require File.expand_path('../test_helper', File.dirname(__FILE__)) |
| class MirrorsTest < ActionDispatch::IntegrationTest | |
| def setup | |
| - | Cms::Site.create!(:hostname => 'test-b.host', :is_mirrored => true) |
| + | @site_a = cms_sites(:default) |
| + | @site_a.update_attribute(:is_mirrored, true) |
| + | @site_b = Cms::Site.create!(:hostname => 'test-b.host', :is_mirrored => true) |
| # making mirrors | |
| Cms::Layout.all.each{ |l| l.save! } | |
| Cms::Page.all.each{ |p| p.save! } | |
| @@ | @@ -11,10 +13,10 @@ class MirrorsTest < ActionDispatch::IntegrationTest |
| end | |
| def test_get_layouts | |
| - | http_auth :get, cms_admin_layouts_path |
| + | http_auth :get, cms_admin_site_layouts_path(@site_a) |
| assert_response :success | |
| assert_select 'select#mirror' do | |
| - | assert_select 'option[value="http://test-b.host/cms-admin/layouts"]' |
| + | assert_select "option[value='/cms-admin/sites/#{@site_b.id}/layouts']" |
| end | |
| end | |
| @@ | @@ -22,18 +24,18 @@ class MirrorsTest < ActionDispatch::IntegrationTest |
| layout = cms_layouts(:default) | |
| assert mirror = layout.mirrors.first | |
| - | http_auth :get, edit_cms_admin_layout_path(layout) |
| + | http_auth :get, edit_cms_admin_site_layout_path(@site_a, layout) |
| assert_response :success | |
| assert_select 'select#mirror' do | |
| - | assert_select "option[value='http://test-b.host/cms-admin/layouts/#{mirror.id}/edit']" |
| + | assert_select "option[value='/cms-admin/sites/#{@site_b.id}/layouts/#{mirror.id}/edit']" |
| end | |
| end | |
| def test_get_pages | |
| - | http_auth :get, cms_admin_pages_path |
| + | http_auth :get, cms_admin_site_pages_path(@site_a) |
| assert_response :success | |
| assert_select 'select#mirror' do | |
| - | assert_select 'option[value="http://test-b.host/cms-admin/pages"]' |
| + | assert_select "option[value='/cms-admin/sites/#{@site_b.id}/pages']" |
| end | |
| end | |
| @@ | @@ -41,18 +43,18 @@ class MirrorsTest < ActionDispatch::IntegrationTest |
| page = cms_pages(:default) | |
| assert mirror = page.mirrors.first | |
| - | http_auth :get, edit_cms_admin_page_path(page) |
| + | http_auth :get, edit_cms_admin_site_page_path(@site_a, page) |
| assert_response :success | |
| assert_select 'select#mirror' do | |
| - | assert_select "option[value='http://test-b.host/cms-admin/pages/#{mirror.id}/edit']" |
| + | assert_select "option[value='/cms-admin/sites/#{@site_b.id}/pages/#{mirror.id}/edit']" |
| end | |
| end | |
| def test_get_snippets | |
| - | http_auth :get, cms_admin_snippets_path |
| + | http_auth :get, cms_admin_site_snippets_path(@site_a) |
| assert_response :success | |
| assert_select 'select#mirror' do | |
| - | assert_select 'option[value="http://test-b.host/cms-admin/snippets"]' |
| + | assert_select "option[value='/cms-admin/sites/#{@site_b.id}/snippets']" |
| end | |
| end | |
| @@ | @@ -60,10 +62,10 @@ class MirrorsTest < ActionDispatch::IntegrationTest |
| snippet = cms_snippets(:default) | |
| assert mirror = snippet.mirrors.first | |
| - | http_auth :get, edit_cms_admin_snippet_path(snippet) |
| + | http_auth :get, edit_cms_admin_site_snippet_path(@site_a, snippet) |
| assert_response :success | |
| assert_select 'select#mirror' do | |
| - | assert_select "option[value='http://test-b.host/cms-admin/snippets/#{mirror.id}/edit']" |
| + | assert_select "option[value='/cms-admin/sites/#{@site_b.id}/snippets/#{mirror.id}/edit']" |
| end | |
| end | |