alchemy_cms 2.5.0.b9 → 2.5.0.rc3
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/alchemy_cms.gemspec +2 -1
- data/app/assets/javascripts/alchemy/alchemy.base.js +0 -27
- data/app/assets/javascripts/alchemy/alchemy.growler.js +1 -1
- data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +0 -1
- data/app/assets/javascripts/alchemy/alchemy.onload.js.coffee +0 -4
- data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +0 -1
- data/app/assets/stylesheets/alchemy/admin.css.scss +1 -0
- data/app/assets/stylesheets/alchemy/archive.scss +8 -6
- data/app/assets/stylesheets/alchemy/base.scss +3 -92
- data/app/assets/stylesheets/alchemy/elements.scss +2 -2
- data/app/assets/stylesheets/alchemy/flash.scss +16 -12
- data/app/assets/stylesheets/alchemy/frame.scss +10 -5
- data/app/assets/stylesheets/alchemy/icons.scss +2 -2
- data/app/assets/stylesheets/alchemy/pagination.scss +5 -5
- data/app/assets/stylesheets/alchemy/tables.scss +2 -2
- data/app/assets/stylesheets/alchemy/toolbar.scss +79 -0
- data/app/controllers/alchemy/admin/base_controller.rb +3 -2
- data/app/controllers/alchemy/admin/dashboard_controller.rb +1 -1
- data/app/controllers/alchemy/admin/pictures_controller.rb +1 -1
- data/app/controllers/alchemy/admin/users_controller.rb +8 -2
- data/app/controllers/alchemy/attachments_controller.rb +1 -1
- data/app/controllers/alchemy/base_controller.rb +8 -0
- data/app/controllers/alchemy/pages_controller.rb +4 -0
- data/app/controllers/alchemy/passwords_controller.rb +23 -0
- data/app/controllers/alchemy/user_sessions_controller.rb +20 -49
- data/app/controllers/alchemy/users_controller.rb +49 -0
- data/app/mailers/alchemy/notifications.rb +5 -0
- data/app/models/alchemy/content.rb +6 -2
- data/app/models/alchemy/element.rb +9 -5
- data/app/models/alchemy/essence_richtext.rb +28 -16
- data/app/models/alchemy/essence_text.rb +22 -13
- data/app/models/alchemy/message.rb +1 -1
- data/app/models/alchemy/page.rb +7 -2
- data/app/models/alchemy/user.rb +66 -24
- data/app/views/alchemy/admin/dashboard/index.html.erb +1 -1
- data/app/views/alchemy/admin/essence_files/edit.html.erb +1 -0
- data/app/views/alchemy/admin/pages/_create_language_form.html.erb +8 -1
- data/app/views/alchemy/admin/partials/_flash.html.erb +1 -1
- data/app/views/alchemy/admin/users/_table.html.erb +2 -2
- data/app/views/alchemy/admin/users/_user.html.erb +1 -1
- data/app/views/alchemy/admin/users/index.html.erb +1 -1
- data/app/views/alchemy/notifications/admin_user_created.de.text.erb +11 -0
- data/app/views/alchemy/notifications/admin_user_created.en.text.erb +11 -0
- data/app/views/alchemy/notifications/registered_user_created.text.erb +2 -1
- data/app/views/alchemy/notifications/reset_password_instructions.de.text.erb +8 -0
- data/app/views/alchemy/notifications/reset_password_instructions.en.text.erb +8 -0
- data/app/views/alchemy/passwords/edit.html.erb +35 -0
- data/app/views/alchemy/passwords/new.html.erb +30 -0
- data/app/views/alchemy/user_sessions/leave.html.erb +3 -3
- data/app/views/alchemy/user_sessions/{login.html.erb → new.html.erb} +5 -2
- data/app/views/alchemy/{user_sessions/signup.html.erb → users/new.html.erb} +0 -0
- data/config/alchemy/config.yml +12 -0
- data/config/initializers/devise.rb +242 -0
- data/config/locales/alchemy.de.yml +12 -39
- data/config/locales/alchemy.en.yml +4 -31
- data/config/locales/devise.de.yml +57 -0
- data/config/locales/devise.en.yml +60 -0
- data/config/routes.rb +37 -21
- data/db/migrate/20130121092645_migrate_to_devise.rb +24 -0
- data/lib/alchemy/authentication_helpers.rb +0 -13
- data/lib/alchemy/engine.rb +2 -2
- data/lib/alchemy/essence.rb +2 -2
- data/lib/alchemy/upgrader.rb +33 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +2 -1
- data/lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt +1 -1
- data/lib/rails/generators/alchemy/devise/devise_generator.rb +24 -0
- data/lib/rails/generators/alchemy/scaffold/files/elements.yml +1 -111
- data/lib/rails/generators/alchemy/scaffold/templates/page_layouts.yml.tt +1 -27
- data/lib/tasks/ferret.rake +6 -6
- data/spec/controllers/admin/clipboard_controller_spec.rb +2 -3
- data/spec/controllers/admin/contents_controller_spec.rb +1 -2
- data/spec/controllers/admin/elements_controller_spec.rb +1 -2
- data/spec/controllers/admin/languages_controller_spec.rb +2 -3
- data/spec/controllers/admin/pages_controller_spec.rb +2 -3
- data/spec/controllers/admin/trash_controller_spec.rb +1 -2
- data/spec/controllers/admin/users_controller_spec.rb +36 -5
- data/spec/controllers/attachments_controller_spec.rb +2 -4
- data/spec/controllers/base_controller_spec.rb +25 -0
- data/spec/controllers/elements_controller_spec.rb +1 -2
- data/spec/controllers/passwords_controller_spec.rb +16 -0
- data/spec/controllers/pictures_controller_spec.rb +1 -2
- data/spec/controllers/user_sessions_controller_spec.rb +21 -0
- data/spec/controllers/users_controller_spec.rb +67 -0
- data/spec/dummy/db/migrate/20130121092645_migrate_to_devise.rb +24 -0
- data/spec/dummy/db/schema.rb +17 -16
- data/spec/factories.rb +2 -0
- data/spec/integration/pages_controller_spec.rb +9 -1
- data/spec/models/content_spec.rb +11 -0
- data/spec/models/element_spec.rb +11 -2
- data/spec/models/essence_richtext_spec.rb +42 -6
- data/spec/models/essence_text_spec.rb +41 -0
- data/spec/models/page_spec.rb +39 -0
- data/spec/models/user_spec.rb +95 -6
- data/spec/spec_helper.rb +2 -3
- data/spec/support/alchemy/controller_hacks.rb +1 -1
- data/spec/support/alchemy/specs_helpers.rb +4 -4
- metadata +47 -10
- data/app/models/alchemy/user_session.rb +0 -14
- data/app/views/alchemy/notifications/admin_user_created.text.erb +0 -13
- data/app/views/alchemy/user_sessions/logout.html.erb +0 -3
|
@@ -88,7 +88,7 @@ module Alchemy
|
|
|
88
88
|
before do
|
|
89
89
|
element
|
|
90
90
|
english_element
|
|
91
|
-
|
|
91
|
+
PagesController.any_instance.stub(:multi_language?).and_return(true)
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
it "should not display search results from other languages then current" do
|
|
@@ -316,5 +316,13 @@ module Alchemy
|
|
|
316
316
|
end
|
|
317
317
|
|
|
318
318
|
end
|
|
319
|
+
|
|
320
|
+
context "with invalid byte code char in urlname parameter" do
|
|
321
|
+
it "should render page not found" do
|
|
322
|
+
visit '/alchemy/%ed'
|
|
323
|
+
page.status_code.should == 404
|
|
324
|
+
end
|
|
325
|
+
end
|
|
326
|
+
|
|
319
327
|
end
|
|
320
328
|
end
|
data/spec/models/content_spec.rb
CHANGED
|
@@ -130,5 +130,16 @@ module Alchemy
|
|
|
130
130
|
end
|
|
131
131
|
end
|
|
132
132
|
|
|
133
|
+
describe "#descriptions" do
|
|
134
|
+
|
|
135
|
+
context "without any descriptions in elements.yml file" do
|
|
136
|
+
it "should return an empty array" do
|
|
137
|
+
Element.stub(:descriptions).and_return([])
|
|
138
|
+
Content.descriptions.should == []
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
end
|
|
143
|
+
|
|
133
144
|
end
|
|
134
145
|
end
|
data/spec/models/element_spec.rb
CHANGED
|
@@ -116,6 +116,15 @@ module Alchemy
|
|
|
116
116
|
|
|
117
117
|
end
|
|
118
118
|
|
|
119
|
+
context "without any descriptions in elements.yml file" do
|
|
120
|
+
|
|
121
|
+
it "should return an empty array" do
|
|
122
|
+
YAML.stub(:load_file).and_return(false) # Yes, YAML.load_file returns false if an empty file exists.
|
|
123
|
+
Element.descriptions.should == []
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
end
|
|
127
|
+
|
|
119
128
|
context "retrieving contents, essences and ingredients" do
|
|
120
129
|
|
|
121
130
|
let(:element) { FactoryGirl.create(:element, :name => 'news', :create_contents_after_create => true) }
|
|
@@ -302,7 +311,7 @@ module Alchemy
|
|
|
302
311
|
describe '#prev' do
|
|
303
312
|
|
|
304
313
|
it "should return previous element on same page" do
|
|
305
|
-
@
|
|
314
|
+
@element3.prev.should == @element2
|
|
306
315
|
end
|
|
307
316
|
|
|
308
317
|
context "with name as parameter" do
|
|
@@ -316,7 +325,7 @@ module Alchemy
|
|
|
316
325
|
describe '#next' do
|
|
317
326
|
|
|
318
327
|
it "should return next element on same page" do
|
|
319
|
-
@
|
|
328
|
+
@element2.next.should == @element3
|
|
320
329
|
end
|
|
321
330
|
|
|
322
331
|
context "with name as parameter" do
|
|
@@ -1,11 +1,47 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
module Alchemy
|
|
4
|
+
describe EssenceRichtext do
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
it "should save a HTML tag free version of body column" do
|
|
7
|
+
essence = EssenceRichtext.new(:body => '<h1>Hello!</h1><p>Welcome to Peters Petshop.</p>')
|
|
8
|
+
essence.save
|
|
9
|
+
essence.stripped_body.should == "Hello!Welcome to Peters Petshop."
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
describe '.after_save' do
|
|
13
|
+
let(:essence) { EssenceRichtext.create }
|
|
14
|
+
|
|
15
|
+
it "should update the value for `do_not_index`" do
|
|
16
|
+
essence.stub!(:description).and_return({'do_not_index' => true})
|
|
17
|
+
essence.update_attributes(:body => 'hello')
|
|
18
|
+
essence.do_not_index.should be_true
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
context "with `do_not_index` set to nil" do
|
|
22
|
+
it "should update the value to false" do
|
|
23
|
+
essence.stub!(:description).and_return({'do_not_index' => nil})
|
|
24
|
+
essence.update_attributes(:body => 'hello')
|
|
25
|
+
essence.do_not_index.should_not be_nil
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
10
29
|
|
|
30
|
+
context "with `do_not_index` set to true" do
|
|
31
|
+
it "should disable ferret indexing" do
|
|
32
|
+
EssenceRichtext.any_instance.stub(:description).and_return({'do_not_index' => true})
|
|
33
|
+
essence = EssenceRichtext.create
|
|
34
|
+
essence.ferret_enabled?.should be_false
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
context "with `do_not_index` set to false" do
|
|
39
|
+
it "should enable ferret indexing" do
|
|
40
|
+
EssenceRichtext.any_instance.stub(:description).and_return({'do_not_index' => false})
|
|
41
|
+
essence = EssenceRichtext.create
|
|
42
|
+
essence.ferret_enabled?.should be_true
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
11
47
|
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
module Alchemy
|
|
4
|
+
describe EssenceText do
|
|
5
|
+
|
|
6
|
+
describe '.after_save' do
|
|
7
|
+
let(:essence) { EssenceText.create }
|
|
8
|
+
|
|
9
|
+
it "should update the value for `do_not_index`" do
|
|
10
|
+
essence.stub!(:description).and_return({'do_not_index' => true})
|
|
11
|
+
essence.update_attributes(:body => 'hello')
|
|
12
|
+
essence.do_not_index.should be_true
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
context "with `do_not_index` set to nil" do
|
|
16
|
+
it "should update the value to false" do
|
|
17
|
+
essence.stub!(:description).and_return({'do_not_index' => nil})
|
|
18
|
+
essence.update_attributes(:body => 'hello')
|
|
19
|
+
essence.do_not_index.should_not be_nil
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
context "with `do_not_index` set to true" do
|
|
25
|
+
it "should disable ferret indexing" do
|
|
26
|
+
EssenceText.any_instance.stub(:description).and_return({'do_not_index' => true})
|
|
27
|
+
essence = EssenceText.create!
|
|
28
|
+
essence.ferret_enabled?.should be_false
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
context "with `do_not_index` set to false" do
|
|
33
|
+
it "should enable ferret indexing" do
|
|
34
|
+
EssenceText.any_instance.stub(:description).and_return({'do_not_index' => false})
|
|
35
|
+
essence = EssenceText.create
|
|
36
|
+
essence.ferret_enabled?.should be_true
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
data/spec/models/page_spec.rb
CHANGED
|
@@ -181,6 +181,23 @@ module Alchemy
|
|
|
181
181
|
|
|
182
182
|
end
|
|
183
183
|
|
|
184
|
+
describe "#destroy" do
|
|
185
|
+
|
|
186
|
+
context "with trashed but still assigned elements" do
|
|
187
|
+
|
|
188
|
+
before do
|
|
189
|
+
news_page.elements.map(&:trash)
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
it "should not delete the trashed elements" do
|
|
193
|
+
news_page.destroy
|
|
194
|
+
Element.trashed.should_not be_empty
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
end
|
|
200
|
+
|
|
184
201
|
describe '#first_public_child' do
|
|
185
202
|
|
|
186
203
|
before do
|
|
@@ -689,6 +706,17 @@ module Alchemy
|
|
|
689
706
|
end
|
|
690
707
|
end
|
|
691
708
|
|
|
709
|
+
context "page with trashed elements" do
|
|
710
|
+
before do
|
|
711
|
+
page.elements << FactoryGirl.create(:element)
|
|
712
|
+
page.elements.first.trash
|
|
713
|
+
end
|
|
714
|
+
|
|
715
|
+
it "the copy should not hold a copy of the trashed elements" do
|
|
716
|
+
subject.elements.should be_empty
|
|
717
|
+
end
|
|
718
|
+
end
|
|
719
|
+
|
|
692
720
|
context "page with cells" do
|
|
693
721
|
before { page.cells << FactoryGirl.create(:cell) }
|
|
694
722
|
|
|
@@ -697,6 +725,17 @@ module Alchemy
|
|
|
697
725
|
subject.cells.count.should == page.cells.length # It must be length, because!
|
|
698
726
|
end
|
|
699
727
|
end
|
|
728
|
+
|
|
729
|
+
context "page with autogenerate elements" do
|
|
730
|
+
before do
|
|
731
|
+
page = FactoryGirl.create(:page)
|
|
732
|
+
page.stub!(:definition).and_return({'name' => 'standard', 'elements' => ['headline'], 'autogenerate' => ['headline']})
|
|
733
|
+
end
|
|
734
|
+
|
|
735
|
+
it "the copy should not autogenerate elements" do
|
|
736
|
+
subject.elements.should be_empty
|
|
737
|
+
end
|
|
738
|
+
end
|
|
700
739
|
end
|
|
701
740
|
|
|
702
741
|
end
|
data/spec/models/user_spec.rb
CHANGED
|
@@ -1,11 +1,100 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
module Alchemy
|
|
4
|
+
describe User do
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
let(:user) { FactoryGirl.build(:user) }
|
|
7
|
+
let(:page) { FactoryGirl.create(:page) }
|
|
8
|
+
|
|
9
|
+
it "should have a role" do
|
|
10
|
+
user.save!
|
|
11
|
+
user.role.should_not be_nil
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
describe '#logged_in?' do
|
|
15
|
+
before { Config.stub!(:get).and_return 60 }
|
|
16
|
+
|
|
17
|
+
it "should return logged in status" do
|
|
18
|
+
user.last_request_at = 30.minutes.ago
|
|
19
|
+
user.save!
|
|
20
|
+
user.logged_in?.should be_true
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
describe '#logged_out?' do
|
|
25
|
+
before { Config.stub!(:get).and_return 60 }
|
|
26
|
+
|
|
27
|
+
it "should return logged in status" do
|
|
28
|
+
user.last_request_at = 2.hours.ago
|
|
29
|
+
user.save!
|
|
30
|
+
user.logged_out?.should be_true
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe "#pages_locked_by_me" do
|
|
35
|
+
it "should return all pages that are locked by user" do
|
|
36
|
+
user.save!
|
|
37
|
+
page.lock(user)
|
|
38
|
+
user.locked_pages.should include(page)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe '#unlock_pages' do
|
|
43
|
+
before do
|
|
44
|
+
user.save!
|
|
45
|
+
page.lock(user)
|
|
46
|
+
end
|
|
10
47
|
|
|
48
|
+
it "should unlock all users lockes pages" do
|
|
49
|
+
user.unlock_pages!
|
|
50
|
+
user.locked_pages.should be_empty
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe '#is_admin?' do
|
|
55
|
+
it "should return true if the user has admin role" do
|
|
56
|
+
user.role = "admin"
|
|
57
|
+
user.save!
|
|
58
|
+
user.is_admin?.should be_true
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
describe '#fullname' do
|
|
63
|
+
it "should return the firstname and lastname" do
|
|
64
|
+
user.fullname.should == "John Doe"
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
context "user without firstname and lastname" do
|
|
68
|
+
it "should return the login" do
|
|
69
|
+
user.firstname = nil
|
|
70
|
+
user.lastname = nil
|
|
71
|
+
user.fullname.should == "jdoe"
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
context "with flipped option set to true" do
|
|
76
|
+
it "should return the lastname and firstname comma seperated" do
|
|
77
|
+
user.fullname(flipped: true).should == "Doe, John"
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
context "with blank firstname" do
|
|
82
|
+
it "should not have whitespace" do
|
|
83
|
+
user.firstname = nil
|
|
84
|
+
user.fullname.should == "Doe"
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
describe '#store_request_time!' do
|
|
90
|
+
it "should store the timestamp of the request" do
|
|
91
|
+
last_request_at = 2.hours.ago
|
|
92
|
+
user.last_request_at = last_request_at
|
|
93
|
+
user.save!
|
|
94
|
+
user.store_request_time!
|
|
95
|
+
user.last_request_at.should_not == last_request_at
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
end
|
|
11
100
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
begin
|
|
2
3
|
require 'simplecov'
|
|
3
4
|
SimpleCov.start('rails') do
|
|
@@ -17,9 +18,6 @@ def configure
|
|
|
17
18
|
|
|
18
19
|
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
|
19
20
|
|
|
20
|
-
require 'authlogic/test_case'
|
|
21
|
-
include Authlogic::TestCase
|
|
22
|
-
|
|
23
21
|
require "rails/test_help"
|
|
24
22
|
require "rspec/rails"
|
|
25
23
|
require 'factory_girl'
|
|
@@ -50,6 +48,7 @@ def configure
|
|
|
50
48
|
require 'rspec/expectations'
|
|
51
49
|
config.include RSpec::Matchers
|
|
52
50
|
config.include Alchemy::Engine.routes.url_helpers
|
|
51
|
+
config.include Devise::TestHelpers, :type => :controller
|
|
53
52
|
config.mock_with :rspec
|
|
54
53
|
config.use_transactional_fixtures = true
|
|
55
54
|
# Make sure the database is clean and ready for test
|
|
@@ -31,9 +31,9 @@ module Alchemy
|
|
|
31
31
|
if Capybara.current_driver == :poltergeist
|
|
32
32
|
page.driver.headers = { 'Accept-Language' => 'en' }
|
|
33
33
|
end
|
|
34
|
-
visit
|
|
35
|
-
fill_in('
|
|
36
|
-
fill_in('
|
|
34
|
+
visit login_path
|
|
35
|
+
fill_in('user_login', :with => 'jdoe')
|
|
36
|
+
fill_in('user_password', :with => 's3cr3t')
|
|
37
37
|
click_on('Login')
|
|
38
38
|
end
|
|
39
39
|
|
|
@@ -57,7 +57,7 @@ module Alchemy
|
|
|
57
57
|
# end
|
|
58
58
|
#
|
|
59
59
|
def create_admin_user
|
|
60
|
-
FactoryGirl.
|
|
60
|
+
FactoryGirl.create(:admin_user)
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
end
|
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.5.0.
|
|
4
|
+
version: 2.5.0.rc3
|
|
5
5
|
prerelease: 6
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ authors:
|
|
|
13
13
|
autorequire:
|
|
14
14
|
bindir: bin
|
|
15
15
|
cert_chain: []
|
|
16
|
-
date: 2013-01-
|
|
16
|
+
date: 2013-01-30 00:00:00.000000000 Z
|
|
17
17
|
dependencies:
|
|
18
18
|
- !ruby/object:Gem::Dependency
|
|
19
19
|
name: rails
|
|
@@ -32,13 +32,13 @@ dependencies:
|
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: 3.2.11
|
|
34
34
|
- !ruby/object:Gem::Dependency
|
|
35
|
-
name:
|
|
35
|
+
name: devise
|
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
|
37
37
|
none: false
|
|
38
38
|
requirements:
|
|
39
39
|
- - ~>
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
|
-
version:
|
|
41
|
+
version: 2.2.3
|
|
42
42
|
type: :runtime
|
|
43
43
|
prerelease: false
|
|
44
44
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -46,7 +46,23 @@ dependencies:
|
|
|
46
46
|
requirements:
|
|
47
47
|
- - ~>
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version:
|
|
49
|
+
version: 2.2.3
|
|
50
|
+
- !ruby/object:Gem::Dependency
|
|
51
|
+
name: devise-encryptable
|
|
52
|
+
requirement: !ruby/object:Gem::Requirement
|
|
53
|
+
none: false
|
|
54
|
+
requirements:
|
|
55
|
+
- - ~>
|
|
56
|
+
- !ruby/object:Gem::Version
|
|
57
|
+
version: 0.1.1
|
|
58
|
+
type: :runtime
|
|
59
|
+
prerelease: false
|
|
60
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
61
|
+
none: false
|
|
62
|
+
requirements:
|
|
63
|
+
- - ~>
|
|
64
|
+
- !ruby/object:Gem::Version
|
|
65
|
+
version: 0.1.1
|
|
50
66
|
- !ruby/object:Gem::Dependency
|
|
51
67
|
name: awesome_nested_set
|
|
52
68
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -502,6 +518,7 @@ files:
|
|
|
502
518
|
- app/assets/stylesheets/alchemy/tables.scss
|
|
503
519
|
- app/assets/stylesheets/alchemy/tinymce_content.css.scss
|
|
504
520
|
- app/assets/stylesheets/alchemy/tinymce_dialog.css.scss
|
|
521
|
+
- app/assets/stylesheets/alchemy/toolbar.scss
|
|
505
522
|
- app/assets/stylesheets/alchemy/upload.scss
|
|
506
523
|
- app/assets/stylesheets/alchemy/variables.scss
|
|
507
524
|
- app/assets/stylesheets/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css.scss
|
|
@@ -527,8 +544,10 @@ files:
|
|
|
527
544
|
- app/controllers/alchemy/elements_controller.rb
|
|
528
545
|
- app/controllers/alchemy/messages_controller.rb
|
|
529
546
|
- app/controllers/alchemy/pages_controller.rb
|
|
547
|
+
- app/controllers/alchemy/passwords_controller.rb
|
|
530
548
|
- app/controllers/alchemy/pictures_controller.rb
|
|
531
549
|
- app/controllers/alchemy/user_sessions_controller.rb
|
|
550
|
+
- app/controllers/alchemy/users_controller.rb
|
|
532
551
|
- app/helpers/alchemy/admin/attachments_helper.rb
|
|
533
552
|
- app/helpers/alchemy/admin/base_helper.rb
|
|
534
553
|
- app/helpers/alchemy/admin/contents_helper.rb
|
|
@@ -570,7 +589,6 @@ files:
|
|
|
570
589
|
- app/models/alchemy/site.rb
|
|
571
590
|
- app/models/alchemy/tag.rb
|
|
572
591
|
- app/models/alchemy/user.rb
|
|
573
|
-
- app/models/alchemy/user_session.rb
|
|
574
592
|
- app/sweepers/alchemy/content_sweeper.rb
|
|
575
593
|
- app/sweepers/alchemy/pages_sweeper.rb
|
|
576
594
|
- app/sweepers/alchemy/pictures_sweeper.rb
|
|
@@ -736,18 +754,22 @@ files:
|
|
|
736
754
|
- app/views/alchemy/navigation/_image_link.html.erb
|
|
737
755
|
- app/views/alchemy/navigation/_link.html.erb
|
|
738
756
|
- app/views/alchemy/navigation/_renderer.html.erb
|
|
739
|
-
- app/views/alchemy/notifications/admin_user_created.text.erb
|
|
757
|
+
- app/views/alchemy/notifications/admin_user_created.de.text.erb
|
|
758
|
+
- app/views/alchemy/notifications/admin_user_created.en.text.erb
|
|
740
759
|
- app/views/alchemy/notifications/registered_user_created.text.erb
|
|
760
|
+
- app/views/alchemy/notifications/reset_password_instructions.de.text.erb
|
|
761
|
+
- app/views/alchemy/notifications/reset_password_instructions.en.text.erb
|
|
741
762
|
- app/views/alchemy/pages/show.html.erb
|
|
742
763
|
- app/views/alchemy/pages/show.rss.builder
|
|
743
764
|
- app/views/alchemy/pages/sitemap.xml.erb
|
|
765
|
+
- app/views/alchemy/passwords/edit.html.erb
|
|
766
|
+
- app/views/alchemy/passwords/new.html.erb
|
|
744
767
|
- app/views/alchemy/search/_form.html.erb
|
|
745
768
|
- app/views/alchemy/search/_result.html.erb
|
|
746
769
|
- app/views/alchemy/search/_results.html.erb
|
|
747
770
|
- app/views/alchemy/user_sessions/leave.html.erb
|
|
748
|
-
- app/views/alchemy/user_sessions/
|
|
749
|
-
- app/views/alchemy/
|
|
750
|
-
- app/views/alchemy/user_sessions/signup.html.erb
|
|
771
|
+
- app/views/alchemy/user_sessions/new.html.erb
|
|
772
|
+
- app/views/alchemy/users/new.html.erb
|
|
751
773
|
- app/views/kaminari/_gap.html.erb
|
|
752
774
|
- app/views/kaminari/_next_page.html.erb
|
|
753
775
|
- app/views/kaminari/_page.html.erb
|
|
@@ -761,10 +783,13 @@ files:
|
|
|
761
783
|
- config/alchemy/modules.yml
|
|
762
784
|
- config/authorization_rules.rb
|
|
763
785
|
- config/initializers/cache_storage.rb
|
|
786
|
+
- config/initializers/devise.rb
|
|
764
787
|
- config/initializers/dragonfly.rb
|
|
765
788
|
- config/initializers/kaminari_config.rb
|
|
766
789
|
- config/locales/alchemy.de.yml
|
|
767
790
|
- config/locales/alchemy.en.yml
|
|
791
|
+
- config/locales/devise.de.yml
|
|
792
|
+
- config/locales/devise.en.yml
|
|
768
793
|
- config/routes.rb
|
|
769
794
|
- db/migrate/20121118000000_alchemy_two_point_four.rb
|
|
770
795
|
- db/migrate/20121121162313_switch_from_fleximage_to_dragonfly.rb
|
|
@@ -772,6 +797,7 @@ files:
|
|
|
772
797
|
- db/migrate/20121211163003_add_public_to_alchemy_sites.rb
|
|
773
798
|
- db/migrate/20121220102223_add_aliases_to_site.rb
|
|
774
799
|
- db/migrate/20130110212411_create_alchemy_legacy_page_urls.rb
|
|
800
|
+
- db/migrate/20130121092645_migrate_to_devise.rb
|
|
775
801
|
- lib/alchemy/auth_engine.rb
|
|
776
802
|
- lib/alchemy/authentication_helpers.rb
|
|
777
803
|
- lib/alchemy/capistrano.rb
|
|
@@ -801,6 +827,7 @@ files:
|
|
|
801
827
|
- lib/rails/generators/alchemy/base.rb
|
|
802
828
|
- lib/rails/generators/alchemy/deploy_script/deploy_script_generator.rb
|
|
803
829
|
- lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt
|
|
830
|
+
- lib/rails/generators/alchemy/devise/devise_generator.rb
|
|
804
831
|
- lib/rails/generators/alchemy/elements/elements_generator.rb
|
|
805
832
|
- lib/rails/generators/alchemy/elements/templates/editor.html.erb
|
|
806
833
|
- lib/rails/generators/alchemy/elements/templates/editor.html.haml
|
|
@@ -839,7 +866,10 @@ files:
|
|
|
839
866
|
- spec/controllers/base_controller_spec.rb
|
|
840
867
|
- spec/controllers/elements_controller_spec.rb
|
|
841
868
|
- spec/controllers/pages_controller_spec.rb
|
|
869
|
+
- spec/controllers/passwords_controller_spec.rb
|
|
842
870
|
- spec/controllers/pictures_controller_spec.rb
|
|
871
|
+
- spec/controllers/user_sessions_controller_spec.rb
|
|
872
|
+
- spec/controllers/users_controller_spec.rb
|
|
843
873
|
- spec/dummy/Rakefile
|
|
844
874
|
- spec/dummy/app/assets/javascripts/application.js
|
|
845
875
|
- spec/dummy/app/assets/stylesheets/application.css
|
|
@@ -881,6 +911,7 @@ files:
|
|
|
881
911
|
- spec/dummy/db/migrate/20121211163003_add_public_to_alchemy_sites.rb
|
|
882
912
|
- spec/dummy/db/migrate/20121220102223_add_aliases_to_site.rb
|
|
883
913
|
- spec/dummy/db/migrate/20130110212411_create_alchemy_legacy_page_urls.rb
|
|
914
|
+
- spec/dummy/db/migrate/20130121092645_migrate_to_devise.rb
|
|
884
915
|
- spec/dummy/db/schema.rb
|
|
885
916
|
- spec/dummy/lib/assets/.gitkeep
|
|
886
917
|
- spec/dummy/public/404.html
|
|
@@ -930,6 +961,7 @@ files:
|
|
|
930
961
|
- spec/models/essence_picture_spec.rb
|
|
931
962
|
- spec/models/essence_richtext_spec.rb
|
|
932
963
|
- spec/models/essence_select_spec.rb
|
|
964
|
+
- spec/models/essence_text_spec.rb
|
|
933
965
|
- spec/models/language_spec.rb
|
|
934
966
|
- spec/models/page_layout_spec.rb
|
|
935
967
|
- spec/models/page_spec.rb
|
|
@@ -1094,7 +1126,10 @@ test_files:
|
|
|
1094
1126
|
- spec/controllers/base_controller_spec.rb
|
|
1095
1127
|
- spec/controllers/elements_controller_spec.rb
|
|
1096
1128
|
- spec/controllers/pages_controller_spec.rb
|
|
1129
|
+
- spec/controllers/passwords_controller_spec.rb
|
|
1097
1130
|
- spec/controllers/pictures_controller_spec.rb
|
|
1131
|
+
- spec/controllers/user_sessions_controller_spec.rb
|
|
1132
|
+
- spec/controllers/users_controller_spec.rb
|
|
1098
1133
|
- spec/dummy/Rakefile
|
|
1099
1134
|
- spec/dummy/app/assets/javascripts/application.js
|
|
1100
1135
|
- spec/dummy/app/assets/stylesheets/application.css
|
|
@@ -1136,6 +1171,7 @@ test_files:
|
|
|
1136
1171
|
- spec/dummy/db/migrate/20121211163003_add_public_to_alchemy_sites.rb
|
|
1137
1172
|
- spec/dummy/db/migrate/20121220102223_add_aliases_to_site.rb
|
|
1138
1173
|
- spec/dummy/db/migrate/20130110212411_create_alchemy_legacy_page_urls.rb
|
|
1174
|
+
- spec/dummy/db/migrate/20130121092645_migrate_to_devise.rb
|
|
1139
1175
|
- spec/dummy/db/schema.rb
|
|
1140
1176
|
- spec/dummy/lib/assets/.gitkeep
|
|
1141
1177
|
- spec/dummy/public/404.html
|
|
@@ -1185,6 +1221,7 @@ test_files:
|
|
|
1185
1221
|
- spec/models/essence_picture_spec.rb
|
|
1186
1222
|
- spec/models/essence_richtext_spec.rb
|
|
1187
1223
|
- spec/models/essence_select_spec.rb
|
|
1224
|
+
- spec/models/essence_text_spec.rb
|
|
1188
1225
|
- spec/models/language_spec.rb
|
|
1189
1226
|
- spec/models/page_layout_spec.rb
|
|
1190
1227
|
- spec/models/page_spec.rb
|