infopark_reactor_migrations 1.9.1 → 1.10.0.beta
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/lib/reactor/cm/group.rb +4 -34
- data/lib/reactor/cm/permissions.rb +44 -0
- data/lib/reactor/cm/user.rb +39 -1
- data/lib/reactor/migrations/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd4d687fb9d13c8c3908e18c01355239178fc463
|
4
|
+
data.tar.gz: c8a1925bb6476696a2d813c52ebba7db17e6d99e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e1317ce8a6af0e7ed4dedda994e2eca04dcd2920bb19fe8233f3ed07e336e150a827b4209eb3996ed7cf13d46cc5eaea1fd03bafcbd77aeacd4d0d83828d26e
|
7
|
+
data.tar.gz: 8eac7fa4e2b24be975206d700e337148215053f04a82da25a1c0b3e411a2b50d18a9c708da64a6132bef2df2e47ad0d8d75c3c3f2b99364ff7c52a5bef17c0e0
|
data/lib/reactor/cm/group.rb
CHANGED
@@ -5,6 +5,8 @@ require 'reactor/cm/xml_request_error'
|
|
5
5
|
require 'reactor/tools/xml_attributes'
|
6
6
|
require 'reactor/tools/response_handler/string'
|
7
7
|
|
8
|
+
require 'reactor/cm/permissions'
|
9
|
+
|
8
10
|
module Reactor
|
9
11
|
|
10
12
|
module Cm
|
@@ -69,48 +71,16 @@ module Reactor
|
|
69
71
|
|
70
72
|
end
|
71
73
|
|
74
|
+
include Permissions
|
75
|
+
|
72
76
|
attribute :name, :except => [:set]
|
73
77
|
attribute :display_title, :name => :displayTitle, :only => [:get]
|
74
78
|
attribute :real_name, :name => :realName
|
75
79
|
attribute :owner
|
76
80
|
attribute :users, :type => :list
|
77
|
-
attribute :global_permissions, :name => :globalPermissions, :type => :list
|
78
81
|
|
79
82
|
primary_key :name
|
80
83
|
|
81
|
-
# Returns true, if a global permission with the given +name+ exists, false otherwise.
|
82
|
-
def global_permission?(name)
|
83
|
-
self.global_permissions.include?(name.to_s)
|
84
|
-
end
|
85
|
-
|
86
|
-
# Add the given +permissions+ to the current set of group permissions.
|
87
|
-
def grant_global_permissions!(permissions)
|
88
|
-
permissions = permissions.kind_of?(Array) ? permissions : [permissions]
|
89
|
-
permissions = self.global_permissions | permissions
|
90
|
-
|
91
|
-
set_global_permissions!(permissions)
|
92
|
-
end
|
93
|
-
|
94
|
-
# Take away the given +permissions+ from the current set of group permissions.
|
95
|
-
def revoke_global_permissions!(permissions)
|
96
|
-
permissions = permissions.kind_of?(Array) ? permissions : [permissions]
|
97
|
-
permissions = self.global_permissions - permissions
|
98
|
-
|
99
|
-
set_global_permissions(permissions)
|
100
|
-
end
|
101
|
-
|
102
|
-
# Set the group permissions to the given +permissions+.
|
103
|
-
def set_global_permissions!(permissions)
|
104
|
-
request = XmlRequest.prepare do |xml|
|
105
|
-
xml.where_key_tag!(base_name, self.class.primary_key, self.name)
|
106
|
-
xml.set_key_tag!(base_name, self.class.xml_attribute(:global_permissions).name, permissions)
|
107
|
-
end
|
108
|
-
|
109
|
-
request.execute!
|
110
|
-
|
111
|
-
self.global_permissions = permissions
|
112
|
-
end
|
113
|
-
|
114
84
|
# Returns true, if an user with the given +name+ exists, false otherwise.
|
115
85
|
def user?(name)
|
116
86
|
users.include?(name)
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Reactor
|
2
|
+
module Cm
|
3
|
+
module Permissions
|
4
|
+
def self.included(base)
|
5
|
+
base.instance_eval do
|
6
|
+
attribute :global_permissions, :name => :globalPermissions, :type => :list
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
# Returns true, if a global permission with the given +name+ exists, false otherwise.
|
11
|
+
def global_permission?(name)
|
12
|
+
self.global_permissions.include?(name.to_s)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Add the given +permissions+ to the current set of group permissions.
|
16
|
+
def grant_global_permissions!(permissions)
|
17
|
+
permissions = permissions.kind_of?(Array) ? permissions : [permissions]
|
18
|
+
permissions = self.global_permissions | permissions
|
19
|
+
|
20
|
+
set_global_permissions!(permissions)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Take away the given +permissions+ from the current set of group permissions.
|
24
|
+
def revoke_global_permissions!(permissions)
|
25
|
+
permissions = permissions.kind_of?(Array) ? permissions : [permissions]
|
26
|
+
permissions = self.global_permissions - permissions
|
27
|
+
|
28
|
+
set_global_permissions(permissions)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Set the group permissions to the given +permissions+.
|
32
|
+
def set_global_permissions!(permissions)
|
33
|
+
request = XmlRequest.prepare do |xml|
|
34
|
+
xml.where_key_tag!(base_name, self.class.primary_key, self.name)
|
35
|
+
xml.set_key_tag!(base_name, self.class.xml_attribute(:global_permissions).name, permissions)
|
36
|
+
end
|
37
|
+
|
38
|
+
request.execute!
|
39
|
+
|
40
|
+
self.global_permissions = permissions
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/reactor/cm/user.rb
CHANGED
@@ -4,6 +4,8 @@ require 'reactor/configuration'
|
|
4
4
|
require 'reactor/cm/language'
|
5
5
|
require 'reactor/tools/xml_attributes'
|
6
6
|
|
7
|
+
require 'reactor/cm/permissions'
|
8
|
+
|
7
9
|
module Reactor
|
8
10
|
|
9
11
|
module Cm
|
@@ -20,6 +22,12 @@ module Reactor
|
|
20
22
|
attribute :groups, :type => :list
|
21
23
|
attribute :real_name, :name => :realName
|
22
24
|
|
25
|
+
include Permissions
|
26
|
+
|
27
|
+
def name
|
28
|
+
self.login
|
29
|
+
end
|
30
|
+
|
23
31
|
def change_password(new_password)
|
24
32
|
request = XmlRequest.prepare do |xml|
|
25
33
|
xml.where_key_tag!(base_name, primary_key, primary_key_value)
|
@@ -35,6 +43,10 @@ module Reactor
|
|
35
43
|
response.ok?
|
36
44
|
end
|
37
45
|
|
46
|
+
def has_password?(password)
|
47
|
+
::Reactor::Cm::User.new(self.login).has_password?(password)
|
48
|
+
end
|
49
|
+
|
38
50
|
primary_key :login
|
39
51
|
|
40
52
|
# Returns true if user is root, false otherwise
|
@@ -44,7 +56,7 @@ module Reactor
|
|
44
56
|
|
45
57
|
# Creates a user with given login and sets its default group
|
46
58
|
# Returns instance of the class for user with given login
|
47
|
-
|
59
|
+
def self.create(login, default_group)
|
48
60
|
super(login, {:login => login, :defaultGroup => default_group})
|
49
61
|
end
|
50
62
|
|
@@ -54,6 +66,8 @@ module Reactor
|
|
54
66
|
|
55
67
|
attribute :name
|
56
68
|
attribute :groups, :type => :list
|
69
|
+
attribute :global_permissions, :name => :globalPermissions, :type => :list
|
70
|
+
|
57
71
|
|
58
72
|
primary_key 'login'
|
59
73
|
|
@@ -61,6 +75,17 @@ module Reactor
|
|
61
75
|
@name = name
|
62
76
|
end
|
63
77
|
|
78
|
+
def has_password?(password)
|
79
|
+
request = XmlRequest.prepare do |xml|
|
80
|
+
xml.where_key_tag!(base_name, self.class.primary_key, self.name)
|
81
|
+
xml.get_tag!(base_name) do |xml3|
|
82
|
+
xml3.tag!('hasPassword', :password => password)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
response = request.execute!
|
86
|
+
response.xpath('//hasPassword/text()') == '1'
|
87
|
+
end
|
88
|
+
|
64
89
|
def is_root?
|
65
90
|
request = XmlRequest.prepare do |xml|
|
66
91
|
xml.where_key_tag!(base_name, self.class.primary_key, self.name)
|
@@ -76,6 +101,19 @@ module Reactor
|
|
76
101
|
Reactor::Cm::Language.get(self.name)
|
77
102
|
end
|
78
103
|
|
104
|
+
def global_permissions
|
105
|
+
xml_attribute = self.class.xml_attribute(:global_permissions)
|
106
|
+
|
107
|
+
request = XmlRequest.prepare do |xml|
|
108
|
+
xml.where_key_tag!(base_name, self.class.primary_key, self.name)
|
109
|
+
xml.get_key_tag!(base_name, xml_attribute.name)
|
110
|
+
end
|
111
|
+
|
112
|
+
response = request.execute!
|
113
|
+
|
114
|
+
self.class.response_handler.get(response, xml_attribute)
|
115
|
+
end
|
116
|
+
|
79
117
|
def groups
|
80
118
|
xml_attribute = self.class.xml_attribute(:groups)
|
81
119
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infopark_reactor_migrations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.0.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomasz Przedmojski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- lib/reactor/cm/obj.rb
|
105
105
|
- lib/reactor/cm/obj_class.rb
|
106
106
|
- lib/reactor/cm/object_base.rb
|
107
|
+
- lib/reactor/cm/permissions.rb
|
107
108
|
- lib/reactor/cm/user.rb
|
108
109
|
- lib/reactor/cm/workflow.rb
|
109
110
|
- lib/reactor/cm/xml_attribute.rb
|
@@ -164,9 +165,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
164
165
|
version: '0'
|
165
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
167
|
requirements:
|
167
|
-
- - '
|
168
|
+
- - '>'
|
168
169
|
- !ruby/object:Gem::Version
|
169
|
-
version:
|
170
|
+
version: 1.3.1
|
170
171
|
requirements: []
|
171
172
|
rubyforge_project:
|
172
173
|
rubygems_version: 2.0.14
|