browsercms-artirix 4.0.0.rc1.art4 → 4.0.1.1
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.
- checksums.yaml +4 -4
- data/app/controllers/cms/attachments_controller.rb +1 -1
- data/app/controllers/cms/cas_sessions_controller.rb +13 -0
- data/app/controllers/cms/sections_controller.rb +1 -1
- data/app/controllers/cms/users_controller.rb +1 -1
- data/app/helpers/cms/sites/authentication_helper.rb +1 -0
- data/app/helpers/cms/sites/devise_shim_helper.rb +1 -1
- data/app/models/cms/default_user.rb +6 -0
- data/app/models/cms/external_user.rb +1 -1
- data/app/models/cms/group.rb +7 -3
- data/app/models/cms/guest_user.rb +2 -41
- data/app/models/cms/permission.rb +4 -0
- data/app/models/cms/persistent_user.rb +17 -110
- data/app/models/cms/section.rb +10 -6
- data/app/models/cms/user.rb +2 -2
- data/app/models/cms/user_group_membership.rb +2 -2
- data/app/portlets/login_portlet.rb +2 -2
- data/config/routes.rb +33 -34
- data/db/browsercms.seeds.rb +7 -4
- data/doc/release_notes.md +3 -3
- data/lib/browsercms.rb +2 -0
- data/lib/cms/authentication/controller.rb +8 -5
- data/lib/cms/authentication/test_password_strategy.rb +1 -1
- data/lib/cms/behaviors.rb +15 -0
- data/lib/cms/behaviors/attaching.rb +1 -1
- data/lib/cms/behaviors/userstamping.rb +1 -1
- data/lib/cms/behaviors/versioning.rb +3 -4
- data/lib/cms/configuration.rb +108 -10
- data/lib/cms/configuration/devise.rb +75 -4
- data/lib/cms/engine.rb +55 -2
- data/lib/cms/users_service.rb +26 -190
- data/lib/cms/users_service/cms_login_user_controller_concern.rb +19 -0
- data/lib/cms/users_service/cms_user_compatibility_module.rb +137 -0
- data/lib/cms/users_service/guest_user_module.rb +42 -0
- data/lib/cms/users_service/user_groups_by_codes_module.rb +13 -0
- data/lib/cms/users_service/users_factory.rb +50 -0
- data/lib/cms/version.rb +1 -1
- data/lib/generators/browser_cms/demo_site/templates/demo.seeds.rb +1 -1
- 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 @@ 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::
|
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.
|
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-
|
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.
|
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.
|
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:
|
1061
|
+
version: '0'
|
1041
1062
|
requirements: []
|
1042
1063
|
rubyforge_project:
|
1043
1064
|
rubygems_version: 2.4.6
|