alchemy_cms 2.6.2.1 → 2.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/alchemy_cms.gemspec +0 -1
- data/app/assets/stylesheets/alchemy/flash.scss +1 -0
- data/app/controllers/alchemy/admin/pages_controller.rb +90 -21
- data/app/controllers/alchemy/admin/pictures_controller.rb +1 -1
- data/app/controllers/alchemy/admin/users_controller.rb +1 -11
- data/app/controllers/alchemy/users_controller.rb +0 -3
- data/app/models/alchemy/page.rb +31 -10
- data/app/models/alchemy/tree_node.rb +4 -0
- data/app/models/alchemy/user.rb +16 -0
- data/app/views/alchemy/admin/pages/_page.html.erb +1 -1
- data/app/views/alchemy/admin/resources/_date.html.erb +8 -0
- data/app/views/alchemy/admin/resources/_datetime.html.erb +1 -2
- data/app/views/alchemy/admin/users/_table.html.erb +2 -2
- data/config/locales/alchemy.de.yml +1 -1
- data/config/locales/alchemy.en.yml +1 -0
- data/lib/alchemy/version.rb +1 -1
- data/spec/controllers/admin/pages_controller_spec.rb +89 -0
- data/spec/controllers/admin/users_controller_spec.rb +66 -30
- data/spec/controllers/users_controller_spec.rb +1 -2
- data/spec/libraries/resource_spec.rb +1 -3
- data/spec/libraries/resources_helper_spec.rb +1 -4
- data/spec/models/page_spec.rb +143 -9
- data/spec/models/user_spec.rb +40 -0
- data/vendor/assets/javascripts/jquery_plugins/jquery.ui.nestedSortable.js +8 -2
- metadata +63 -75
@@ -1,49 +1,85 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Alchemy::Admin::UsersController do
|
4
|
+
let(:admin) { FactoryGirl.create(:admin_user, email: 'admin@admin.com', login: 'admin') }
|
5
|
+
before { sign_in :user, admin }
|
4
6
|
|
5
|
-
describe
|
7
|
+
describe '#new' do
|
8
|
+
render_views
|
6
9
|
|
7
|
-
|
10
|
+
it "has send_credentials checkbox activated" do
|
11
|
+
get :new
|
12
|
+
response.body.should match /<input checked="checked" id="user_send_credentials" name="user\[send_credentials\]" type="checkbox"/
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '#edit' do
|
17
|
+
render_views
|
18
|
+
|
19
|
+
it "has send_credentials checkbox deactivated" do
|
20
|
+
get :edit, id: admin.id
|
21
|
+
response.body.should match /<input id="user_send_credentials" name="user\[send_credentials\]" type="checkbox"/
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#create' do
|
26
|
+
before { ActionMailer::Base.deliveries = [] }
|
8
27
|
|
9
|
-
|
10
|
-
|
28
|
+
it "creates an user record" do
|
29
|
+
post :create, user: FactoryGirl.attributes_for(:user).merge(send_credentials: true)
|
30
|
+
Alchemy::User.count.should == 2
|
11
31
|
end
|
12
32
|
|
13
|
-
|
14
|
-
|
33
|
+
context "with send_credentials set to true" do
|
34
|
+
it "should send an email notification" do
|
35
|
+
post :create, user: FactoryGirl.attributes_for(:user).merge(send_credentials: true)
|
36
|
+
ActionMailer::Base.deliveries.should_not be_empty
|
37
|
+
end
|
38
|
+
end
|
15
39
|
|
16
|
-
|
17
|
-
|
18
|
-
|
40
|
+
context "with send_credentials left blank" do
|
41
|
+
it "should not send an email notification" do
|
42
|
+
post :create, user: FactoryGirl.attributes_for(:user)
|
43
|
+
ActionMailer::Base.deliveries.should be_empty
|
19
44
|
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe '#update' do
|
49
|
+
let(:user) { FactoryGirl.create(:user) }
|
50
|
+
|
51
|
+
before { ActionMailer::Base.deliveries = [] }
|
52
|
+
|
53
|
+
it "assigns user to @user" do
|
54
|
+
post :update, :id => user.id, :user => {}, :format => :js
|
55
|
+
assigns(:user).should eq(user)
|
56
|
+
end
|
20
57
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
end
|
58
|
+
context "with empty password passed" do
|
59
|
+
it "should update the user" do
|
60
|
+
post :update, :id => user.id, :user => {:firstname => 'Johnny', :password => '', :password_confirmation => ''}, :format => :js
|
61
|
+
assigns(:user).should be_valid
|
26
62
|
end
|
63
|
+
end
|
27
64
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
end
|
65
|
+
context "with new password passed" do
|
66
|
+
it "should update the user" do
|
67
|
+
post :update, :id => user.id, :user => {:firstname => 'Johnny', :password => 'newpassword', :password_confirmation => 'newpassword'}, :format => :js
|
68
|
+
assigns(:user).password.should == 'newpassword'
|
33
69
|
end
|
70
|
+
end
|
34
71
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
end
|
72
|
+
context "with send_credentials set to true" do
|
73
|
+
it "should send an email notification" do
|
74
|
+
post :update, id: user.id, user: {send_credentials: true}
|
75
|
+
ActionMailer::Base.deliveries.should_not be_empty
|
40
76
|
end
|
77
|
+
end
|
41
78
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
end
|
79
|
+
context "with send_credentials left blank" do
|
80
|
+
it "should not send an email notification" do
|
81
|
+
post :update, :id => user.id, :user => {}
|
82
|
+
ActionMailer::Base.deliveries.should be_empty
|
47
83
|
end
|
48
84
|
end
|
49
85
|
|
@@ -62,6 +98,6 @@ describe Alchemy::Admin::UsersController do
|
|
62
98
|
post :update, :id => user.id, :user => {'roles' => ['Administrator']}, :format => :js
|
63
99
|
end
|
64
100
|
end
|
65
|
-
|
66
101
|
end
|
102
|
+
|
67
103
|
end
|
@@ -36,8 +36,7 @@ module Alchemy
|
|
36
36
|
context "with send_credentials set to true" do
|
37
37
|
it "should send an email notification" do
|
38
38
|
post :create, {
|
39
|
-
:user => FactoryGirl.attributes_for(:admin_user)
|
40
|
-
:send_credentials => true
|
39
|
+
:user => FactoryGirl.attributes_for(:admin_user).merge(send_credentials: true)
|
41
40
|
}
|
42
41
|
ActionMailer::Base.deliveries.should_not be_empty
|
43
42
|
end
|
data/spec/models/page_spec.rb
CHANGED
@@ -202,6 +202,125 @@ module Alchemy
|
|
202
202
|
|
203
203
|
end
|
204
204
|
|
205
|
+
describe "#update_node!" do
|
206
|
+
|
207
|
+
let(:original_url) { "sample-url" }
|
208
|
+
let(:page) { FactoryGirl.create(:page, :language => language, :parent_id => language_root.id, :urlname => original_url, restricted: false) }
|
209
|
+
let(:node) { TreeNode.new(10, 11, 12, 13, "another-url", true) }
|
210
|
+
|
211
|
+
context "when nesting is enabled" do
|
212
|
+
before { Alchemy::Config.stub(:get).with(:url_nesting) { true } }
|
213
|
+
|
214
|
+
context "when page is not external" do
|
215
|
+
|
216
|
+
before { page.stub(redirects_to_external?: false)}
|
217
|
+
|
218
|
+
it "should update all attributes" do
|
219
|
+
page.update_node!(node)
|
220
|
+
page.reload
|
221
|
+
expect(page.lft).to eq(node.left)
|
222
|
+
expect(page.rgt).to eq(node.right)
|
223
|
+
expect(page.parent_id).to eq(node.parent)
|
224
|
+
expect(page.depth).to eq(node.depth)
|
225
|
+
expect(page.urlname).to eq(node.url)
|
226
|
+
expect(page.restricted).to eq(node.restricted)
|
227
|
+
end
|
228
|
+
|
229
|
+
context "when url is the same" do
|
230
|
+
let(:node) { TreeNode.new(10, 11, 12, 13, original_url, true) }
|
231
|
+
|
232
|
+
it "should not create a legacy url" do
|
233
|
+
page.update_node!(node)
|
234
|
+
page.reload
|
235
|
+
expect(page.legacy_urls.size).to eq(0)
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
context "when url is not the same" do
|
240
|
+
it "should create a legacy url" do
|
241
|
+
page.update_node!(node)
|
242
|
+
page.reload
|
243
|
+
expect(page.legacy_urls.size).to eq(1)
|
244
|
+
end
|
245
|
+
end
|
246
|
+
end
|
247
|
+
|
248
|
+
context "when page is external" do
|
249
|
+
|
250
|
+
before { page.stub(redirects_to_external?: true) }
|
251
|
+
|
252
|
+
it "should update all attributes except url" do
|
253
|
+
page.update_node!(node)
|
254
|
+
page.reload
|
255
|
+
expect(page.lft).to eq(node.left)
|
256
|
+
expect(page.rgt).to eq(node.right)
|
257
|
+
expect(page.parent_id).to eq(node.parent)
|
258
|
+
expect(page.depth).to eq(node.depth)
|
259
|
+
expect(page.urlname).to eq(original_url)
|
260
|
+
expect(page.restricted).to eq(node.restricted)
|
261
|
+
end
|
262
|
+
|
263
|
+
it "should not create a legacy url" do
|
264
|
+
page.update_node!(node)
|
265
|
+
page.reload
|
266
|
+
expect(page.legacy_urls.size).to eq(0)
|
267
|
+
end
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
context "when nesting is disabled" do
|
272
|
+
before { Alchemy::Config.stub(:get).with(:url_nesting) { false } }
|
273
|
+
|
274
|
+
context "when page is not external" do
|
275
|
+
|
276
|
+
before { page.stub(redirects_to_external?: false)}
|
277
|
+
|
278
|
+
it "should update all attributes except url" do
|
279
|
+
page.update_node!(node)
|
280
|
+
page.reload
|
281
|
+
expect(page.lft).to eq(node.left)
|
282
|
+
expect(page.rgt).to eq(node.right)
|
283
|
+
expect(page.parent_id).to eq(node.parent)
|
284
|
+
expect(page.depth).to eq(node.depth)
|
285
|
+
expect(page.urlname).to eq(original_url)
|
286
|
+
expect(page.restricted).to eq(node.restricted)
|
287
|
+
end
|
288
|
+
|
289
|
+
it "should not create a legacy url" do
|
290
|
+
page.update_node!(node)
|
291
|
+
page.reload
|
292
|
+
expect(page.legacy_urls.size).to eq(0)
|
293
|
+
end
|
294
|
+
|
295
|
+
end
|
296
|
+
|
297
|
+
context "when page is external" do
|
298
|
+
|
299
|
+
before { page.stub(redirects_to_external?: true) }
|
300
|
+
|
301
|
+
before { Alchemy::Config.stub(get: true) }
|
302
|
+
|
303
|
+
it "should update all attributes except url" do
|
304
|
+
page.update_node!(node)
|
305
|
+
page.reload
|
306
|
+
expect(page.lft).to eq(node.left)
|
307
|
+
expect(page.rgt).to eq(node.right)
|
308
|
+
expect(page.parent_id).to eq(node.parent)
|
309
|
+
expect(page.depth).to eq(node.depth)
|
310
|
+
expect(page.urlname).to eq(original_url)
|
311
|
+
expect(page.restricted).to eq(node.restricted)
|
312
|
+
end
|
313
|
+
|
314
|
+
it "should not create a legacy url" do
|
315
|
+
page.update_node!(node)
|
316
|
+
page.reload
|
317
|
+
expect(page.legacy_urls.size).to eq(0)
|
318
|
+
end
|
319
|
+
end
|
320
|
+
end
|
321
|
+
end
|
322
|
+
|
323
|
+
|
205
324
|
describe "#destroy" do
|
206
325
|
|
207
326
|
context "with trashed but still assigned elements" do
|
@@ -550,21 +669,36 @@ module Alchemy
|
|
550
669
|
|
551
670
|
end
|
552
671
|
|
553
|
-
context "with children
|
554
|
-
|
555
|
-
before do
|
672
|
+
context "with children" do
|
673
|
+
before {
|
556
674
|
@page.save
|
557
675
|
@child1 = FactoryGirl.create(:page, :name => 'Child 1', :parent_id => @page.id)
|
558
676
|
@page.reload
|
559
|
-
|
560
|
-
@page.save
|
561
|
-
end
|
677
|
+
}
|
562
678
|
|
563
|
-
|
564
|
-
|
565
|
-
|
679
|
+
context "and restricted been set to true" do
|
680
|
+
before {
|
681
|
+
@page.restricted = true
|
682
|
+
@page.save
|
683
|
+
}
|
684
|
+
|
685
|
+
it "should restrict all children" do
|
686
|
+
@child1.reload
|
687
|
+
@child1.restricted?.should be_true
|
688
|
+
end
|
566
689
|
end
|
567
690
|
|
691
|
+
context "and restricted been set to false" do
|
692
|
+
before {
|
693
|
+
@page.restricted = false
|
694
|
+
@page.save
|
695
|
+
}
|
696
|
+
|
697
|
+
it "should unrestrict all children" do
|
698
|
+
@child1.reload
|
699
|
+
@child1.restricted?.should be_false
|
700
|
+
end
|
701
|
+
end
|
568
702
|
end
|
569
703
|
|
570
704
|
context "with restricted parent gets created" do
|
data/spec/models/user_spec.rb
CHANGED
@@ -12,6 +12,46 @@ module Alchemy
|
|
12
12
|
user.roles.should include('registered')
|
13
13
|
end
|
14
14
|
|
15
|
+
context ".after_save" do
|
16
|
+
let(:user) { FactoryGirl.build(:admin_user) }
|
17
|
+
|
18
|
+
context "with send_credentials set to true" do
|
19
|
+
before { user.send_credentials = true }
|
20
|
+
|
21
|
+
it "delivers the admin welcome mail." do
|
22
|
+
Notifications.should_receive(:admin_user_created).and_return(OpenStruct.new(deliver: true))
|
23
|
+
user.save!
|
24
|
+
end
|
25
|
+
|
26
|
+
context "of author user" do
|
27
|
+
before { user.roles = %w(author) }
|
28
|
+
|
29
|
+
it "delivers the admin welcome mail." do
|
30
|
+
Notifications.should_receive(:admin_user_created).and_return(OpenStruct.new(deliver: true))
|
31
|
+
user.save!
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context "of registered user" do
|
36
|
+
before { user.roles = %w(registered) }
|
37
|
+
|
38
|
+
it "delivers the welcome mail." do
|
39
|
+
Notifications.should_receive(:registered_user_created).and_return(OpenStruct.new(deliver: true))
|
40
|
+
user.save!
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "with send_credentials set to false" do
|
46
|
+
before { user.send_credentials = false }
|
47
|
+
|
48
|
+
it "does not deliver any mail" do
|
49
|
+
Notifications.should_not_receive(:admin_user_created)
|
50
|
+
user.save!
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
15
55
|
describe 'scopes' do
|
16
56
|
describe '.admins' do
|
17
57
|
before do
|
@@ -255,8 +255,14 @@
|
|
255
255
|
|
256
256
|
function _recursiveItems(li) {
|
257
257
|
var id = ($(li).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/));
|
258
|
+
|
259
|
+
var restricted = $(li).data("restricted");
|
260
|
+
var slug = $(li).data("slug");
|
261
|
+
var external = $(li).data("external");
|
262
|
+
var visible = $(li).data("visible");
|
263
|
+
|
258
264
|
if (id) {
|
259
|
-
var item = {"id":id[2]};
|
265
|
+
var item = {"id": id[2], "slug": slug, "restricted": restricted, "external": external, "visible": visible};
|
260
266
|
if ($(li).children(o.listType).children('li').length > 0) {
|
261
267
|
item.children = [];
|
262
268
|
$(li).children(o.listType).children('li').each(function () {
|
@@ -391,4 +397,4 @@
|
|
391
397
|
}));
|
392
398
|
|
393
399
|
$.ui.nestedSortable.prototype.options = $.extend({}, $.ui.sortable.prototype.options, $.ui.nestedSortable.prototype.options);
|
394
|
-
})(jQuery);
|
400
|
+
})(jQuery);
|
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.6.
|
4
|
+
version: 2.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas von Deyen
|
@@ -12,384 +12,370 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2014-06-12 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rails
|
19
19
|
requirement: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
|
-
- - ~>
|
21
|
+
- - "~>"
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: 3.2.13
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
|
-
- - ~>
|
28
|
+
- - "~>"
|
29
29
|
- !ruby/object:Gem::Version
|
30
30
|
version: 3.2.13
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: devise
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
34
34
|
requirements:
|
35
|
-
- - ~>
|
35
|
+
- - "~>"
|
36
36
|
- !ruby/object:Gem::Version
|
37
37
|
version: 2.2.3
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
requirements:
|
42
|
-
- - ~>
|
42
|
+
- - "~>"
|
43
43
|
- !ruby/object:Gem::Version
|
44
44
|
version: 2.2.3
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
46
|
name: devise-encryptable
|
47
47
|
requirement: !ruby/object:Gem::Requirement
|
48
48
|
requirements:
|
49
|
-
- - ~>
|
49
|
+
- - "~>"
|
50
50
|
- !ruby/object:Gem::Version
|
51
51
|
version: 0.1.1
|
52
52
|
type: :runtime
|
53
53
|
prerelease: false
|
54
54
|
version_requirements: !ruby/object:Gem::Requirement
|
55
55
|
requirements:
|
56
|
-
- - ~>
|
56
|
+
- - "~>"
|
57
57
|
- !ruby/object:Gem::Version
|
58
58
|
version: 0.1.1
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: awesome_nested_set
|
61
61
|
requirement: !ruby/object:Gem::Requirement
|
62
62
|
requirements:
|
63
|
-
- - ~>
|
63
|
+
- - "~>"
|
64
64
|
- !ruby/object:Gem::Version
|
65
65
|
version: '2.0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
68
|
version_requirements: !ruby/object:Gem::Requirement
|
69
69
|
requirements:
|
70
|
-
- - ~>
|
70
|
+
- - "~>"
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: '2.0'
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: acts-as-taggable-on
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
|
-
- - ~>
|
77
|
+
- - "~>"
|
78
78
|
- !ruby/object:Gem::Version
|
79
79
|
version: '2.1'
|
80
80
|
type: :runtime
|
81
81
|
prerelease: false
|
82
82
|
version_requirements: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
|
-
- - ~>
|
84
|
+
- - "~>"
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '2.1'
|
87
87
|
- !ruby/object:Gem::Dependency
|
88
88
|
name: declarative_authorization
|
89
89
|
requirement: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
|
-
- - ~>
|
91
|
+
- - "~>"
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: 0.5.7
|
94
94
|
type: :runtime
|
95
95
|
prerelease: false
|
96
96
|
version_requirements: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|
98
|
-
- - ~>
|
98
|
+
- - "~>"
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: 0.5.7
|
101
101
|
- !ruby/object:Gem::Dependency
|
102
102
|
name: dragonfly
|
103
103
|
requirement: !ruby/object:Gem::Requirement
|
104
104
|
requirements:
|
105
|
-
- - ~>
|
105
|
+
- - "~>"
|
106
106
|
- !ruby/object:Gem::Version
|
107
107
|
version: 0.9.14
|
108
108
|
type: :runtime
|
109
109
|
prerelease: false
|
110
110
|
version_requirements: !ruby/object:Gem::Requirement
|
111
111
|
requirements:
|
112
|
-
- - ~>
|
112
|
+
- - "~>"
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: 0.9.14
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: kaminari
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
118
118
|
requirements:
|
119
|
-
- - ~>
|
119
|
+
- - "~>"
|
120
120
|
- !ruby/object:Gem::Version
|
121
121
|
version: 0.14.1
|
122
122
|
type: :runtime
|
123
123
|
prerelease: false
|
124
124
|
version_requirements: !ruby/object:Gem::Requirement
|
125
125
|
requirements:
|
126
|
-
- - ~>
|
126
|
+
- - "~>"
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: 0.14.1
|
129
129
|
- !ruby/object:Gem::Dependency
|
130
130
|
name: acts_as_ferret
|
131
131
|
requirement: !ruby/object:Gem::Requirement
|
132
132
|
requirements:
|
133
|
-
- - ~>
|
133
|
+
- - "~>"
|
134
134
|
- !ruby/object:Gem::Version
|
135
135
|
version: '0.5'
|
136
136
|
type: :runtime
|
137
137
|
prerelease: false
|
138
138
|
version_requirements: !ruby/object:Gem::Requirement
|
139
139
|
requirements:
|
140
|
-
- - ~>
|
140
|
+
- - "~>"
|
141
141
|
- !ruby/object:Gem::Version
|
142
142
|
version: '0.5'
|
143
143
|
- !ruby/object:Gem::Dependency
|
144
144
|
name: acts_as_list
|
145
145
|
requirement: !ruby/object:Gem::Requirement
|
146
146
|
requirements:
|
147
|
-
- - ~>
|
147
|
+
- - "~>"
|
148
148
|
- !ruby/object:Gem::Version
|
149
149
|
version: 0.2.0
|
150
150
|
type: :runtime
|
151
151
|
prerelease: false
|
152
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
153
|
requirements:
|
154
|
-
- - ~>
|
154
|
+
- - "~>"
|
155
155
|
- !ruby/object:Gem::Version
|
156
156
|
version: 0.2.0
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: magiclabs-userstamp
|
159
159
|
requirement: !ruby/object:Gem::Requirement
|
160
160
|
requirements:
|
161
|
-
- - ~>
|
161
|
+
- - "~>"
|
162
162
|
- !ruby/object:Gem::Version
|
163
163
|
version: 2.0.2
|
164
164
|
type: :runtime
|
165
165
|
prerelease: false
|
166
166
|
version_requirements: !ruby/object:Gem::Requirement
|
167
167
|
requirements:
|
168
|
-
- - ~>
|
168
|
+
- - "~>"
|
169
169
|
- !ruby/object:Gem::Version
|
170
170
|
version: 2.0.2
|
171
171
|
- !ruby/object:Gem::Dependency
|
172
172
|
name: dynamic_form
|
173
173
|
requirement: !ruby/object:Gem::Requirement
|
174
174
|
requirements:
|
175
|
-
- - ~>
|
175
|
+
- - "~>"
|
176
176
|
- !ruby/object:Gem::Version
|
177
177
|
version: '1.1'
|
178
178
|
type: :runtime
|
179
179
|
prerelease: false
|
180
180
|
version_requirements: !ruby/object:Gem::Requirement
|
181
181
|
requirements:
|
182
|
-
- - ~>
|
182
|
+
- - "~>"
|
183
183
|
- !ruby/object:Gem::Version
|
184
184
|
version: '1.1'
|
185
185
|
- !ruby/object:Gem::Dependency
|
186
186
|
name: jquery-rails
|
187
187
|
requirement: !ruby/object:Gem::Requirement
|
188
188
|
requirements:
|
189
|
-
- - ~>
|
189
|
+
- - "~>"
|
190
190
|
- !ruby/object:Gem::Version
|
191
191
|
version: 2.2.1
|
192
192
|
type: :runtime
|
193
193
|
prerelease: false
|
194
194
|
version_requirements: !ruby/object:Gem::Requirement
|
195
195
|
requirements:
|
196
|
-
- - ~>
|
196
|
+
- - "~>"
|
197
197
|
- !ruby/object:Gem::Version
|
198
198
|
version: 2.2.1
|
199
199
|
- !ruby/object:Gem::Dependency
|
200
200
|
name: jquery-ui-rails
|
201
201
|
requirement: !ruby/object:Gem::Requirement
|
202
202
|
requirements:
|
203
|
-
- - ~>
|
203
|
+
- - "~>"
|
204
204
|
- !ruby/object:Gem::Version
|
205
205
|
version: 3.0.1
|
206
206
|
type: :runtime
|
207
207
|
prerelease: false
|
208
208
|
version_requirements: !ruby/object:Gem::Requirement
|
209
209
|
requirements:
|
210
|
-
- - ~>
|
210
|
+
- - "~>"
|
211
211
|
- !ruby/object:Gem::Version
|
212
212
|
version: 3.0.1
|
213
213
|
- !ruby/object:Gem::Dependency
|
214
214
|
name: sass-rails
|
215
215
|
requirement: !ruby/object:Gem::Requirement
|
216
216
|
requirements:
|
217
|
-
- - ~>
|
217
|
+
- - "~>"
|
218
218
|
- !ruby/object:Gem::Version
|
219
219
|
version: 3.2.3
|
220
220
|
type: :runtime
|
221
221
|
prerelease: false
|
222
222
|
version_requirements: !ruby/object:Gem::Requirement
|
223
223
|
requirements:
|
224
|
-
- - ~>
|
224
|
+
- - "~>"
|
225
225
|
- !ruby/object:Gem::Version
|
226
226
|
version: 3.2.3
|
227
227
|
- !ruby/object:Gem::Dependency
|
228
228
|
name: coffee-rails
|
229
229
|
requirement: !ruby/object:Gem::Requirement
|
230
230
|
requirements:
|
231
|
-
- - ~>
|
231
|
+
- - "~>"
|
232
232
|
- !ruby/object:Gem::Version
|
233
233
|
version: 3.2.1
|
234
234
|
type: :runtime
|
235
235
|
prerelease: false
|
236
236
|
version_requirements: !ruby/object:Gem::Requirement
|
237
237
|
requirements:
|
238
|
-
- - ~>
|
238
|
+
- - "~>"
|
239
239
|
- !ruby/object:Gem::Version
|
240
240
|
version: 3.2.1
|
241
241
|
- !ruby/object:Gem::Dependency
|
242
242
|
name: compass-rails
|
243
243
|
requirement: !ruby/object:Gem::Requirement
|
244
244
|
requirements:
|
245
|
-
- - ~>
|
245
|
+
- - "~>"
|
246
246
|
- !ruby/object:Gem::Version
|
247
247
|
version: 1.0.3
|
248
248
|
type: :runtime
|
249
249
|
prerelease: false
|
250
250
|
version_requirements: !ruby/object:Gem::Requirement
|
251
251
|
requirements:
|
252
|
-
- - ~>
|
252
|
+
- - "~>"
|
253
253
|
- !ruby/object:Gem::Version
|
254
254
|
version: 1.0.3
|
255
255
|
- !ruby/object:Gem::Dependency
|
256
256
|
name: sassy-buttons
|
257
257
|
requirement: !ruby/object:Gem::Requirement
|
258
258
|
requirements:
|
259
|
-
- - ~>
|
259
|
+
- - "~>"
|
260
260
|
- !ruby/object:Gem::Version
|
261
261
|
version: 0.1.3
|
262
262
|
type: :runtime
|
263
263
|
prerelease: false
|
264
264
|
version_requirements: !ruby/object:Gem::Requirement
|
265
265
|
requirements:
|
266
|
-
- - ~>
|
266
|
+
- - "~>"
|
267
267
|
- !ruby/object:Gem::Version
|
268
268
|
version: 0.1.3
|
269
269
|
- !ruby/object:Gem::Dependency
|
270
270
|
name: rails3-jquery-autocomplete
|
271
271
|
requirement: !ruby/object:Gem::Requirement
|
272
272
|
requirements:
|
273
|
-
- - ~>
|
273
|
+
- - "~>"
|
274
274
|
- !ruby/object:Gem::Version
|
275
275
|
version: 1.0.10
|
276
276
|
type: :runtime
|
277
277
|
prerelease: false
|
278
278
|
version_requirements: !ruby/object:Gem::Requirement
|
279
279
|
requirements:
|
280
|
-
- - ~>
|
280
|
+
- - "~>"
|
281
281
|
- !ruby/object:Gem::Version
|
282
282
|
version: 1.0.10
|
283
283
|
- !ruby/object:Gem::Dependency
|
284
284
|
name: tvdeyen-handles_sortable_columns
|
285
285
|
requirement: !ruby/object:Gem::Requirement
|
286
286
|
requirements:
|
287
|
-
- - ~>
|
287
|
+
- - "~>"
|
288
288
|
- !ruby/object:Gem::Version
|
289
289
|
version: 0.1.5
|
290
290
|
type: :runtime
|
291
291
|
prerelease: false
|
292
292
|
version_requirements: !ruby/object:Gem::Requirement
|
293
293
|
requirements:
|
294
|
-
- - ~>
|
294
|
+
- - "~>"
|
295
295
|
- !ruby/object:Gem::Version
|
296
296
|
version: 0.1.5
|
297
297
|
- !ruby/object:Gem::Dependency
|
298
298
|
name: bumpy
|
299
299
|
requirement: !ruby/object:Gem::Requirement
|
300
300
|
requirements:
|
301
|
-
- -
|
301
|
+
- - ">="
|
302
302
|
- !ruby/object:Gem::Version
|
303
303
|
version: '0'
|
304
304
|
type: :development
|
305
305
|
prerelease: false
|
306
306
|
version_requirements: !ruby/object:Gem::Requirement
|
307
307
|
requirements:
|
308
|
-
- -
|
308
|
+
- - ">="
|
309
309
|
- !ruby/object:Gem::Version
|
310
310
|
version: '0'
|
311
311
|
- !ruby/object:Gem::Dependency
|
312
312
|
name: capybara
|
313
313
|
requirement: !ruby/object:Gem::Requirement
|
314
314
|
requirements:
|
315
|
-
- - ~>
|
315
|
+
- - "~>"
|
316
316
|
- !ruby/object:Gem::Version
|
317
317
|
version: 2.0.3
|
318
318
|
type: :development
|
319
319
|
prerelease: false
|
320
320
|
version_requirements: !ruby/object:Gem::Requirement
|
321
321
|
requirements:
|
322
|
-
- - ~>
|
322
|
+
- - "~>"
|
323
323
|
- !ruby/object:Gem::Version
|
324
324
|
version: 2.0.3
|
325
325
|
- !ruby/object:Gem::Dependency
|
326
326
|
name: factory_girl_rails
|
327
327
|
requirement: !ruby/object:Gem::Requirement
|
328
328
|
requirements:
|
329
|
-
- -
|
329
|
+
- - ">="
|
330
330
|
- !ruby/object:Gem::Version
|
331
331
|
version: '0'
|
332
332
|
type: :development
|
333
333
|
prerelease: false
|
334
334
|
version_requirements: !ruby/object:Gem::Requirement
|
335
335
|
requirements:
|
336
|
-
- -
|
336
|
+
- - ">="
|
337
337
|
- !ruby/object:Gem::Version
|
338
338
|
version: '0'
|
339
339
|
- !ruby/object:Gem::Dependency
|
340
340
|
name: rspec-rails
|
341
341
|
requirement: !ruby/object:Gem::Requirement
|
342
342
|
requirements:
|
343
|
-
- - ~>
|
343
|
+
- - "~>"
|
344
344
|
- !ruby/object:Gem::Version
|
345
345
|
version: 2.13.1
|
346
346
|
type: :development
|
347
347
|
prerelease: false
|
348
348
|
version_requirements: !ruby/object:Gem::Requirement
|
349
349
|
requirements:
|
350
|
-
- - ~>
|
350
|
+
- - "~>"
|
351
351
|
- !ruby/object:Gem::Version
|
352
352
|
version: 2.13.1
|
353
|
-
- !ruby/object:Gem::Dependency
|
354
|
-
name: sqlite3
|
355
|
-
requirement: !ruby/object:Gem::Requirement
|
356
|
-
requirements:
|
357
|
-
- - '>='
|
358
|
-
- !ruby/object:Gem::Version
|
359
|
-
version: '0'
|
360
|
-
type: :development
|
361
|
-
prerelease: false
|
362
|
-
version_requirements: !ruby/object:Gem::Requirement
|
363
|
-
requirements:
|
364
|
-
- - '>='
|
365
|
-
- !ruby/object:Gem::Version
|
366
|
-
version: '0'
|
367
353
|
- !ruby/object:Gem::Dependency
|
368
354
|
name: yard
|
369
355
|
requirement: !ruby/object:Gem::Requirement
|
370
356
|
requirements:
|
371
|
-
- -
|
357
|
+
- - ">="
|
372
358
|
- !ruby/object:Gem::Version
|
373
359
|
version: '0'
|
374
360
|
type: :development
|
375
361
|
prerelease: false
|
376
362
|
version_requirements: !ruby/object:Gem::Requirement
|
377
363
|
requirements:
|
378
|
-
- -
|
364
|
+
- - ">="
|
379
365
|
- !ruby/object:Gem::Version
|
380
366
|
version: '0'
|
381
367
|
- !ruby/object:Gem::Dependency
|
382
368
|
name: redcarpet
|
383
369
|
requirement: !ruby/object:Gem::Requirement
|
384
370
|
requirements:
|
385
|
-
- -
|
371
|
+
- - ">="
|
386
372
|
- !ruby/object:Gem::Version
|
387
373
|
version: '0'
|
388
374
|
type: :development
|
389
375
|
prerelease: false
|
390
376
|
version_requirements: !ruby/object:Gem::Requirement
|
391
377
|
requirements:
|
392
|
-
- -
|
378
|
+
- - ">="
|
393
379
|
- !ruby/object:Gem::Version
|
394
380
|
version: '0'
|
395
381
|
description: Alchemy is a powerful, userfriendly and flexible Rails 3 CMS.
|
@@ -400,10 +386,10 @@ executables:
|
|
400
386
|
extensions: []
|
401
387
|
extra_rdoc_files: []
|
402
388
|
files:
|
403
|
-
- .gitignore
|
404
|
-
- .rspec
|
405
|
-
- .travis.yml
|
406
|
-
- .yardopts
|
389
|
+
- ".gitignore"
|
390
|
+
- ".rspec"
|
391
|
+
- ".travis.yml"
|
392
|
+
- ".yardopts"
|
407
393
|
- Gemfile
|
408
394
|
- Guardfile
|
409
395
|
- LICENSE
|
@@ -555,6 +541,7 @@ files:
|
|
555
541
|
- app/models/alchemy/picture.rb
|
556
542
|
- app/models/alchemy/site.rb
|
557
543
|
- app/models/alchemy/tag.rb
|
544
|
+
- app/models/alchemy/tree_node.rb
|
558
545
|
- app/models/alchemy/user.rb
|
559
546
|
- app/sweepers/alchemy/content_sweeper.rb
|
560
547
|
- app/sweepers/alchemy/pages_sweeper.rb
|
@@ -671,6 +658,7 @@ files:
|
|
671
658
|
- app/views/alchemy/admin/pictures/new.html.erb
|
672
659
|
- app/views/alchemy/admin/pictures/show.html.erb
|
673
660
|
- app/views/alchemy/admin/resources/_boolean.html.erb
|
661
|
+
- app/views/alchemy/admin/resources/_date.html.erb
|
674
662
|
- app/views/alchemy/admin/resources/_datetime.html.erb
|
675
663
|
- app/views/alchemy/admin/resources/_form.html.erb
|
676
664
|
- app/views/alchemy/admin/resources/_resource.html.erb
|
@@ -1103,18 +1091,18 @@ require_paths:
|
|
1103
1091
|
- lib
|
1104
1092
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1105
1093
|
requirements:
|
1106
|
-
- -
|
1094
|
+
- - ">="
|
1107
1095
|
- !ruby/object:Gem::Version
|
1108
1096
|
version: 1.9.3
|
1109
1097
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1110
1098
|
requirements:
|
1111
|
-
- -
|
1099
|
+
- - ">="
|
1112
1100
|
- !ruby/object:Gem::Version
|
1113
1101
|
version: '0'
|
1114
1102
|
requirements:
|
1115
1103
|
- ImageMagick (libmagick), v6.6 or greater.
|
1116
1104
|
rubyforge_project:
|
1117
|
-
rubygems_version: 2.
|
1105
|
+
rubygems_version: 2.2.2
|
1118
1106
|
signing_key:
|
1119
1107
|
specification_version: 4
|
1120
1108
|
summary: A powerful, userfriendly and flexible CMS for Rails 3
|