alchemy_cms 2.8.3 → 2.9.0

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 (152) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -2
  3. data/README.md +108 -25
  4. data/alchemy_cms.gemspec +0 -1
  5. data/app/assets/stylesheets/alchemy/archive.scss +2 -2
  6. data/app/assets/stylesheets/alchemy/base.scss +0 -37
  7. data/app/assets/stylesheets/alchemy/elements.scss +1 -1
  8. data/app/assets/stylesheets/alchemy/flash.scss +1 -1
  9. data/app/assets/stylesheets/alchemy/form_elements.scss +1 -1
  10. data/app/assets/stylesheets/alchemy/icon-font.css.scss +40 -40
  11. data/app/assets/stylesheets/alchemy/icons.scss +4 -32
  12. data/app/assets/stylesheets/alchemy/jquery-ui.scss +4 -4
  13. data/app/assets/stylesheets/alchemy/menubar.css.scss +20 -12
  14. data/app/assets/stylesheets/alchemy/modules.scss +0 -4
  15. data/app/assets/stylesheets/alchemy/search.scss +1 -1
  16. data/app/assets/stylesheets/alchemy/sitemap.scss +1 -1
  17. data/app/assets/stylesheets/tiny_mce/plugins/inlinepopups/skins/alchemy-tinymce-dialog/window.css.scss +3 -3
  18. data/app/controllers/alchemy/admin/base_controller.rb +12 -8
  19. data/app/controllers/alchemy/admin/dashboard_controller.rb +10 -5
  20. data/app/controllers/alchemy/admin/elements_controller.rb +1 -1
  21. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +8 -1
  22. data/app/controllers/alchemy/admin/layoutpages_controller.rb +1 -1
  23. data/app/controllers/alchemy/admin/pages_controller.rb +11 -6
  24. data/app/controllers/alchemy/admin/resources_controller.rb +2 -2
  25. data/app/controllers/alchemy/admin/users_controller.rb +1 -1
  26. data/app/controllers/alchemy/base_controller.rb +71 -37
  27. data/app/controllers/alchemy/elements_controller.rb +1 -1
  28. data/app/controllers/alchemy/pages_controller.rb +9 -3
  29. data/app/controllers/alchemy/pictures_controller.rb +1 -0
  30. data/app/helpers/alchemy/admin/base_helper.rb +2 -10
  31. data/app/helpers/alchemy/admin/pages_helper.rb +1 -1
  32. data/app/helpers/alchemy/base_helper.rb +1 -1
  33. data/app/helpers/alchemy/pages_helper.rb +1 -1
  34. data/app/models/alchemy/attachment.rb +3 -4
  35. data/app/models/alchemy/cell.rb +1 -1
  36. data/app/models/alchemy/content.rb +3 -4
  37. data/app/models/alchemy/element.rb +5 -6
  38. data/app/models/alchemy/folded_page.rb +1 -1
  39. data/app/models/alchemy/language.rb +1 -1
  40. data/app/models/alchemy/message.rb +1 -7
  41. data/app/models/alchemy/page.rb +12 -10
  42. data/app/models/alchemy/page/{cells.rb → page_cells.rb} +2 -2
  43. data/app/models/alchemy/page/{elements.rb → page_elements.rb} +2 -2
  44. data/app/models/alchemy/page/{naming.rb → page_naming.rb} +1 -1
  45. data/app/models/alchemy/page/{natures.rb → page_natures.rb} +3 -3
  46. data/app/models/alchemy/page/{scopes.rb → page_scopes.rb} +3 -3
  47. data/app/models/alchemy/page/page_users.rb +33 -0
  48. data/app/models/alchemy/picture.rb +3 -3
  49. data/app/models/alchemy/site.rb +2 -2
  50. data/app/views/alchemy/admin/dashboard/_locked_pages.html.erb +1 -1
  51. data/app/views/alchemy/admin/dashboard/_recent_pages.html.erb +1 -1
  52. data/app/views/alchemy/admin/dashboard/_sites.html.erb +1 -1
  53. data/app/views/alchemy/admin/dashboard/index.html.erb +10 -4
  54. data/app/views/alchemy/admin/pages/_page.html.erb +1 -1
  55. data/app/views/alchemy/admin/pages/update.js.erb +1 -1
  56. data/app/views/alchemy/{user_sessions → base}/leave.html.erb +2 -2
  57. data/app/views/alchemy/base/permission_denied.js.erb +3 -2
  58. data/app/views/layouts/alchemy/admin.html.erb +6 -3
  59. data/config/alchemy/config.yml +1 -11
  60. data/config/alchemy/modules.yml +0 -12
  61. data/config/locales/alchemy.de.yml +3 -40
  62. data/config/locales/alchemy.en.yml +2 -22
  63. data/config/routes.rb +2 -27
  64. data/db/migrate/20130827094554_alchemy_two_point_six.rb +0 -31
  65. data/lib/alchemy/auth_accessors.rb +54 -0
  66. data/lib/alchemy/capistrano.rb +5 -17
  67. data/lib/alchemy/engine.rb +7 -7
  68. data/lib/alchemy/errors.rb +6 -0
  69. data/lib/alchemy/essence.rb +2 -2
  70. data/lib/alchemy/seeder.rb +1 -1
  71. data/lib/alchemy/tasks/helpers.rb +83 -0
  72. data/lib/alchemy/test_support/auth_helpers.rb +35 -0
  73. data/lib/alchemy/test_support/controller_requests.rb +37 -0
  74. data/{spec/support → lib/alchemy/test_support}/factories.rb +7 -28
  75. data/{spec/support/alchemy → lib/alchemy/test_support}/integration_helpers.rb +9 -36
  76. data/lib/alchemy/upgrader.rb +8 -7
  77. data/lib/alchemy/upgrader/two_point_nine.rb +33 -0
  78. data/lib/alchemy/userstamp.rb +10 -0
  79. data/lib/alchemy/version.rb +1 -3
  80. data/lib/rails/templates/alchemy.rb +1 -0
  81. data/lib/tasks/alchemy/db.rake +5 -5
  82. data/spec/controllers/admin/attachments_controller_spec.rb +3 -3
  83. data/spec/controllers/admin/dashboard_controller_spec.rb +55 -34
  84. data/spec/controllers/admin/elements_controller_spec.rb +1 -1
  85. data/spec/controllers/admin/essence_pictures_controller_spec.rb +22 -6
  86. data/spec/controllers/admin/pages_controller_spec.rb +41 -58
  87. data/spec/controllers/admin/resources_controller_spec.rb +30 -5
  88. data/spec/controllers/admin/trash_controller_spec.rb +1 -1
  89. data/spec/controllers/attachments_controller_spec.rb +26 -44
  90. data/spec/controllers/base_controller_spec.rb +8 -33
  91. data/spec/controllers/elements_controller_spec.rb +1 -1
  92. data/spec/controllers/pages_controller_spec.rb +7 -15
  93. data/spec/controllers/pictures_controller_spec.rb +44 -5
  94. data/spec/dummy/app/controllers/application_controller.rb +9 -1
  95. data/spec/dummy/app/models/user.rb +14 -0
  96. data/spec/dummy/db/migrate/20130827094554_alchemy_two_point_six.rb +0 -31
  97. data/spec/dummy/db/schema.rb +0 -31
  98. data/spec/features/admin/language_tree_feature_spec.rb +34 -0
  99. data/spec/features/admin/pages_controller_spec.rb +1 -1
  100. data/spec/features/pages_controller_spec.rb +5 -12
  101. data/spec/features/picture_security_spec.rb +2 -2
  102. data/spec/features/security_spec.rb +6 -45
  103. data/spec/features/translation_integration_spec.rb +11 -20
  104. data/spec/{support → fixtures}/80x60.png +0 -0
  105. data/spec/support/image with spaces.png b/data/spec/fixtures/image with → spaces.png +0 -0
  106. data/spec/{support → fixtures}/image.png +0 -0
  107. data/spec/{support → fixtures}/image2.PNG +0 -0
  108. data/spec/{support → fixtures}/image3.jpeg +0 -0
  109. data/spec/helpers/admin/base_helper_spec.rb +31 -43
  110. data/spec/helpers/admin/pages_helper_spec.rb +4 -2
  111. data/spec/helpers/base_helper_spec.rb +10 -3
  112. data/spec/helpers/pages_helper_spec.rb +32 -22
  113. data/spec/models/attachment_spec.rb +1 -1
  114. data/spec/models/element_spec.rb +33 -57
  115. data/spec/models/message_spec.rb +0 -16
  116. data/spec/models/page_spec.rb +62 -26
  117. data/spec/models/picture_spec.rb +5 -5
  118. data/spec/spec_helper.rb +13 -4
  119. data/spec/tasks/helpers_spec.rb +213 -0
  120. metadata +33 -75
  121. data/app/controllers/alchemy/passwords_controller.rb +0 -35
  122. data/app/controllers/alchemy/user_sessions_controller.rb +0 -67
  123. data/app/controllers/alchemy/users_controller.rb +0 -46
  124. data/app/mailers/alchemy/notifications.rb +0 -33
  125. data/app/models/alchemy/page/users.rb +0 -25
  126. data/app/models/alchemy/user.rb +0 -183
  127. data/app/views/alchemy/admin/users/_table.html.erb +0 -69
  128. data/app/views/alchemy/admin/users/_user.html.erb +0 -39
  129. data/app/views/alchemy/admin/users/edit.html.erb +0 -6
  130. data/app/views/alchemy/admin/users/index.html.erb +0 -58
  131. data/app/views/alchemy/admin/users/new.html.erb +0 -6
  132. data/app/views/alchemy/notifications/admin_user_created.de.text.erb +0 -15
  133. data/app/views/alchemy/notifications/admin_user_created.en.text.erb +0 -15
  134. data/app/views/alchemy/notifications/registered_user_created.de.text.erb +0 -13
  135. data/app/views/alchemy/notifications/registered_user_created.en.text.erb +0 -13
  136. data/app/views/alchemy/notifications/reset_password_instructions.de.text.erb +0 -8
  137. data/app/views/alchemy/notifications/reset_password_instructions.en.text.erb +0 -8
  138. data/app/views/alchemy/passwords/edit.html.erb +0 -35
  139. data/app/views/alchemy/passwords/new.html.erb +0 -30
  140. data/app/views/alchemy/user_sessions/new.html.erb +0 -48
  141. data/app/views/alchemy/users/new.html.erb +0 -14
  142. data/config/initializers/devise.rb +0 -242
  143. data/config/locales/devise.de.yml +0 -58
  144. data/config/locales/devise.en.yml +0 -60
  145. data/lib/rails/generators/alchemy/devise/devise_generator.rb +0 -29
  146. data/spec/controllers/admin/users_controller_spec.rb +0 -132
  147. data/spec/controllers/passwords_controller_spec.rb +0 -16
  148. data/spec/controllers/user_sessions_controller_spec.rb +0 -22
  149. data/spec/controllers/users_controller_spec.rb +0 -66
  150. data/spec/mailers/notifications_spec.rb +0 -67
  151. data/spec/models/user_spec.rb +0 -252
  152. data/spec/support/alchemy/controller_helpers.rb +0 -35
