alchemy_cms 2.3.1 → 2.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/alchemy_cms.gemspec +2 -2
- data/app/controllers/alchemy/base_controller.rb +0 -2
- data/lib/alchemy/version.rb +1 -1
- data/spec/dummy/config/application.rb +1 -1
- data/spec/factories.rb +1 -0
- data/spec/integration/translation_integration_spec.rb +5 -6
- data/spec/routing_spec.rb +115 -115
- data/spec/support/alchemy/specs_helpers.rb +4 -4
- metadata +9 -9
data/.gitignore
CHANGED
data/alchemy_cms.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
21
21
|
s.require_paths = ["lib"]
|
22
22
|
|
23
|
-
s.add_runtime_dependency(%q<rails>, ["~> 3.2.
|
23
|
+
s.add_runtime_dependency(%q<rails>, ["~> 3.2.11"])
|
24
24
|
s.add_runtime_dependency(%q<authlogic>)
|
25
25
|
s.add_runtime_dependency(%q<awesome_nested_set>, ["~> 2.0"])
|
26
26
|
s.add_runtime_dependency(%q<acts-as-taggable-on>, ["~> 2.1"])
|
@@ -41,7 +41,7 @@ Gem::Specification.new do |s|
|
|
41
41
|
s.add_development_dependency(%q<bumpy>)
|
42
42
|
s.add_development_dependency(%q<capybara>)
|
43
43
|
s.add_development_dependency(%q<factory_girl_rails>, ['~> 1.7.0'])
|
44
|
-
s.add_development_dependency(%q<rspec-rails
|
44
|
+
s.add_development_dependency(%q<rspec-rails>, ['2.12.0'])
|
45
45
|
s.add_development_dependency(%q<sqlite3>)
|
46
46
|
s.add_development_dependency(%q<yard>)
|
47
47
|
|
@@ -56,8 +56,6 @@ module Alchemy
|
|
56
56
|
session[:current_locale] = ::I18n.locale = params[:locale]
|
57
57
|
elsif current_user && current_user.language.present?
|
58
58
|
::I18n.locale = current_user.language
|
59
|
-
elsif Rails.env == 'test' # OMG I hate to do this. But it helps...
|
60
|
-
::I18n.locale = 'en'
|
61
59
|
else
|
62
60
|
::I18n.locale = request.env['HTTP_ACCEPT_LANGUAGE'].try(:scan, /^[a-z]{2}/).try(:first)
|
63
61
|
end
|
data/lib/alchemy/version.rb
CHANGED
@@ -37,7 +37,7 @@ module Dummy
|
|
37
37
|
|
38
38
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
39
39
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
40
|
-
|
40
|
+
config.i18n.default_locale = :en
|
41
41
|
|
42
42
|
# Configure the default encoding used in templates for Ruby 1.9.
|
43
43
|
config.encoding = "utf-8"
|
data/spec/factories.rb
CHANGED
@@ -4,33 +4,34 @@ describe "Translation integration" do
|
|
4
4
|
|
5
5
|
context "in admin backend" do
|
6
6
|
|
7
|
-
before do
|
8
|
-
authorize_as_admin
|
9
|
-
end
|
10
|
-
|
11
7
|
it "should be possible to set the locale of the admin backend via params" do
|
8
|
+
authorize_as_admin
|
12
9
|
visit admin_dashboard_path(:locale => :de)
|
13
10
|
page.should have_content('Willkommen')
|
14
11
|
end
|
15
12
|
|
16
13
|
it "should store the current locale in the session" do
|
14
|
+
authorize_as_admin
|
17
15
|
visit admin_dashboard_path(:locale => :de)
|
18
16
|
visit admin_dashboard_path
|
19
17
|
page.should have_content('Willkommen')
|
20
18
|
end
|
21
19
|
|
22
20
|
it "should be possible to change the current locale in the session" do
|
21
|
+
authorize_as_admin
|
23
22
|
visit admin_dashboard_path(:locale => :de)
|
24
23
|
visit admin_dashboard_path(:locale => :en)
|
25
24
|
page.should have_content('Welcome')
|
26
25
|
end
|
27
26
|
|
28
27
|
it "should not be possible to switch the locale of the admin backend to an unknown locale" do
|
28
|
+
authorize_as_admin
|
29
29
|
visit admin_dashboard_path(:locale => :ko)
|
30
30
|
page.should have_content('Welcome')
|
31
31
|
end
|
32
32
|
|
33
33
|
it "should use the current users language setting if no other parameter is given" do
|
34
|
+
authorize_as_admin(locale = nil)
|
34
35
|
Alchemy::User.first.update_attributes(:language => :de)
|
35
36
|
visit admin_dashboard_path
|
36
37
|
page.should have_content('Willkommen')
|
@@ -41,8 +42,6 @@ describe "Translation integration" do
|
|
41
42
|
context "with translated header" do
|
42
43
|
|
43
44
|
before do
|
44
|
-
# Hack my hack.... OMG
|
45
|
-
Rails.stub(:env).and_return('foo')
|
46
45
|
Capybara.current_driver = :rack_test_translated_header
|
47
46
|
end
|
48
47
|
|
data/spec/routing_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe "The Routing", :type => :routing do
|
4
4
|
|
5
|
-
before
|
5
|
+
before { @routes = Alchemy::Engine.routes }
|
6
6
|
|
7
7
|
context "for downloads" do
|
8
8
|
|
@@ -10,44 +10,44 @@ describe "The Routing", :type => :routing do
|
|
10
10
|
{
|
11
11
|
:get => "/attachment/32/download/Presseveranstaltung.pdf"
|
12
12
|
}.should route_to(
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
:controller => "alchemy/attachments",
|
14
|
+
:action => "download",
|
15
|
+
:id => "32",
|
16
|
+
:name => "Presseveranstaltung",
|
17
|
+
:format => "pdf"
|
18
|
+
)
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should have a route for legacy Alchemy 1.x downloads" do
|
22
22
|
{
|
23
23
|
:get => "/attachment/32/download?name=Presseveranstaltung.pdf"
|
24
24
|
}.should route_to(
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
:controller => "alchemy/attachments",
|
26
|
+
:action => "download",
|
27
|
+
:id => "32"
|
28
|
+
)
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should have a route for legacy washAPP downloads" do
|
32
32
|
{
|
33
33
|
:get => "/wa_files/download/11"
|
34
34
|
}.should route_to(
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
35
|
+
:controller => "alchemy/attachments",
|
36
|
+
:action => "download",
|
37
|
+
:id => "11"
|
38
|
+
)
|
39
39
|
end
|
40
40
|
|
41
41
|
it "should have a route for legacy WebMate downloads" do
|
42
42
|
{
|
43
43
|
:get => "/uploads/files/0000/0028/Pressetext.pdf"
|
44
44
|
}.should route_to(
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
45
|
+
:controller => "alchemy/attachments",
|
46
|
+
:action => "download",
|
47
|
+
:id => "0028",
|
48
|
+
:name => "Pressetext",
|
49
|
+
:suffix => "pdf"
|
50
|
+
)
|
51
51
|
end
|
52
52
|
|
53
53
|
end
|
@@ -60,11 +60,11 @@ describe "The Routing", :type => :routing do
|
|
60
60
|
{
|
61
61
|
:get => "/products/my-product"
|
62
62
|
}.should route_to(
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
63
|
+
:controller => "alchemy/pages",
|
64
|
+
:action => "show",
|
65
|
+
:level1 => "products",
|
66
|
+
:urlname => "my-product"
|
67
|
+
)
|
68
68
|
end
|
69
69
|
|
70
70
|
context "and language" do
|
@@ -73,12 +73,12 @@ describe "The Routing", :type => :routing do
|
|
73
73
|
{
|
74
74
|
:get => "/de/products/my-product"
|
75
75
|
}.should route_to(
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
76
|
+
:controller => "alchemy/pages",
|
77
|
+
:action => "show",
|
78
|
+
:level1 => "products",
|
79
|
+
:urlname => "my-product",
|
80
|
+
:lang => "de"
|
81
|
+
)
|
82
82
|
end
|
83
83
|
|
84
84
|
end
|
@@ -91,12 +91,12 @@ describe "The Routing", :type => :routing do
|
|
91
91
|
{
|
92
92
|
:get => "/catalog/products/my-product"
|
93
93
|
}.should route_to(
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
94
|
+
:controller => "alchemy/pages",
|
95
|
+
:action => "show",
|
96
|
+
:level1 => "catalog",
|
97
|
+
:level2 => "products",
|
98
|
+
:urlname => "my-product"
|
99
|
+
)
|
100
100
|
end
|
101
101
|
|
102
102
|
context "and language" do
|
@@ -105,13 +105,13 @@ describe "The Routing", :type => :routing do
|
|
105
105
|
{
|
106
106
|
:get => "/de/catalog/products/my-product"
|
107
107
|
}.should route_to(
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
108
|
+
:controller => "alchemy/pages",
|
109
|
+
:action => "show",
|
110
|
+
:level1 => "catalog",
|
111
|
+
:level2 => "products",
|
112
|
+
:urlname => "my-product",
|
113
|
+
:lang => "de"
|
114
|
+
)
|
115
115
|
end
|
116
116
|
|
117
117
|
end
|
@@ -124,13 +124,13 @@ describe "The Routing", :type => :routing do
|
|
124
124
|
{
|
125
125
|
:get => "/2011/12/08/my-post"
|
126
126
|
}.should route_to(
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
127
|
+
:controller => "alchemy/pages",
|
128
|
+
:action => "show",
|
129
|
+
:level1 => "2011",
|
130
|
+
:level2 => "12",
|
131
|
+
:level3 => "08",
|
132
|
+
:urlname => "my-post"
|
133
|
+
)
|
134
134
|
end
|
135
135
|
|
136
136
|
context "and language" do
|
@@ -139,14 +139,14 @@ describe "The Routing", :type => :routing do
|
|
139
139
|
{
|
140
140
|
:get => "/de/2011/12/08/my-post"
|
141
141
|
}.should route_to(
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
142
|
+
:controller => "alchemy/pages",
|
143
|
+
:action => "show",
|
144
|
+
:level1 => "2011",
|
145
|
+
:level2 => "12",
|
146
|
+
:level3 => "08",
|
147
|
+
:urlname => "my-post",
|
148
|
+
:lang => "de"
|
149
|
+
)
|
150
150
|
end
|
151
151
|
|
152
152
|
end
|
@@ -161,97 +161,97 @@ describe "The Routing", :type => :routing do
|
|
161
161
|
{
|
162
162
|
:get => "/pictures/3/show/900x300/kitten.jpg"
|
163
163
|
}.should route_to(
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
164
|
+
:controller => "alchemy/pictures",
|
165
|
+
:action => "show",
|
166
|
+
:id => "3",
|
167
|
+
:size => "900x300",
|
168
|
+
:name => "kitten",
|
169
|
+
:format => "jpg"
|
170
|
+
)
|
171
171
|
end
|
172
172
|
|
173
173
|
it "should route to cropped show action" do
|
174
174
|
{
|
175
175
|
:get => "/pictures/3/show/900x300/crop/kitten.jpg"
|
176
176
|
}.should route_to(
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
177
|
+
:controller => "alchemy/pictures",
|
178
|
+
:action => "show",
|
179
|
+
:id => "3",
|
180
|
+
:size => "900x300",
|
181
|
+
:crop => "crop",
|
182
|
+
:name => "kitten",
|
183
|
+
:format => "jpg"
|
184
|
+
)
|
185
185
|
end
|
186
186
|
|
187
187
|
it "should route to cropped mask show action" do
|
188
188
|
get(
|
189
189
|
"/pictures/3/show/300x300/crop/200x50/100x100/kitten.jpg"
|
190
190
|
).should route_to(
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
191
|
+
:controller => "alchemy/pictures",
|
192
|
+
:action => "show",
|
193
|
+
:id => "3",
|
194
|
+
:size => "300x300",
|
195
|
+
:crop => "crop",
|
196
|
+
:crop_from => "200x50",
|
197
|
+
:crop_size => "100x100",
|
198
|
+
:name => "kitten",
|
199
|
+
:format => "jpg"
|
200
|
+
)
|
201
201
|
end
|
202
202
|
|
203
203
|
it "should route to thumbnail action" do
|
204
204
|
get(
|
205
205
|
"/pictures/3/thumbnails/small/kitten.jpg"
|
206
206
|
).should route_to(
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
207
|
+
:controller => "alchemy/pictures",
|
208
|
+
:action => "thumbnail",
|
209
|
+
:id => "3",
|
210
|
+
:size => "small",
|
211
|
+
:name => "kitten",
|
212
|
+
:format => "jpg"
|
213
|
+
)
|
214
214
|
end
|
215
215
|
|
216
216
|
it "should route to cropped thumbnail action" do
|
217
217
|
get(
|
218
218
|
"/pictures/3/thumbnails/small/crop/kitten.jpg"
|
219
219
|
).should route_to(
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
220
|
+
:controller => "alchemy/pictures",
|
221
|
+
:action => "thumbnail",
|
222
|
+
:id => "3",
|
223
|
+
:crop => "crop",
|
224
|
+
:size => "small",
|
225
|
+
:name => "kitten",
|
226
|
+
:format => "jpg"
|
227
|
+
)
|
228
228
|
end
|
229
229
|
|
230
230
|
it "should route to cropped and masked thumbnail" do
|
231
231
|
get(
|
232
232
|
"/pictures/3/thumbnails/small/0x0/200x200/kitten.jpg"
|
233
233
|
).should route_to(
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
234
|
+
:controller => "alchemy/pictures",
|
235
|
+
:action => "thumbnail",
|
236
|
+
:id => "3",
|
237
|
+
:crop_from => "0x0",
|
238
|
+
:crop_size => "200x200",
|
239
|
+
:size => "small",
|
240
|
+
:name => "kitten",
|
241
|
+
:format => "jpg"
|
242
|
+
)
|
243
243
|
end
|
244
244
|
|
245
245
|
it "should route to zoomed picture" do
|
246
246
|
get(
|
247
247
|
"/pictures/3/zoom/kitten.jpg"
|
248
248
|
).should route_to(
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
249
|
+
:controller => "alchemy/pictures",
|
250
|
+
:action => "zoom",
|
251
|
+
:id => "3",
|
252
|
+
:name => "kitten",
|
253
|
+
:format => "jpg"
|
254
|
+
)
|
255
255
|
end
|
256
256
|
|
257
257
|
end
|
@@ -15,9 +15,9 @@ module Alchemy
|
|
15
15
|
# * create_admin_user
|
16
16
|
# * login_into_alchemy
|
17
17
|
#
|
18
|
-
def authorize_as_admin
|
18
|
+
def authorize_as_admin(locale = 'en')
|
19
19
|
create_admin_user
|
20
|
-
login_into_alchemy
|
20
|
+
login_into_alchemy(locale)
|
21
21
|
end
|
22
22
|
|
23
23
|
# Capybara actions to login into Alchemy Backend
|
@@ -26,8 +26,8 @@ module Alchemy
|
|
26
26
|
#
|
27
27
|
# See: create_admin_user method
|
28
28
|
#
|
29
|
-
def login_into_alchemy
|
30
|
-
visit
|
29
|
+
def login_into_alchemy(locale = 'en')
|
30
|
+
visit "/alchemy/admin/login?locale=#{locale}"
|
31
31
|
fill_in('alchemy_user_session_login', :with => 'jdoe')
|
32
32
|
fill_in('alchemy_user_session_password', :with => 's3cr3t')
|
33
33
|
click_on('Login')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alchemy_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2013-01-10 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rails
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
requirements:
|
22
22
|
- - ~>
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version: 3.2.
|
24
|
+
version: 3.2.11
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
27
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 3.2.
|
32
|
+
version: 3.2.11
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: authlogic
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -339,17 +339,17 @@ dependencies:
|
|
339
339
|
requirement: !ruby/object:Gem::Requirement
|
340
340
|
none: false
|
341
341
|
requirements:
|
342
|
-
- -
|
342
|
+
- - '='
|
343
343
|
- !ruby/object:Gem::Version
|
344
|
-
version:
|
344
|
+
version: 2.12.0
|
345
345
|
type: :development
|
346
346
|
prerelease: false
|
347
347
|
version_requirements: !ruby/object:Gem::Requirement
|
348
348
|
none: false
|
349
349
|
requirements:
|
350
|
-
- -
|
350
|
+
- - '='
|
351
351
|
- !ruby/object:Gem::Version
|
352
|
-
version:
|
352
|
+
version: 2.12.0
|
353
353
|
- !ruby/object:Gem::Dependency
|
354
354
|
name: sqlite3
|
355
355
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1094,7 +1094,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1094
1094
|
version: '0'
|
1095
1095
|
segments:
|
1096
1096
|
- 0
|
1097
|
-
hash: -
|
1097
|
+
hash: -3162154013037762335
|
1098
1098
|
requirements:
|
1099
1099
|
- ImageMagick (libmagick), v6.6 or greater.
|
1100
1100
|
rubyforge_project:
|