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.
- 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
|