@@ -5,7 +5,7 @@ module Alchemy
5
5
  describe Picture do
6
6
 
7
7
  let :image_file do
8
- File.new(File.expand_path('../../support/image.png', __FILE__))
8
+ File.new(File.expand_path('../../fixtures/image.png', __FILE__))
9
9
  end
10
10
 
11
11
  let(:picture) { Picture.new }
@@ -21,13 +21,13 @@ module Alchemy
21
21
  end
22
22
 
23
23
  it "is valid with capitalized image file extension" do
24
- image_file = File.new(File.expand_path('../../support/image2.PNG', __FILE__))
24
+ image_file = File.new(File.expand_path('../../fixtures/image2.PNG', __FILE__))
25
25
  picture = Picture.new(:image_file => image_file)
26
26
  picture.should be_valid
27
27
  end
28
28
 
29
29
  it "is valid with jpeg image file extension" do
30
- image_file = File.new(File.expand_path('../../support/image3.jpeg', __FILE__))
30
+ image_file = File.new(File.expand_path('../../fixtures/image3.jpeg', __FILE__))
31
31
  picture = Picture.new(:image_file => image_file)
32
32
  picture.should be_valid
33
33
  end
@@ -216,7 +216,7 @@ module Alchemy
216
216
  end
217
217
 
