Merge branch 'bufix/336_custom_mounting_path' into 2.0.0.rc

This commit is contained in:
Mario Visic 2012-04-06 15:55:13 +08:00
commit 7be37cf8d2
4 changed files with 36 additions and 4 deletions

View File

@ -4,9 +4,9 @@
#= require_tree ./views #= require_tree ./views
window.Locomotive = window.Locomotive =
mounted_on: '/locomotive' # default path mounted_on: window.Locomotive.mounted_on
Models: {} Models: {}
Collections: {} Collections: {}
Views: {} Views: {}
window.Locomotive.Views.Memberships = {} window.Locomotive.Views.Memberships = {}

View File

@ -7,6 +7,10 @@
%meta{ :name => 'key-param', :content => Rails.application.config.session_options[:key] } %meta{ :name => 'key-param', :content => Rails.application.config.session_options[:key] }
%meta{ :name => 'key-token', :content => cookies[key] } %meta{ :name => 'key-token', :content => cookies[key] }
%script{ :type => 'text/javascript' }
:plain
window.Locomotive = { mounted_on: '#{Locomotive.mounted_on}' };
= stylesheet_link_tag 'locomotive', :media => 'screen' = stylesheet_link_tag 'locomotive', :media => 'screen'
= javascript_include_tag 'locomotive' = javascript_include_tag 'locomotive'
@ -15,7 +19,6 @@
window.locale = '#{I18n.locale}'; window.locale = '#{I18n.locale}';
window.content_locale = '#{::Mongoid::Fields::I18n.locale}'; window.content_locale = '#{::Mongoid::Fields::I18n.locale}';
Locomotive.mounted_on = '#{Locomotive.mounted_on}';
Locomotive.current_site = new Locomotive.Models.Site(#{current_site.to_json}); Locomotive.current_site = new Locomotive.Models.Site(#{current_site.to_json});
Locomotive.current_account = new Locomotive.Models.Account(#{current_locomotive_account.to_json}); Locomotive.current_account = new Locomotive.Models.Account(#{current_locomotive_account.to_json});
@ -32,4 +35,4 @@
= yield :head = yield :head
= render 'locomotive/shared/main_app_head' = render 'locomotive/shared/main_app_head'

View File

@ -0,0 +1,13 @@
Feature: Mounting Locomotive CMS
As an administrator
In order to gain some flexibility when mounting locomotive CMS
I want to be able to mount locomotove on any given path
Background:
Given I have a site set up
@javascript
Scenario: Accessing the backend when mounted on a custom path
Given the engine is mounted on a non standard path
And I am an authenticated "admin"
Then I should be able to access the backend

View File

@ -0,0 +1,16 @@
Given /^the engine is mounted on a non standard path$/ do
Rails.application.routes.draw do
mount Locomotive::Engine => '/my-custom-path', :as => 'locomotive'
end
end
Then /^I should be able to access the backend$/ do
# Ensure we can access the backend
visit '/my-custom-path'
page.should have_content 'LocomotiveCMS'
# Ensure we can update the homepage content
click_link 'Home page'
click_button 'Save'
page.should have_content 'Page was successfully updated'
end