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.
Files changed (101) hide show
  1. data/alchemy_cms.gemspec +2 -1
  2. data/app/assets/javascripts/alchemy/alchemy.base.js +0 -27
  3. data/app/assets/javascripts/alchemy/alchemy.growler.js +1 -1
  4. data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +0 -1
  5. data/app/assets/javascripts/alchemy/alchemy.onload.js.coffee +0 -4
  6. data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +0 -1
  7. data/app/assets/stylesheets/alchemy/admin.css.scss +1 -0
  8. data/app/assets/stylesheets/alchemy/archive.scss +8 -6
  9. data/app/assets/stylesheets/alchemy/base.scss +3 -92
  10. data/app/assets/stylesheets/alchemy/elements.scss +2 -2
  11. data/app/assets/stylesheets/alchemy/flash.scss +16 -12
  12. data/app/assets/stylesheets/alchemy/frame.scss +10 -5
  13. data/app/assets/stylesheets/alchemy/icons.scss +2 -2
  14. data/app/assets/stylesheets/alchemy/pagination.scss +5 -5
  15. data/app/assets/stylesheets/alchemy/tables.scss +2 -2
  16. data/app/assets/stylesheets/alchemy/toolbar.scss +79 -0
  17. data/app/controllers/alchemy/admin/base_controller.rb +3 -2
  18. data/app/controllers/alchemy/admin/dashboard_controller.rb +1 -1
  19. data/app/controllers/alchemy/admin/pictures_controller.rb +1 -1
  20. data/app/controllers/alchemy/admin/users_controller.rb +8 -2
  21. data/app/controllers/alchemy/attachments_controller.rb +1 -1
  22. data/app/controllers/alchemy/base_controller.rb +8 -0
  23. data/app/controllers/alchemy/pages_controller.rb +4 -0
  24. data/app/controllers/alchemy/passwords_controller.rb +23 -0
  25. data/app/controllers/alchemy/user_sessions_controller.rb +20 -49
  26. data/app/controllers/alchemy/users_controller.rb +49 -0
  27. data/app/mailers/alchemy/notifications.rb +5 -0
  28. data/app/models/alchemy/content.rb +6 -2
  29. data/app/models/alchemy/element.rb +9 -5
  30. data/app/models/alchemy/essence_richtext.rb +28 -16
  31. data/app/models/alchemy/essence_text.rb +22 -13
  32. data/app/models/alchemy/message.rb +1 -1
  33. data/app/models/alchemy/page.rb +7 -2
  34. data/app/models/alchemy/user.rb +66 -24
  35. data/app/views/alchemy/admin/dashboard/index.html.erb +1 -1
  36. data/app/views/alchemy/admin/essence_files/edit.html.erb +1 -0
  37. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +8 -1
  38. data/app/views/alchemy/admin/partials/_flash.html.erb +1 -1
  39. data/app/views/alchemy/admin/users/_table.html.erb +2 -2
  40. data/app/views/alchemy/admin/users/_user.html.erb +1 -1
  41. data/app/views/alchemy/admin/users/index.html.erb +1 -1
  42. data/app/views/alchemy/notifications/admin_user_created.de.text.erb +11 -0
  43. data/app/views/alchemy/notifications/admin_user_created.en.text.erb +11 -0
  44. data/app/views/alchemy/notifications/registered_user_created.text.erb +2 -1
  45. data/app/views/alchemy/notifications/reset_password_instructions.de.text.erb +8 -0
  46. data/app/views/alchemy/notifications/reset_password_instructions.en.text.erb +8 -0
  47. data/app/views/alchemy/passwords/edit.html.erb +35 -0
  48. data/app/views/alchemy/passwords/new.html.erb +30 -0
  49. data/app/views/alchemy/user_sessions/leave.html.erb +3 -3
  50. data/app/views/alchemy/user_sessions/{login.html.erb → new.html.erb} +5 -2
  51. data/app/views/alchemy/{user_sessions/signup.html.erb → users/new.html.erb} +0 -0
  52. data/config/alchemy/config.yml +12 -0
  53. data/config/initializers/devise.rb +242 -0
  54. data/config/locales/alchemy.de.yml +12 -39
  55. data/config/locales/alchemy.en.yml +4 -31
  56. data/config/locales/devise.de.yml +57 -0
  57. data/config/locales/devise.en.yml +60 -0
  58. data/config/routes.rb +37 -21
  59. data/db/migrate/20130121092645_migrate_to_devise.rb +24 -0
  60. data/lib/alchemy/authentication_helpers.rb +0 -13
  61. data/lib/alchemy/engine.rb +2 -2
  62. data/lib/alchemy/essence.rb +2 -2
  63. data/lib/alchemy/upgrader.rb +33 -0
  64. data/lib/alchemy/version.rb +1 -1
  65. data/lib/alchemy_cms.rb +2 -1
  66. data/lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt +1 -1
  67. data/lib/rails/generators/alchemy/devise/devise_generator.rb +24 -0
  68. data/lib/rails/generators/alchemy/scaffold/files/elements.yml +1 -111
  69. data/lib/rails/generators/alchemy/scaffold/templates/page_layouts.yml.tt +1 -27
  70. data/lib/tasks/ferret.rake +6 -6
  71. data/spec/controllers/admin/clipboard_controller_spec.rb +2 -3
  72. data/spec/controllers/admin/contents_controller_spec.rb +1 -2
  73. data/spec/controllers/admin/elements_controller_spec.rb +1 -2
  74. data/spec/controllers/admin/languages_controller_spec.rb +2 -3
  75. data/spec/controllers/admin/pages_controller_spec.rb +2 -3
  76. data/spec/controllers/admin/trash_controller_spec.rb +1 -2
  77. data/spec/controllers/admin/users_controller_spec.rb +36 -5
  78. data/spec/controllers/attachments_controller_spec.rb +2 -4
  79. data/spec/controllers/base_controller_spec.rb +25 -0
  80. data/spec/controllers/elements_controller_spec.rb +1 -2
  81. data/spec/controllers/passwords_controller_spec.rb +16 -0
  82. data/spec/controllers/pictures_controller_spec.rb +1 -2
  83. data/spec/controllers/user_sessions_controller_spec.rb +21 -0
  84. data/spec/controllers/users_controller_spec.rb +67 -0
  85. data/spec/dummy/db/migrate/20130121092645_migrate_to_devise.rb +24 -0
  86. data/spec/dummy/db/schema.rb +17 -16
  87. data/spec/factories.rb +2 -0
  88. data/spec/integration/pages_controller_spec.rb +9 -1
  89. data/spec/models/content_spec.rb +11 -0
  90. data/spec/models/element_spec.rb +11 -2
  91. data/spec/models/essence_richtext_spec.rb +42 -6
  92. data/spec/models/essence_text_spec.rb +41 -0
  93. data/spec/models/page_spec.rb +39 -0
  94. data/spec/models/user_spec.rb +95 -6
  95. data/spec/spec_helper.rb +2 -3
  96. data/spec/support/alchemy/controller_hacks.rb +1 -1
  97. data/spec/support/alchemy/specs_helpers.rb +4 -4
  98. metadata +47 -10
  99. data/app/models/alchemy/user_session.rb +0 -14
  100. data/app/views/alchemy/notifications/admin_user_created.text.erb +0 -13
  101. 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