218
218
  end
219
-
219
+
220
220
  describe "#cropped_thumbnail_size" do
221
221
 
222
222
  context "if given size is blank or 111x93" do
@@ -238,7 +238,7 @@ module Alchemy
238
238
  end
239
239
  end
240
240
  end
241
-
241
+
242
242
  describe "#image_file_dimensions" do
243
243
  it "should return the width and height in the format of '1024x768'" do
244
244
  picture.image_file = image_file
data/spec/spec_helper.rb CHANGED
@@ -17,10 +17,15 @@ require "rails/test_help"
17
17
  require "rspec/rails"
18
18
  require 'factory_girl'
19
19
 
20
+ # Load authorization ruels from dummy app.
21
+ Alchemy::Auth::Engine.get_instance.load(File.join(File.dirname(__FILE__), './dummy', 'config/authorization_rules.rb'))
22
+
20
23
  ActionMailer::Base.delivery_method = :test
21
24
  ActionMailer::Base.perform_deliveries = true
22
25
  ActionMailer::Base.default_url_options[:host] = "test.com"
23
26
 
27
+ ActiveSupport::Deprecation.silenced = true
28
+
24
29
  Rails.backtrace_cleaner.remove_silencers!
25
30
  # Disable rails loggin for faster IO. Remove this if you want to have a test.log
26
31
  Rails.logger.level = 4
@@ -28,6 +33,10 @@ Rails.logger.level = 4
28
33
  # Configure capybara for integration testing
29
34
  require "capybara/rails"
30
35
  require 'capybara/poltergeist'
36
+ require 'alchemy/test_support/auth_helpers'
37
+ require 'alchemy/test_support/controller_requests'
38
+ require 'alchemy/test_support/integration_helpers'
39
+ require 'alchemy/test_support/factories'
31
40
  Capybara.default_driver = :rack_test
32
41
  Capybara.default_selector = :css
33
42
  Capybara.register_driver(:rack_test_translated_header) do |app|
@@ -39,6 +48,7 @@ if ENV['CI']
39
48
  end
40
49
  end
41
50
  Capybara.javascript_driver = :poltergeist
51
+ Capybara.ignore_hidden_elements = false
42
52
 
43
53
  # Load support files
44
54
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
@@ -50,11 +60,10 @@ RSpec.configure do |config|
50
60
  config.run_all_when_everything_filtered = true
