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