- controller.stub!(:multi_language?).and_return(true)
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
@@ -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
@@ -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
- @element2.prev.should == @element1
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
- @element1.next.should == @element2
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
- describe Alchemy::EssenceRichtext do
3
+ module Alchemy
4
+ describe EssenceRichtext do
4
5
 
5
- it "should save a HTML tag free version of body column" do
6
- essence = Alchemy::EssenceRichtext.new(:body => '<h1>Hello!</h1><p>Welcome to Peters Petshop.</p>')
7
- essence.save!
8
- essence.stripped_body.should == "Hello!Welcome to Peters Petshop."
9
- end
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
@@ -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
@@ -1,11 +1,100 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Alchemy::User do
3
+ module Alchemy
4
+ describe User do
4
5
 
5
- it "should have a role" do
6
- @user = FactoryGirl.build(:user)
7
- @user.save_without_session_maintenance
8
- @user.role.should_not be_nil
9
- end
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
@@ -25,7 +25,7 @@ module Alchemy
25
25
  process_alchemy_action(action, parameters, session, flash, "DELETE")
26
26
  end
27
27
 
28
- private
28
+ private
29
29
 
30
30
  def process_alchemy_action(action, parameters = nil, session = nil, flash = nil, method = "GET")
31
31
  parameters ||= {}
@@ -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 "/alchemy/admin/login"
35
- fill_in('alchemy_user_session_login', :with => 'jdoe')
36
- fill_in('alchemy_user_session_password', :with => 's3cr3t')
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.build(:admin_user).save_without_session_maintenance
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.b9
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-18 00:00:00.000000000 Z
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: authlogic
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: 3.1.3
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: 3.1.3
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/login.html.erb
749
- - app/views/alchemy/user_sessions/logout.html.erb
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