51
61
  config.filter_run :focus
52
62
  config.include Alchemy::Engine.routes.url_helpers
53
- config.include Devise::TestHelpers, :type => :controller
54
- config.include Alchemy::Specs::ControllerHelpers, :type => :controller
55
- config.include Alchemy::Specs::IntegrationHelpers, :type => :feature
63
+ config.include Alchemy::TestSupport::AuthHelpers
64
+ config.include Alchemy::TestSupport::IntegrationHelpers, type: :feature
56
65
  config.use_transactional_fixtures = false
57
-
66
+ # Make sure the database is clean and ready for test
58
67
  config.before(:suite) do
59
68
  DatabaseCleaner.clean_with(:truncation)
60
69
  Alchemy::Seeder.seed!
@@ -0,0 +1,213 @@
1
+ require 'spec_helper'
2
+ require 'alchemy/tasks/helpers'
3
+
4
+ module Alchemy
5
+
6
+ class Foo
7
+ extend Tasks::Helpers
8
+ end
9
+
10
+ describe "Tasks:Helpers" do
11
+
12
+ let(:config) do
13
+ {
14
+ 'test' => {
15
+ 'adapter' => 'mysql2',
16
+ 'username' => 'testuser',
17
+ 'password' => '123456',
18
+ 'host' => 'localhost'
19
+ }
20
+ }
21
+ end
22
+
23
+ before do
24
+ File.stub(exists?: true)
25
+ YAML.stub(load_file: config)
26
+ end
27
+
28
+ describe "#database_dump_command" do
29
+ subject { Foo.database_dump_command(adapter) }
30
+
31
+ context "when config for RAILS_ENV not found" do
32
+ let(:adapter) { 'mysql2' }
33
+
34
+ before { Foo.stub(environment: 'huh?') }
35
+
36
+ it "should raise an error" do
37
+ expect { subject }.to raise_error(RuntimeError)
38
+ end
39
+ end
40
+
41
+ context "when given a not supported database adapter" do
42
+ let(:adapter) { 'oracle' }
43
+
44
+ it "should raise an error" do
45
+ expect { subject }.to raise_error(ArgumentError)
46
+ end
47
+ end
48
+
49
+ context "for mysql adapter" do
50
+ let(:adapter) { 'mysql2' }
51
+
52
+ it "uses the mysqldump command" do
53
+ should include('mysqldump ')
54
+ end
55
+
56
+ context "when a username is set in the config file" do
57
+ it { should include("--user='testuser'") }
58
+ end
59
+
60
+ context "when a password is set in the config file" do
61
+ it { should include("--password='123456'") }
62
+ end
63
+
64
+ context "when a host is set in the config file" do
65
+ context "and the host is localhost" do
66
+ it { should_not include("--host=") }
67
+ end
68
+
69
+ context "and the host is anything but not localhost" do
70
+ before do
71
+ YAML.stub(load_file: {'test' => {'host' => 'mydomain.com'}})
72
+ end
73
+ it { should include("--host='mydomain.com'") }
74
+ end
75
+ end
76
+ end
77
+
78
+ context "for postgresql adapter" do
79
+ let(:adapter) { 'postgresql' }
80
+
81
+ it "uses the pg_dump command with clean option" do
82
+ should include('pg_dump --clean')
83
+ end
84
+
85
+ context "when a username is set in the config file" do
86
+ it { should include("--username='testuser'") }
87
+ end
88
+
89
+ context "when a password is set in the config file" do
90
+ it { should include("PGPASSWORD='123456'") }
91
+ end
92
+
93
+ context "when a host is set in the config file" do
94
+ context "and the host is localhost" do
95
+ it { should_not include("--host=") }
96
+ end
97
+
98
+ context "and the host is anything but not localhost" do
99
+ before do
100
+ YAML.stub(load_file: {'test' => {'host' => 'mydomain.com'}})
101
+ end
102
+ it { should include("--host='mydomain.com'") }
103
+ end
104
+ end
105
+ end
106
+
107
+ after do
108
+ Foo.instance_variable_set("@database_config", nil) # resets the memoization
109
+ end
110
+ end
111
+
112
+ describe "#database_import_command" do
113
+ subject { Foo.database_import_command(adapter) }
114
+
115
+ context "when config for RAILS_ENV not found" do
116
+ let(:adapter) { 'mysql' }
117
+
118
+ before { Foo.stub(environment: 'huh?') }
119
+
120
+ it "should raise an error" do
121
+ expect { subject }.to raise_error(RuntimeError)
122
+ end
123
+ end
124
+
125
+ context "when given a not supported database adapter" do
126
+ let(:adapter) { 'oracle' }
127
+
128
+ it "should raise an error" do
129
+ expect { subject }.to raise_error(ArgumentError)
130
+ end
131
+ end
132
+
133
+ context "for mysql adapter" do
134
+ let(:adapter) { 'mysql' }
135
+
136
+ it "uses the mysql command" do
137
+ should include('mysql ')
138
+ end
139
+
140
+ context "when a username is set in the config file" do
141
+ it { should include("--user='testuser'") }
142
+ end
143
+
144
+ context "when a password is set in the config file" do
145
+ it { should include("--password='123456'") }
146
+ end
147
+
148
+ context "when a host is set in the config file" do
149
+ context "and the host is localhost" do
150
+ it { should_not include("--host=") }
151
+ end
152
+
153
+ context "and the host is anything but not localhost" do
154
+ before do
155
+ YAML.stub(load_file: {'test' => {'host' => 'mydomain.com'}})
156
+ end
157
+ it { should include("--host='mydomain.com'") }
158
+ end
159
+ end
160
+ end
161
+
162
+ context "for postgresql adapter" do
163
+ let(:adapter) { 'postgresql' }
164
+
165
+ it "uses the psql command" do
166
+ should include('psql ')
167
+ end
168
+
169
+ context "when a username is set in the config file" do
170
+ it { should include("--username='testuser'") }
171
+ end
172
+
173
+ context "when a password is set in the config file" do
174
+ it { should include("PGPASSWORD='123456'") }
175
+ end
176
+
177
+ context "when a host is set in the config file" do
178
+ context "and the host is localhost" do
179
+ it { should_not include("--host=") }
180
+ end
181
+
182
+ context "and the host is anything but not localhost" do
183
+ before do
184
+ YAML.stub(load_file: {'test' => {'host' => 'mydomain.com'}})
185
+ end
186
+ it { should include("--host='mydomain.com'") }
187
+ end
188
+ end
189
+ end
190
+
191
+ after do
192
+ Foo.instance_variable_set("@database_config", nil) # resets the memoization
193
+ end
194
+ end
195
+
196
+ describe "#database_config" do
197
+ it "should memoize the results" do
198
+ expect(Foo.database_config).to eq(config['test'])
199
+ config['username'] = 'newuser'
200
+ expect(Foo.database_config).to eq(config['test'])
201
+ end
202
+
203
+ context 'for missing database config file' do
204
+ before { File.stub(exists?: false) }
205
+
206
+ it "raises error" do
207
+ expect { Foo.database_config }.to raise_error(RuntimeError)
208
+ end
209
+ end
210
+ end
211
+
212
+ end
213
+ 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.8.3
4
+ version: 2.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-06-12 00:00:00.000000000 Z
15
+ date: 2014-06-16 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rails
@@ -28,20 +28,6 @@ dependencies:
28
28
  - - "~>"
