alchemy_cms 2.5.0.b9 → 2.5.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
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