refinerycms-core 0.9.9.22 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/controllers/admin/dialogs_controller.rb +8 -11
- data/app/controllers/sitemap_controller.rb +1 -1
- data/app/views/shared/_header.html.erb +1 -2
- data/app/views/shared/_menu.html.erb +17 -32
- data/app/views/shared/_menu_branch.html.erb +3 -5
- data/features/dialogs.feature +20 -0
- data/features/step_definitions/core_steps.rb +1 -3
- data/features/support/paths.rb +10 -6
- data/lib/gemspec.rb +1 -1
- data/lib/generators/refinerycms_generator.rb +1 -1
- data/lib/refinery/helpers/menu_helper.rb +25 -30
- data/lib/refinery/helpers/site_bar_helper.rb +2 -2
- data/lib/refinery/menu.rb +67 -0
- data/lib/refinery/menu_item.rb +75 -0
- data/lib/refinerycms-core.rb +2 -0
- data/public/javascripts/jquery-ui-custom-min.js +0 -0
- data/refinerycms-core.gemspec +12 -5
- data/spec/controllers/fast_controller_spec.rb +10 -0
- data/spec/controllers/refinery_core_controller_spec.rb +18 -0
- data/spec/controllers/sitemap_controller_spec.rb +27 -0
- metadata +12 -6
@@ -2,20 +2,17 @@ module Admin
|
|
2
2
|
class DialogsController < Admin::BaseController
|
3
3
|
|
4
4
|
def show
|
5
|
-
|
6
|
-
url_params = params.reject {|key, value| key =~ /(action)|(controller)/}
|
5
|
+
@dialog_type = params[:id].downcase
|
7
6
|
|
8
|
-
|
9
|
-
insert_admin_images_path(url_params.merge(:id => nil, :modal => true))
|
10
|
-
elsif @dialog_type == 'link'
|
11
|
-
link_to_admin_pages_dialogs_path(url_params.merge(:id => nil))
|
12
|
-
end
|
7
|
+
url_params = params.reject {|key, value| key =~ /(action)|(controller)/}
|
13
8
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
9
|
+
@iframe_src = if @dialog_type == 'image'
|
10
|
+
insert_admin_images_path(url_params.merge(:id => nil, :modal => true))
|
11
|
+
elsif @dialog_type == 'link'
|
12
|
+
link_to_admin_pages_dialogs_path(url_params.merge(:id => nil))
|
18
13
|
end
|
14
|
+
|
15
|
+
render :layout => false
|
19
16
|
end
|
20
17
|
|
21
18
|
def from_dialog?
|
@@ -6,7 +6,7 @@ class SitemapController < ::Refinery::FastController
|
|
6
6
|
|
7
7
|
respond_to do |format|
|
8
8
|
format.xml do
|
9
|
-
@locales = if
|
9
|
+
@locales = if ::Refinery.i18n_enabled?
|
10
10
|
::Refinery::I18n.frontend_locales
|
11
11
|
else
|
12
12
|
[::I18n.locale]
|
@@ -1,34 +1,19 @@
|
|
1
1
|
<%
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
css = [(css || 'menu'), 'clearfix'].flatten.join(' ')
|
20
|
-
hide_children = RefinerySetting.find_or_set(:menu_hide_children, false) if hide_children.nil?
|
21
|
-
-%>
|
22
|
-
<nav id='<%= dom_id %>' class='<%= css %>'>
|
23
|
-
<ul>
|
24
|
-
<%= render :partial => '/shared/menu_branch',
|
25
|
-
:collection => roots,
|
26
|
-
:locals => {
|
27
|
-
:hide_children => hide_children,
|
28
|
-
:sibling_count => (roots.length - 1),
|
29
|
-
:apply_css => true #if you don't care about class='first' class='last' or class='selected' set apply_css to false for speed.
|
30
|
-
} -%>
|
31
|
-
</ul>
|
32
|
-
</nav>
|
33
|
-
<% end -%>
|
2
|
+
# Collect the root items.
|
3
|
+
# Refinery::Menu is smart enough to remember all of the items in the original collection.
|
4
|
+
if (roots = local_assigns[:roots] || (collection ||= @menu_pages).roots).present?
|
5
|
+
dom_id ||= 'menu'
|
6
|
+
css = [(css || 'menu'), 'clearfix'].flatten.join(' ')
|
7
|
+
hide_children = RefinerySetting.find_or_set(:menu_hide_children, false) if hide_children.nil?
|
8
|
+
-%>
|
9
|
+
<nav id='<%= dom_id %>' class='<%= css %>'>
|
10
|
+
<ul>
|
11
|
+
<%= render :partial => '/shared/menu_branch', :collection => roots,
|
12
|
+
:locals => {
|
13
|
+
:hide_children => hide_children,
|
14
|
+
:sibling_count => (roots.length - 1),
|
15
|
+
:apply_css => true #if you don't care about class='first' class='last' or class='selected' set apply_css to false for speed.
|
16
|
+
} -%>
|
17
|
+
</ul>
|
18
|
+
</nav>
|
34
19
|
<% end -%>
|
@@ -2,16 +2,14 @@
|
|
2
2
|
if !!local_assigns[:apply_css] and (classes = menu_branch_css(local_assigns)).any?
|
3
3
|
css = "class='#{classes.join(' ')}'".html_safe
|
4
4
|
end
|
5
|
+
# dom_id DEPRECATED: REMOVE AT 1.1, serves no purpose same with css attributes 'first' and 'last'
|
5
6
|
dom_id = "id='item_#{menu_branch_counter}'".html_safe if menu_branch.parent_id.nil?
|
6
|
-
|
7
|
-
children = menu_branch.children.live.in_menu unless hide_children or menu_branch.rgt == menu_branch.lft + 1
|
8
7
|
-%>
|
9
8
|
<li<%= ['', css, dom_id].compact.join(' ').gsub(/\ *$/, '').html_safe %>>
|
10
9
|
<%= link_to menu_branch.title, menu_branch.url -%>
|
11
|
-
<% if children.present? -%>
|
10
|
+
<% if (children = menu_branch.children unless hide_children).present? -%>
|
12
11
|
<ul class='clearfix'>
|
13
|
-
<%= render :partial => '/shared/menu_branch',
|
14
|
-
:collection => children,
|
12
|
+
<%= render :partial => '/shared/menu_branch', :collection => children,
|
15
13
|
:locals => {
|
16
14
|
:apply_css => local_assigns[:apply_css],
|
17
15
|
:hide_children => !!hide_children
|
@@ -0,0 +1,20 @@
|
|
1
|
+
@refinerycms @dialogs
|
2
|
+
Feature: Dialogs
|
3
|
+
In order to manage images and links when editing a page
|
4
|
+
As an administrator
|
5
|
+
I want to insert images and links on the WYMeditor
|
6
|
+
|
7
|
+
Background:
|
8
|
+
Given I am a logged in refinery user
|
9
|
+
|
10
|
+
Scenario: Show the dialog with the iframe src for links
|
11
|
+
When I go to the admin dialog for links path
|
12
|
+
Then the page should have the css "iframe[src="/refinery/pages_dialogs/link_to"]"
|
13
|
+
|
14
|
+
Scenario: Show the dialog with the iframe src for images
|
15
|
+
When I go to the admin dialog for images path
|
16
|
+
Then the page should have the css "iframe[src="/refinery/images/insert?modal=true"]"
|
17
|
+
|
18
|
+
Scenario: Show the dialog with an empty iframe src
|
19
|
+
When I go to the admin dialog for empty iframe src
|
20
|
+
Then the page should have the css "iframe[src=""]"
|
@@ -4,9 +4,7 @@ Given %r`not logged in$` do
|
|
4
4
|
end
|
5
5
|
|
6
6
|
Given /locale is (.+?)$/ do |locale|
|
7
|
-
if
|
8
|
-
::Refinery::I18n.current_locale = locale.to_sym
|
9
|
-
end
|
7
|
+
::Refinery::I18n.current_locale = locale.to_sym if ::Refinery.i18n_enabled?
|
10
8
|
end
|
11
9
|
|
12
10
|
Given %r`(?:log|am logged) in as "([^\"]+)"$` do |login|
|
data/features/support/paths.rb
CHANGED
@@ -2,12 +2,16 @@ module NavigationHelpers
|
|
2
2
|
module Refinery
|
3
3
|
module Core
|
4
4
|
def path_to(page_name)
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
case page_name
|
6
|
+
when /the admin dialog for links path/
|
7
|
+
admin_dialog_path('Link')
|
8
|
+
when /the admin dialog for images path/
|
9
|
+
admin_dialog_path('Image')
|
10
|
+
when /the admin dialog for empty iframe src/
|
11
|
+
admin_dialog_path('a')
|
12
|
+
else
|
13
|
+
nil
|
14
|
+
end
|
11
15
|
end
|
12
16
|
end
|
13
17
|
end
|
data/lib/gemspec.rb
CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.add_dependency 'refinerycms-generators', '~> 1.0'
|
25
25
|
s.add_dependency 'acts_as_indexed', '~> 0.7'
|
26
26
|
s.add_dependency 'friendly_id_globalize3', '~> 3.2.1'
|
27
|
-
s.add_dependency 'globalize3', '
|
27
|
+
s.add_dependency 'globalize3', '~> 0.1'
|
28
28
|
s.add_dependency 'awesome_nested_set', '~> 2.0'
|
29
29
|
s.add_dependency 'rails', '~> 3.0.7'
|
30
30
|
s.add_dependency 'truncate_html', '~> 0.5'
|
@@ -108,7 +108,7 @@ class RefinerycmsGenerator < ::Refinery::Generators::EngineInstaller
|
|
108
108
|
end
|
109
109
|
|
110
110
|
# Ensure i18n exists and is up to date.
|
111
|
-
if
|
111
|
+
if ::Refinery.i18n_enabled?
|
112
112
|
require 'generators/refinerycms_i18n_generator'
|
113
113
|
::RefinerycmsI18n.new.generate
|
114
114
|
end
|
@@ -16,31 +16,22 @@ module Refinery
|
|
16
16
|
|
17
17
|
# This was extracted from app/views/shared/_menu_branch.html.erb
|
18
18
|
# to remove the complexity of that template by reducing logic in the view.
|
19
|
-
def css_for_menu_branch(
|
20
|
-
# DEPRECATION. Remove at version 1.1
|
21
|
-
if warning
|
22
|
-
warn "\n-- DEPRECATION WARNING --"
|
23
|
-
warn "The use of 'css_for_menu_branch' is deprecated and will be removed at version 1.1."
|
24
|
-
warn "Please use menu_branch_css(local_assigns) instead."
|
25
|
-
warn "Called from: #{caller.detect{|c| c =~ %r{#{Rails.root.to_s}}}.inspect.to_s.split(':in').first}\n\n"
|
26
|
-
end
|
19
|
+
def css_for_menu_branch(item, counter, sibling_count = nil, collection = nil, selected_item = nil, warning = true)
|
27
20
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
21
|
+
Refinery.deprecate({
|
22
|
+
:what => 'css_for_menu_branch',
|
23
|
+
:when => '1.1',
|
24
|
+
:replacement => 'menu_branch_css(local_assigns)',
|
25
|
+
:caller => caller
|
26
|
+
}) if warning
|
33
27
|
|
34
|
-
if
|
35
|
-
|
36
|
-
warn "The use of 'selected_item' is deprecated and will be removed at version 1.1."
|
37
|
-
warn "Called from: #{caller.detect{|c| c =~ %r{#{Rails.root.to_s}}}.inspect.to_s.split(':in').first}\n\n"
|
38
|
-
end
|
28
|
+
Refinery.deprecate(:what => 'collection', :when => '1.1', :caller => caller) if collection
|
29
|
+
Refinery.deprecate(:what => 'selected_item', :when => '1.1', :caller => caller) if selected_item
|
39
30
|
|
40
31
|
css = []
|
41
|
-
css << "selected" if selected_page_or_descendant_page_selected?(
|
42
|
-
css << "first" if
|
43
|
-
css << "last" if
|
32
|
+
css << "selected" if selected_page_or_descendant_page_selected?(item, collection, selected_item)
|
33
|
+
css << "first" if counter == 0
|
34
|
+
css << "last" if counter == (sibling_count ||= (item.shown_siblings.length - 1))
|
44
35
|
css
|
45
36
|
end
|
46
37
|
|
@@ -48,7 +39,7 @@ module Refinery
|
|
48
39
|
# This maps to the older css_for_menu_branch method.
|
49
40
|
def menu_branch_css(local_assigns)
|
50
41
|
options = local_assigns.dup
|
51
|
-
options.update(:sibling_count => options[:menu_branch].shown_siblings.
|
42
|
+
options.update(:sibling_count => options[:menu_branch].shown_siblings.length) unless options[:sibling_count]
|
52
43
|
|
53
44
|
css_for_menu_branch(options[:menu_branch],
|
54
45
|
options[:menu_branch_counter],
|
@@ -83,18 +74,22 @@ module Refinery
|
|
83
74
|
path = path.force_encoding('utf-8') if path.respond_to?(:force_encoding)
|
84
75
|
|
85
76
|
# Ensure we match the path without the locale, if present.
|
86
|
-
if
|
77
|
+
if ::Refinery.i18n_enabled? and path =~ %r{^/#{::I18n.locale}/}
|
87
78
|
path = path.split(%r{^/#{::I18n.locale}}).last
|
88
79
|
path = "/" if path.blank?
|
89
80
|
end
|
90
81
|
|
91
|
-
#
|
92
|
-
(path =~ Regexp.new(page.menu_match)
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
82
|
+
# First try to match against a "menu match" value, if available.
|
83
|
+
return true if page.try(:menu_match).present? && path =~ Regexp.new(page.menu_match)
|
84
|
+
|
85
|
+
# Find the first url that is a string.
|
86
|
+
url = [page.url]
|
87
|
+
url << ['', page.url[:path]].compact.flatten.join('/') if page.url.respond_to?(:keys)
|
88
|
+
url = url.detect{|u| u.is_a?(String)}
|
89
|
+
|
90
|
+
# Now use all possible vectors to try to find a valid match,
|
91
|
+
# finally passing to rails' "current_page?" method.
|
92
|
+
[path, URI.decode(path)].include?(url) || path == "/#{page.id}" || current_page?(page)
|
98
93
|
end
|
99
94
|
|
100
95
|
end
|
@@ -8,7 +8,7 @@ module Refinery
|
|
8
8
|
(if session.keys.map(&:to_sym).include?(:website_return_to) and session[:website_return_to].present?
|
9
9
|
session[:website_return_to]
|
10
10
|
else
|
11
|
-
root_path(:locale => (::Refinery::I18n.default_frontend_locale if
|
11
|
+
root_path(:locale => (::Refinery::I18n.default_frontend_locale if ::Refinery.i18n_enabled?))
|
12
12
|
end)) do
|
13
13
|
link_to t('.switch_to_your_website_editor', site_bar_translate_locale_args),
|
14
14
|
(if session.keys.map(&:to_sym).include?(:refinery_return_to) and session[:refinery_return_to].present?
|
@@ -20,7 +20,7 @@ module Refinery
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def site_bar_translate_locale_args
|
23
|
-
if
|
23
|
+
if ::Refinery.i18n_enabled?
|
24
24
|
{:locale => ::Refinery::I18n.current_locale}
|
25
25
|
else
|
26
26
|
{}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module Refinery
|
2
|
+
|
3
|
+
# Create a little something to store the instances of the menu.
|
4
|
+
class << self
|
5
|
+
attr_accessor :menus
|
6
|
+
def menus
|
7
|
+
@@menus ||= HashWithIndifferentAccess.new
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class Menu
|
12
|
+
|
13
|
+
def initialize(objects = nil)
|
14
|
+
objects.each do |item|
|
15
|
+
item = item.to_refinery_menu_item if item.respond_to?(:to_refinery_menu_item)
|
16
|
+
items << MenuItem.new(item.merge(:menu_id => id))
|
17
|
+
end if objects
|
18
|
+
|
19
|
+
::Refinery.menus[self.id] = self
|
20
|
+
end
|
21
|
+
|
22
|
+
attr_accessor :items, :id
|
23
|
+
|
24
|
+
def id
|
25
|
+
require 'securerandom' unless defined?(::SecureRandom)
|
26
|
+
@id ||= ::SecureRandom.hex(8)
|
27
|
+
end
|
28
|
+
|
29
|
+
def items
|
30
|
+
@items ||= []
|
31
|
+
end
|
32
|
+
|
33
|
+
def roots
|
34
|
+
@roots ||= items.select {|item| item.parent_id.nil?}
|
35
|
+
end
|
36
|
+
|
37
|
+
def to_s
|
38
|
+
items.map(&:title).join(' ')
|
39
|
+
end
|
40
|
+
|
41
|
+
def inspect
|
42
|
+
items.map(&:inspect)
|
43
|
+
end
|
44
|
+
|
45
|
+
# The delegation is specified so crazily so that it works on 1.8.x and 1.9.x
|
46
|
+
delegate *((Array.instance_methods - Object.instance_methods) << {:to => :items})
|
47
|
+
|
48
|
+
# Ensure that things still work from how the menu partials worked before.
|
49
|
+
def live
|
50
|
+
Refinery.deprecate({
|
51
|
+
:what => "'live' on a ::Refinery::Menu instance",
|
52
|
+
:when => '1.1 with no replacement'
|
53
|
+
})
|
54
|
+
|
55
|
+
self
|
56
|
+
end
|
57
|
+
|
58
|
+
def in_menu
|
59
|
+
Refinery.deprecate({
|
60
|
+
:what => "'in_menu' on a ::Refinery::Menu instance",
|
61
|
+
:when => '1.1 with no replacement'
|
62
|
+
})
|
63
|
+
|
64
|
+
self
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
module Refinery
|
2
|
+
class MenuItem < HashWithIndifferentAccess
|
3
|
+
|
4
|
+
(ATTRIBUTES = [:id, :title, :parent_id, :lft, :rgt, :depth, :url, :menu_id, :menu_match, :type]).each do |attribute|
|
5
|
+
class_eval %{
|
6
|
+
def #{attribute}
|
7
|
+
@#{attribute} ||= self[:#{attribute}]
|
8
|
+
end
|
9
|
+
|
10
|
+
def #{attribute}=(attr)
|
11
|
+
@#{attribute} = attr
|
12
|
+
end
|
13
|
+
}
|
14
|
+
end
|
15
|
+
|
16
|
+
def ancestors
|
17
|
+
return @ancestors if @ancestors
|
18
|
+
@ancestors = []
|
19
|
+
p = self
|
20
|
+
@ancestors << p until(p = p.parent).nil?
|
21
|
+
|
22
|
+
@ancestors
|
23
|
+
end
|
24
|
+
|
25
|
+
def children
|
26
|
+
@children ||= if has_children?
|
27
|
+
menu.select{|item| item.type == type && item.parent_id == id}
|
28
|
+
else
|
29
|
+
[]
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def descendants
|
34
|
+
@descendants ||= if has_descendants?
|
35
|
+
menu.select{|item| item.type == type && item.lft > lft && item.rgt < rgt}
|
36
|
+
else
|
37
|
+
[]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def has_children?
|
42
|
+
@has_children ||= (rgt > lft + 1)
|
43
|
+
end
|
44
|
+
# really, they're the same.
|
45
|
+
alias_method :has_descendants?, :has_children?
|
46
|
+
|
47
|
+
def has_parent?
|
48
|
+
!parent_id.nil?
|
49
|
+
end
|
50
|
+
|
51
|
+
def inspect
|
52
|
+
hash = {}
|
53
|
+
|
54
|
+
ATTRIBUTES.each do |attribute|
|
55
|
+
hash[attribute] = self[attribute]
|
56
|
+
end
|
57
|
+
|
58
|
+
hash
|
59
|
+
end
|
60
|
+
|
61
|
+
def menu
|
62
|
+
::Refinery.menus[menu_id]
|
63
|
+
end
|
64
|
+
|
65
|
+
def parent
|
66
|
+
@parent ||= (menu.detect{|item| item.type == type && item.id == parent_id} if has_parent?)
|
67
|
+
end
|
68
|
+
|
69
|
+
def siblings
|
70
|
+
@siblings ||= ((has_parent? ? children : menu.roots) - [self])
|
71
|
+
end
|
72
|
+
alias_method :shown_siblings, :siblings
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
data/lib/refinerycms-core.rb
CHANGED
@@ -9,6 +9,8 @@ module Refinery
|
|
9
9
|
autoload :ApplicationHelper, File.expand_path('../refinery/application_helper', __FILE__)
|
10
10
|
autoload :Configuration, File.expand_path('../refinery/configuration', __FILE__)
|
11
11
|
autoload :Engine, File.expand_path('../refinery/engine', __FILE__)
|
12
|
+
autoload :Menu, File.expand_path('../refinery/menu', __FILE__)
|
13
|
+
autoload :MenuItem, File.expand_path('../refinery/menu_item', __FILE__)
|
12
14
|
autoload :Plugin, File.expand_path('../refinery/plugin', __FILE__)
|
13
15
|
autoload :Plugins, File.expand_path('../refinery/plugins', __FILE__)
|
14
16
|
end
|
File without changes
|
data/refinerycms-core.gemspec
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{refinerycms-core}
|
5
|
-
s.version = %q{0.
|
5
|
+
s.version = %q{1.0.0}
|
6
6
|
s.summary = %q{Core engine for Refinery CMS}
|
7
7
|
s.description = %q{The core of Refinery CMS. This handles the common functionality and is required by most engines}
|
8
|
-
s.date = %q{2011-05-
|
8
|
+
s.date = %q{2011-05-28}
|
9
9
|
s.email = %q{info@refinerycms.com}
|
10
10
|
s.homepage = %q{http://refinerycms.com}
|
11
11
|
s.rubyforge_project = %q{refinerycms}
|
@@ -14,12 +14,12 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.require_paths = %w(lib)
|
15
15
|
s.executables = %w()
|
16
16
|
|
17
|
-
s.add_dependency 'refinerycms-base', '= 0.
|
18
|
-
s.add_dependency 'refinerycms-settings', '= 0.
|
17
|
+
s.add_dependency 'refinerycms-base', '= 1.0.0'
|
18
|
+
s.add_dependency 'refinerycms-settings', '= 1.0.0'
|
19
19
|
s.add_dependency 'refinerycms-generators', '~> 1.0'
|
20
20
|
s.add_dependency 'acts_as_indexed', '~> 0.7'
|
21
21
|
s.add_dependency 'friendly_id_globalize3', '~> 3.2.1'
|
22
|
-
s.add_dependency 'globalize3', '
|
22
|
+
s.add_dependency 'globalize3', '~> 0.1'
|
23
23
|
s.add_dependency 'awesome_nested_set', '~> 2.0'
|
24
24
|
s.add_dependency 'rails', '~> 3.0.7'
|
25
25
|
s.add_dependency 'truncate_html', '~> 0.5'
|
@@ -107,6 +107,7 @@ Gem::Specification.new do |s|
|
|
107
107
|
'doc',
|
108
108
|
'doc/included-jquery-ui-packages.jpg',
|
109
109
|
'features',
|
110
|
+
'features/dialogs.feature',
|
110
111
|
'features/search.feature',
|
111
112
|
'features/site_bar.feature',
|
112
113
|
'features/step_definitions',
|
@@ -163,6 +164,8 @@ Gem::Specification.new do |s|
|
|
163
164
|
'lib/refinery/helpers/tag_helper.rb',
|
164
165
|
'lib/refinery/helpers/translation_helper.rb',
|
165
166
|
'lib/refinery/link_renderer.rb',
|
167
|
+
'lib/refinery/menu.rb',
|
168
|
+
'lib/refinery/menu_item.rb',
|
166
169
|
'lib/refinery/plugin.rb',
|
167
170
|
'lib/refinery/plugins.rb',
|
168
171
|
'lib/refinerycms-core.rb',
|
@@ -417,6 +420,10 @@ Gem::Specification.new do |s|
|
|
417
420
|
'public/wymeditor/README',
|
418
421
|
'refinerycms-core.gemspec',
|
419
422
|
'spec',
|
423
|
+
'spec/controllers',
|
424
|
+
'spec/controllers/fast_controller_spec.rb',
|
425
|
+
'spec/controllers/refinery_core_controller_spec.rb',
|
426
|
+
'spec/controllers/sitemap_controller_spec.rb',
|
420
427
|
'spec/lib',
|
421
428
|
'spec/lib/refinery',
|
422
429
|
'spec/lib/refinery/plugin_spec.rb',
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Admin
|
4
|
+
describe RefineryCoreController do
|
5
|
+
login_refinery_user
|
6
|
+
|
7
|
+
it "should update the plugin positions" do
|
8
|
+
plugins = @refinery_user.plugins.reverse.collect {|p| p.name}
|
9
|
+
|
10
|
+
post 'update_plugin_positions', :menu => plugins
|
11
|
+
|
12
|
+
@refinery_user.plugins.reload
|
13
|
+
@refinery_user.plugins.each_with_index do |plugin, idx|
|
14
|
+
plugin.name.should eql(plugins[idx])
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
|
4
|
+
describe SitemapController do
|
5
|
+
login_refinery_user
|
6
|
+
|
7
|
+
before (:each) do
|
8
|
+
@request.env['HTTP_ACCEPT'] = 'application/xml'
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should show a valid xml answer with i18n enabled" do
|
12
|
+
::Refinery.should_receive(:i18n_enabled?).and_return(true)
|
13
|
+
|
14
|
+
get :index
|
15
|
+
|
16
|
+
response.should be_success
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should show a valid xml answer with i18n disabled" do
|
20
|
+
::Refinery.should_receive(:i18n_enabled?).and_return(false)
|
21
|
+
|
22
|
+
get :index
|
23
|
+
|
24
|
+
response.should be_success
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: refinerycms-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 1.0.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Resolve Digital
|
@@ -13,7 +13,7 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date: 2011-05-
|
16
|
+
date: 2011-05-28 00:00:00 +12:00
|
17
17
|
default_executable:
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
@@ -24,7 +24,7 @@ dependencies:
|
|
24
24
|
requirements:
|
25
25
|
- - "="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.
|
27
|
+
version: 1.0.0
|
28
28
|
type: :runtime
|
29
29
|
version_requirements: *id001
|
30
30
|
- !ruby/object:Gem::Dependency
|
@@ -35,7 +35,7 @@ dependencies:
|
|
35
35
|
requirements:
|
36
36
|
- - "="
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version: 0.
|
38
|
+
version: 1.0.0
|
39
39
|
type: :runtime
|
40
40
|
version_requirements: *id002
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -77,9 +77,9 @@ dependencies:
|
|
77
77
|
requirement: &id006 !ruby/object:Gem::Requirement
|
78
78
|
none: false
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.1
|
82
|
+
version: "0.1"
|
83
83
|
type: :runtime
|
84
84
|
version_requirements: *id006
|
85
85
|
- !ruby/object:Gem::Dependency
|
@@ -201,6 +201,7 @@ files:
|
|
201
201
|
- config/locales/zh-TW.yml
|
202
202
|
- config/routes.rb
|
203
203
|
- doc/included-jquery-ui-packages.jpg
|
204
|
+
- features/dialogs.feature
|
204
205
|
- features/search.feature
|
205
206
|
- features/site_bar.feature
|
206
207
|
- features/step_definitions/core_steps.rb
|
@@ -241,6 +242,8 @@ files:
|
|
241
242
|
- lib/refinery/helpers/tag_helper.rb
|
242
243
|
- lib/refinery/helpers/translation_helper.rb
|
243
244
|
- lib/refinery/link_renderer.rb
|
245
|
+
- lib/refinery/menu.rb
|
246
|
+
- lib/refinery/menu_item.rb
|
244
247
|
- lib/refinery/plugin.rb
|
245
248
|
- lib/refinery/plugins.rb
|
246
249
|
- lib/refinerycms-core.rb
|
@@ -471,6 +474,9 @@ files:
|
|
471
474
|
- public/wymeditor/MIT-license.txt
|
472
475
|
- public/wymeditor/README
|
473
476
|
- refinerycms-core.gemspec
|
477
|
+
- spec/controllers/fast_controller_spec.rb
|
478
|
+
- spec/controllers/refinery_core_controller_spec.rb
|
479
|
+
- spec/controllers/sitemap_controller_spec.rb
|
474
480
|
- spec/lib/refinery/plugin_spec.rb
|
475
481
|
- spec/lib/refinery/plugins_spec.rb
|
476
482
|
has_rdoc: true
|