29
29
  - !ruby/object:Gem::Version
30
30
  version: 3.2.13
31
- - !ruby/object:Gem::Dependency
32
- name: devise
33
- requirement: !ruby/object:Gem::Requirement
34
- requirements:
35
- - - "~>"
36
- - !ruby/object:Gem::Version
37
- version: 2.2.3
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- requirements:
42
- - - "~>"
43
- - !ruby/object:Gem::Version
44
- version: 2.2.3
45
31
  - !ruby/object:Gem::Dependency
46
32
  name: awesome_nested_set
47
33
  requirement: !ruby/object:Gem::Requirement
@@ -496,10 +482,7 @@ files:
496
482
  - app/controllers/alchemy/elements_controller.rb
497
483
  - app/controllers/alchemy/messages_controller.rb
498
484
  - app/controllers/alchemy/pages_controller.rb
499
- - app/controllers/alchemy/passwords_controller.rb
500
485
  - app/controllers/alchemy/pictures_controller.rb
501
- - app/controllers/alchemy/user_sessions_controller.rb
502
- - app/controllers/alchemy/users_controller.rb
503
486
  - app/helpers/alchemy/admin/attachments_helper.rb
504
487
  - app/helpers/alchemy/admin/base_helper.rb
505
488
  - app/helpers/alchemy/admin/contents_helper.rb
@@ -516,7 +499,6 @@ files:
516
499
  - app/helpers/alchemy/pages_helper.rb
517
500
  - app/helpers/alchemy/url_helper.rb
518
501
  - app/mailers/alchemy/messages.rb
519
- - app/mailers/alchemy/notifications.rb
520
502
  - app/models/alchemy.rb
521
503
  - app/models/alchemy/attachment.rb
522
504
  - app/models/alchemy/cell.rb
@@ -541,18 +523,17 @@ files:
541
523
  - app/models/alchemy/legacy_page_url.rb
542
524
  - app/models/alchemy/message.rb
543
525
  - app/models/alchemy/page.rb
544
- - app/models/alchemy/page/cells.rb
545
- - app/models/alchemy/page/elements.rb
546
- - app/models/alchemy/page/naming.rb
547
- - app/models/alchemy/page/natures.rb
548
- - app/models/alchemy/page/scopes.rb
549
- - app/models/alchemy/page/users.rb
526
+ - app/models/alchemy/page/page_cells.rb
527
+ - app/models/alchemy/page/page_elements.rb
528
+ - app/models/alchemy/page/page_naming.rb
529
+ - app/models/alchemy/page/page_natures.rb
530
+ - app/models/alchemy/page/page_scopes.rb
531
+ - app/models/alchemy/page/page_users.rb
550
532
  - app/models/alchemy/picture.rb
