browsercms-artirix 4.0.0.rc1.art4 → 4.0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/cms/attachments_controller.rb +1 -1
  3. data/app/controllers/cms/cas_sessions_controller.rb +13 -0
  4. data/app/controllers/cms/sections_controller.rb +1 -1
  5. data/app/controllers/cms/users_controller.rb +1 -1
  6. data/app/helpers/cms/sites/authentication_helper.rb +1 -0
  7. data/app/helpers/cms/sites/devise_shim_helper.rb +1 -1
  8. data/app/models/cms/default_user.rb +6 -0
  9. data/app/models/cms/external_user.rb +1 -1
  10. data/app/models/cms/group.rb +7 -3
  11. data/app/models/cms/guest_user.rb +2 -41
  12. data/app/models/cms/permission.rb +4 -0
  13. data/app/models/cms/persistent_user.rb +17 -110
  14. data/app/models/cms/section.rb +10 -6
  15. data/app/models/cms/user.rb +2 -2
  16. data/app/models/cms/user_group_membership.rb +2 -2
  17. data/app/portlets/login_portlet.rb +2 -2
  18. data/config/routes.rb +33 -34
  19. data/db/browsercms.seeds.rb +7 -4
  20. data/doc/release_notes.md +3 -3
  21. data/lib/browsercms.rb +2 -0
  22. data/lib/cms/authentication/controller.rb +8 -5
  23. data/lib/cms/authentication/test_password_strategy.rb +1 -1
  24. data/lib/cms/behaviors.rb +15 -0
  25. data/lib/cms/behaviors/attaching.rb +1 -1
  26. data/lib/cms/behaviors/userstamping.rb +1 -1
  27. data/lib/cms/behaviors/versioning.rb +3 -4
  28. data/lib/cms/configuration.rb +108 -10
  29. data/lib/cms/configuration/devise.rb +75 -4
  30. data/lib/cms/engine.rb +55 -2
  31. data/lib/cms/users_service.rb +26 -190
  32. data/lib/cms/users_service/cms_login_user_controller_concern.rb +19 -0
  33. data/lib/cms/users_service/cms_user_compatibility_module.rb +137 -0
  34. data/lib/cms/users_service/guest_user_module.rb +42 -0
  35. data/lib/cms/users_service/user_groups_by_codes_module.rb +13 -0
  36. data/lib/cms/users_service/users_factory.rb +50 -0
  37. data/lib/cms/version.rb +1 -1
  38. data/lib/generators/browser_cms/demo_site/templates/demo.seeds.rb +1 -1
  39. metadata +27 -6
@@ -0,0 +1,50 @@
1
+ module Cms
2
+ module UsersService
3
+ class UsersFactory
4
+ class << self
5
+ delegate :guest_user, :user, :extend_user, to: :factory
6
+ end
7
+
8
+ def self.factory
9
+ @factory || new
10
+ end
11
+
12
+ def guest_user
13
+ load_guest_user.tap { |u| extend_user u }
14
+ end
15
+
16
+ def user(login, group_codes: nil)
17
+ load_user(login).tap do |user|
18
+ extend_user(user, group_codes: group_codes)
19
+ end
20
+ end
21
+
22
+ def extend_user(user, group_codes: nil)
23
+ user.send :extend, CmsUserCompatibilityModule unless user.try :cms_user_compatible?
24
+ user.send :extend, UserGroupsByCodesModule unless user.respond_to? :group_codes=
25
+ add_groups_to_user(user, group_codes) if group_codes
26
+ user
27
+ end
28
+
29
+ private
30
+ def add_groups_to_user(user, group_codes)
31
+ user.group_codes = Array(group_codes)
32
+ end
33
+
34
+ def load_user(login)
35
+ Cms.user_class.where(Cms.user_key_field => login).first!
36
+ end
37
+
38
+ def load_guest_user
39
+ params = {
40
+ Cms.user_key_field => Cms::Group::GUEST_CODE,
41
+ Cms.user_name_field => GUEST_NAME
42
+ }
43
+
44
+ Cms.user_class.new(params).tap do |guest_user|
45
+ guest_user.send :extend, GuestUserModule
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
data/lib/cms/version.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  # Allows the precise version of BrowserCMS to be determined programatically.
3
3
  #
4
4
  module Cms
5
- VERSION = "4.0.0.rc1.art4"
5
+ VERSION = '4.0.1.1'
6
6
 
7
7
  # Return the current version of the CMS.
8
8
  def self.version
@@ -2,7 +2,7 @@ require 'cms/data_loader'
2
2
  include Cms::DataLoader
3
3
 
4
4
  # Load up data that was created in load seed data migration
5
- Cms::User.current = Cms::User.first(:conditions => {:login => 'cmsadmin'})
5
+ Cms::UsersService.current = Cms::User.first(:conditions => {:login => 'cmsadmin'})
6
6
  root_section = Cms::Section.root.first
7
7
  home_page = Cms::Page.first(:conditions => {:name => "Home"})
8
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browsercms-artirix
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.rc1.art4
4
+ version: 4.0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - BrowserMedia
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-07-20 00:00:00.000000000 Z
12
+ date: 2015-07-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 4.0.13
20
+ version: 4.0.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 4.0.13
27
+ version: 4.0.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: devise
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -39,6 +39,20 @@ dependencies:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '3.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: devise_cas_authenticatable
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 1.4.1
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 1.4.1
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: sass-rails
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -587,6 +601,7 @@ files:
587
601
  - app/controllers/cms/attachments_controller.rb
588
602
  - app/controllers/cms/base_controller.rb
589
603
  - app/controllers/cms/cache_controller.rb
604
+ - app/controllers/cms/cas_sessions_controller.rb
590
605
  - app/controllers/cms/categories_controller.rb
591
606
  - app/controllers/cms/category_types_controller.rb
592
607
  - app/controllers/cms/connectors_controller.rb
@@ -662,6 +677,7 @@ files:
662
677
  - app/models/cms/connector.rb
663
678
  - app/models/cms/content.rb
664
679
  - app/models/cms/content_type.rb
680
+ - app/models/cms/default_user.rb
665
681
  - app/models/cms/dynamic_view.rb
666
682
  - app/models/cms/email_message.rb
667
683
  - app/models/cms/email_message_mailer.rb
@@ -981,6 +997,11 @@ files:
981
997
  - lib/cms/responders/content_responder.rb
982
998
  - lib/cms/route_extensions.rb
983
999
  - lib/cms/users_service.rb
1000
+ - lib/cms/users_service/cms_login_user_controller_concern.rb
1001
+ - lib/cms/users_service/cms_user_compatibility_module.rb
1002
+ - lib/cms/users_service/guest_user_module.rb
1003
+ - lib/cms/users_service/user_groups_by_codes_module.rb
1004
+ - lib/cms/users_service/users_factory.rb
984
1005
  - lib/cms/version.rb
985
1006
  - lib/command_line.rb
986
1007
  - lib/generators/browser_cms.rb
@@ -1035,9 +1056,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
1035
1056
  version: 1.9.2
1036
1057
  required_rubygems_version: !ruby/object:Gem::Requirement
1037
1058
  requirements:
1038
- - - ">"
1059
+ - - ">="
1039
1060
  - !ruby/object:Gem::Version
1040
- version: 1.3.1
1061
+ version: '0'
1041
1062
  requirements: []
1042
1063
  rubyforge_project:
1043
1064
  rubygems_version: 2.4.6