551
533
  - app/models/alchemy/site.rb
552
534
  - app/models/alchemy/site/layout.rb
553
535
  - app/models/alchemy/tag.rb
554
536
  - app/models/alchemy/tree_node.rb
555
- - app/models/alchemy/user.rb
556
537
  - app/sweepers/alchemy/content_sweeper.rb
557
538
  - app/sweepers/alchemy/pages_sweeper.rb
558
539
  - app/sweepers/alchemy/pictures_sweeper.rb
@@ -690,15 +671,11 @@ files:
690
671
  - app/views/alchemy/admin/tags/new.html.erb
691
672
  - app/views/alchemy/admin/trash/clear.js.coffee
692
673
  - app/views/alchemy/admin/trash/index.html.erb
693
- - app/views/alchemy/admin/users/_table.html.erb
694
- - app/views/alchemy/admin/users/_user.html.erb
695
- - app/views/alchemy/admin/users/edit.html.erb
696
- - app/views/alchemy/admin/users/index.html.erb
697
- - app/views/alchemy/admin/users/new.html.erb
698
674
  - app/views/alchemy/attachments/show.html.erb
699
675
  - app/views/alchemy/base/500.html.erb
700
676
  - app/views/alchemy/base/error_notice.html.erb
701
677
  - app/views/alchemy/base/error_notice.js.erb
678
+ - app/views/alchemy/base/leave.html.erb
702
679
  - app/views/alchemy/base/permission_denied.js.erb
703
680
  - app/views/alchemy/base/redirect.js.erb
704
681
  - app/views/alchemy/base/remote_errors.js.erb
@@ -737,23 +714,12 @@ files:
737
714
  - app/views/alchemy/navigation/_image_link.html.erb
738
715
  - app/views/alchemy/navigation/_link.html.erb
739
716
  - app/views/alchemy/navigation/_renderer.html.erb
740
- - app/views/alchemy/notifications/admin_user_created.de.text.erb
741
- - app/views/alchemy/notifications/admin_user_created.en.text.erb
742
- - app/views/alchemy/notifications/registered_user_created.de.text.erb
743
- - app/views/alchemy/notifications/registered_user_created.en.text.erb
744
- - app/views/alchemy/notifications/reset_password_instructions.de.text.erb
745
- - app/views/alchemy/notifications/reset_password_instructions.en.text.erb
746
717
  - app/views/alchemy/pages/show.html.erb
747
718
  - app/views/alchemy/pages/show.rss.builder
748
719
  - app/views/alchemy/pages/sitemap.xml.erb
749
- - app/views/alchemy/passwords/edit.html.erb
750
- - app/views/alchemy/passwords/new.html.erb
751
720
  - app/views/alchemy/search/_form.html.erb
752
721
  - app/views/alchemy/search/_result.html.erb
753
722
  - app/views/alchemy/search/_results.html.erb
754
- - app/views/alchemy/user_sessions/leave.html.erb
755
- - app/views/alchemy/user_sessions/new.html.erb
756
- - app/views/alchemy/users/new.html.erb
757
723
  - app/views/kaminari/_first_page.html.erb
758
724
  - app/views/kaminari/_gap.html.erb
759
725
  - app/views/kaminari/_last_page.html.erb
@@ -769,15 +735,13 @@ files:
769
735
  - config/alchemy/modules.yml
770
736
  - config/authorization_rules.rb
771
737
  - config/initializers/cache_storage.rb
772
- - config/initializers/devise.rb
773
738
  - config/initializers/dragonfly.rb
774
739
  - config/locales/alchemy.de.yml
775
740
  - config/locales/alchemy.en.yml
776
- - config/locales/devise.de.yml
777
- - config/locales/devise.en.yml
778
741
  - config/routes.rb
779
742
  - db/migrate/20130827094554_alchemy_two_point_six.rb
780
743
  - lib/alchemy/auth/engine.rb
744
+ - lib/alchemy/auth_accessors.rb
781
745
  - lib/alchemy/capistrano.rb
782
746
  - lib/alchemy/config.rb
783
747
  - lib/alchemy/engine.rb
@@ -798,15 +762,22 @@ files:
798
762
  - lib/alchemy/resources_helper.rb
799
763
  - lib/alchemy/seeder.rb
800
764
  - lib/alchemy/shell.rb
765
+ - lib/alchemy/tasks/helpers.rb
766
+ - lib/alchemy/test_support/auth_helpers.rb
767
+ - lib/alchemy/test_support/controller_requests.rb
768
+ - lib/alchemy/test_support/factories.rb
769
+ - lib/alchemy/test_support/integration_helpers.rb
801
770
  - lib/alchemy/tinymce.rb
802
771
  - lib/alchemy/upgrader.rb
803
772
  - lib/alchemy/upgrader/two_point_five.rb
804
773
  - lib/alchemy/upgrader/two_point_four.rb
774
+ - lib/alchemy/upgrader/two_point_nine.rb
805
775
  - lib/alchemy/upgrader/two_point_one.rb
806
776
  - lib/alchemy/upgrader/two_point_six.rb
807
777
  - lib/alchemy/upgrader/two_point_three.rb
808
778
  - lib/alchemy/upgrader/two_point_two.rb
809
779
  - lib/alchemy/upgrader/two_point_zero.rb
780
+ - lib/alchemy/userstamp.rb
810
781
  - lib/alchemy/version.rb
811
782
  - lib/alchemy_cms.rb
812
783
  - lib/extensions/action_view.rb
@@ -814,7 +785,6 @@ files:
814
785
  - lib/rails/generators/alchemy/base.rb
815
786
  - lib/rails/generators/alchemy/deploy_script/deploy_script_generator.rb
816
787
  - lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt
817
- - lib/rails/generators/alchemy/devise/devise_generator.rb
818
788
  - lib/rails/generators/alchemy/elements/elements_generator.rb
819
789
  - lib/rails/generators/alchemy/elements/templates/editor.html.erb
820
790
  - lib/rails/generators/alchemy/elements/templates/editor.html.haml
@@ -861,16 +831,12 @@ files:
861
831
  - spec/controllers/admin/pictures_controller_spec.rb
862
832
  - spec/controllers/admin/resources_controller_spec.rb
863
833
  - spec/controllers/admin/trash_controller_spec.rb
864
- - spec/controllers/admin/users_controller_spec.rb
865
834
  - spec/controllers/attachments_controller_spec.rb
866
835
  - spec/controllers/base_controller_spec.rb
867
836
  - spec/controllers/elements_controller_spec.rb
868
837
  - spec/controllers/messages_controller_spec.rb
869
838
  - spec/controllers/pages_controller_spec.rb
870
- - spec/controllers/passwords_controller_spec.rb
871
839
  - spec/controllers/pictures_controller_spec.rb
872
- - spec/controllers/user_sessions_controller_spec.rb
873
- - spec/controllers/users_controller_spec.rb
874
840
  - spec/dummy/Rakefile
875
841
  - spec/dummy/app/assets/javascripts/application.js
876
842
  - spec/dummy/app/assets/stylesheets/application.css
@@ -881,6 +847,7 @@ files:
881
847
  - spec/dummy/app/mailers/.gitkeep
882
848
  - spec/dummy/app/models/event.rb
883
849
  - spec/dummy/app/models/location.rb
850
+ - spec/dummy/app/models/user.rb
884
851
  - spec/dummy/app/views/alchemy/elements/_article_editor.html.erb
885
852
  - spec/dummy/app/views/alchemy/elements/_article_view.html.erb
886
853
  - spec/dummy/app/views/alchemy/elements/_headline_view.html.erb
@@ -921,6 +888,7 @@ files:
921
888
  - spec/fast_specs.rb
922
889
  - spec/features/admin/element_create_feature_spec.rb
923
890
  - spec/features/admin/element_trash_feature_spec.rb
891
+ - spec/features/admin/language_tree_feature_spec.rb
924
892
  - spec/features/admin/link_overlay_spec.rb
925
893
  - spec/features/admin/modules_integration_spec.rb
926
894
  - spec/features/admin/pages_controller_spec.rb
@@ -931,6 +899,11 @@ files:
931
899
  - spec/features/picture_security_spec.rb
932
900
  - spec/features/security_spec.rb
933
901
  - spec/features/translation_integration_spec.rb
902
+ - spec/fixtures/80x60.png
903
+ - spec/fixtures/image with spaces.png
904
+ - spec/fixtures/image.png
905
+ - spec/fixtures/image2.PNG
906
+ - spec/fixtures/image3.jpeg
934
907
  - spec/helpers/admin/base_helper_spec.rb
935
908
  - spec/helpers/admin/contents_helper_spec.rb
936
909
  - spec/helpers/admin/elements_helper_spec.rb
@@ -964,7 +937,6 @@ files:
964
937
  - spec/libraries/shell_spec.rb
965
938
  - spec/libraries/tinymce_spec.rb
966
939
  - spec/mailers/messages_spec.rb
967
- - spec/mailers/notifications_spec.rb
968
940
  - spec/models/attachment_spec.rb
969
941
  - spec/models/cell_spec.rb
970
942
  - spec/models/clipboard_spec.rb
@@ -985,19 +957,11 @@ files:
985
957
  - spec/models/resource_spec.rb
986
958
  - spec/models/site_spec.rb
987
959
  - spec/models/tag_spec.rb
988
- - spec/models/user_spec.rb
989
960
  - spec/routing/routing_spec.rb
990
961
  - spec/spec_helper.rb
991
- - spec/support/80x60.png
992
962
  - spec/support/alchemy/controller_hacks.rb
993
- - spec/support/alchemy/controller_helpers.rb
994
- - spec/support/alchemy/integration_helpers.rb
995
963
  - spec/support/ci/install_phantomjs
996
- - spec/support/factories.rb
997
- - spec/support/image with spaces.png
998
- - spec/support/image.png
999
- - spec/support/image2.PNG
1000
- - spec/support/image3.jpeg
964
+ - spec/tasks/helpers_spec.rb
1001
965
  - spec/views/essences/essence_picture_view_spec.rb
1002
966
  - vendor/assets/images/Jcrop.gif
1003
967
  - vendor/assets/javascripts/jquery_plugins/jquery.Jcrop.min.js
@@ -1154,16 +1118,12 @@ test_files:
1154
1118
  - spec/controllers/admin/pictures_controller_spec.rb
1155
1119
  - spec/controllers/admin/resources_controller_spec.rb
1156
1120
  - spec/controllers/admin/trash_controller_spec.rb
1157
- - spec/controllers/admin/users_controller_spec.rb
1158
1121
  - spec/controllers/attachments_controller_spec.rb
1159
1122
  - spec/controllers/base_controller_spec.rb
1160
1123
  - spec/controllers/elements_controller_spec.rb
1161
1124
  - spec/controllers/messages_controller_spec.rb
1162
1125
  - spec/controllers/pages_controller_spec.rb
1163
- - spec/controllers/passwords_controller_spec.rb
1164
1126
  - spec/controllers/pictures_controller_spec.rb
1165
- - spec/controllers/user_sessions_controller_spec.rb
1166
- - spec/controllers/users_controller_spec.rb
1167
1127
  - spec/dummy/Rakefile
1168
1128
  - spec/dummy/app/assets/javascripts/application.js
1169
1129
  - spec/dummy/app/assets/stylesheets/application.css
@@ -1174,6 +1134,7 @@ test_files:
1174
1134
  - spec/dummy/app/mailers/.gitkeep
1175
1135
  - spec/dummy/app/models/event.rb
1176
1136
  - spec/dummy/app/models/location.rb
1137
+ - spec/dummy/app/models/user.rb
1177
1138
  - spec/dummy/app/views/alchemy/elements/_article_editor.html.erb
1178
1139
  - spec/dummy/app/views/alchemy/elements/_article_view.html.erb
1179
1140
  - spec/dummy/app/views/alchemy/elements/_headline_view.html.erb
@@ -1214,6 +1175,7 @@ test_files:
1214
1175
  - spec/fast_specs.rb
1215
1176
  - spec/features/admin/element_create_feature_spec.rb
1216
1177
  - spec/features/admin/element_trash_feature_spec.rb
1178
+ - spec/features/admin/language_tree_feature_spec.rb
1217
1179
  - spec/features/admin/link_overlay_spec.rb
1218
1180
  - spec/features/admin/modules_integration_spec.rb
1219
1181
  - spec/features/admin/pages_controller_spec.rb
@@ -1224,6 +1186,11 @@ test_files:
1224
1186
  - spec/features/picture_security_spec.rb
1225
1187
  - spec/features/security_spec.rb
1226
1188
  - spec/features/translation_integration_spec.rb
1189
+ - spec/fixtures/80x60.png
1190
+ - spec/fixtures/image with spaces.png
1191
+ - spec/fixtures/image.png
1192
+ - spec/fixtures/image2.PNG
1193
+ - spec/fixtures/image3.jpeg
1227
1194
  - spec/helpers/admin/base_helper_spec.rb
1228
1195
  - spec/helpers/admin/contents_helper_spec.rb
1229
1196
  - spec/helpers/admin/elements_helper_spec.rb
@@ -1257,7 +1224,6 @@ test_files:
1257
1224
  - spec/libraries/shell_spec.rb
1258
1225
  - spec/libraries/tinymce_spec.rb
1259
1226
  - spec/mailers/messages_spec.rb
1260
- - spec/mailers/notifications_spec.rb
1261
1227
  - spec/models/attachment_spec.rb
1262
1228
  - spec/models/cell_spec.rb
1263
1229
  - spec/models/clipboard_spec.rb
@@ -1278,18 +1244,10 @@ test_files:
1278
1244
  - spec/models/resource_spec.rb
1279
1245
  - spec/models/site_spec.rb
1280
1246
  - spec/models/tag_spec.rb
1281
- - spec/models/user_spec.rb
1282
1247
  - spec/routing/routing_spec.rb
1283
1248
  - spec/spec_helper.rb
1284
- - spec/support/80x60.png
1285
1249
  - spec/support/alchemy/controller_hacks.rb
1286
- - spec/support/alchemy/controller_helpers.rb
1287
- - spec/support/alchemy/integration_helpers.rb
1288
1250
  - spec/support/ci/install_phantomjs
1289
- - spec/support/factories.rb
1290
- - spec/support/image with spaces.png
1291
- - spec/support/image.png
1292
- - spec/support/image2.PNG
1293
- - spec/support/image3.jpeg
1251
+ - spec/tasks/helpers_spec.rb
1294
1252
  - spec/views/essences/essence_picture_view_spec.rb
1295
1253
  has_rdoc: