nakamura 0.2 → 0.3
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.
- data/lib/nakamura.rb +1 -1
- data/lib/nakamura/users.rb +63 -13
- metadata +7 -7
data/lib/nakamura.rb
CHANGED
data/lib/nakamura/users.rb
CHANGED
@@ -154,6 +154,10 @@ module SlingUsers
|
|
154
154
|
|
155
155
|
class User < Principal
|
156
156
|
attr_accessor :password
|
157
|
+
attr_accessor :firstName
|
158
|
+
attr_accessor :lastName
|
159
|
+
attr_accessor :password
|
160
|
+
attr_accessor :email
|
157
161
|
|
158
162
|
def initialize(username, password=$DEFAULT_PASSWORD)
|
159
163
|
super(username)
|
@@ -184,6 +188,27 @@ module SlingUsers
|
|
184
188
|
return sling.execute_post(sling.url_for("#{user_url}.update.html"), props)
|
185
189
|
end
|
186
190
|
|
191
|
+
def update_user(sling)
|
192
|
+
data = {}
|
193
|
+
if (!firstName.nil? and !lastName.nil? and !email.nil?)
|
194
|
+
data[":sakai:profile-import"] = "{'basic': {'access': 'everybody', 'elements': {'email': {'value': '#{email}'}, 'firstName': {'value': '#{firstName}'}, 'lastName': {'value': '#{lastName}'}}}}"
|
195
|
+
# data[":sakai:pages-template"] = "/var/templates/site/defaultuser"
|
196
|
+
end
|
197
|
+
|
198
|
+
if (!firstName.nil?)
|
199
|
+
data["firstName"] = firstName
|
200
|
+
end
|
201
|
+
|
202
|
+
if (!lastName.nil?)
|
203
|
+
data["lastName"] = lastName
|
204
|
+
end
|
205
|
+
|
206
|
+
if (!email.nil?)
|
207
|
+
data["email"] = email
|
208
|
+
end
|
209
|
+
|
210
|
+
return update_properties(sling, data)
|
211
|
+
end
|
187
212
|
|
188
213
|
def change_password(sling, newpassword)
|
189
214
|
return sling.execute_post(sling.url_for("#{user_url}.changePassword.html"), "oldPwd" => @password, "newPwd" => newpassword, "newPwdConfirm" => newpassword)
|
@@ -261,23 +286,48 @@ module SlingUsers
|
|
261
286
|
return create_user("testuser#{@date}-#{id}")
|
262
287
|
end
|
263
288
|
|
289
|
+
def create_user_object(user)
|
290
|
+
data = { ":name" => user.name,
|
291
|
+
"pwd" => user.password,
|
292
|
+
"pwdConfirm" => user.password
|
293
|
+
}
|
294
|
+
|
295
|
+
if (!user.firstName.nil? and !user.lastName.nil? and !user.email.nil?)
|
296
|
+
data[":sakai:profile-import"] = "{'basic': {'access': 'everybody', 'elements': {'email': {'value': '#{user.email}'}, 'firstName': {'value': '#{user.firstName}'}, 'lastName': {'value': '#{user.lastName}'}}}}"
|
297
|
+
# data[":sakai:pages-template"] = "/var/templates/site/defaultuser"
|
298
|
+
end
|
299
|
+
|
300
|
+
if (!user.firstName.nil?)
|
301
|
+
data["firstName"] = user.firstName
|
302
|
+
end
|
303
|
+
|
304
|
+
if (!user.lastName.nil?)
|
305
|
+
data["lastName"] = user.lastName
|
306
|
+
end
|
307
|
+
|
308
|
+
if (!user.email.nil?)
|
309
|
+
data["email"] = user.email
|
310
|
+
end
|
311
|
+
|
312
|
+
result = @sling.execute_post(@sling.url_for("#{$USER_URI}"), data)
|
313
|
+
if (result.code.to_i > 299)
|
314
|
+
@log.info "Error creating user"
|
315
|
+
return nil
|
316
|
+
end
|
317
|
+
return user
|
318
|
+
end
|
319
|
+
|
264
320
|
def create_user(username, firstname = nil, lastname = nil)
|
265
321
|
@log.info "Creating user: #{username}"
|
266
322
|
user = User.new(username)
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
data[":sakai:profile-import"] = "{'basic': {'access': 'everybody', 'elements': {'email': {'value': '#{username}@sakai.invalid'}, 'firstName': {'value': '#{firstname}'}, 'lastName': {'value': '#{lastname}'}}}}"
|
273
|
-
# data[":sakai:pages-template"] = "/var/templates/site/defaultuser"
|
274
|
-
end
|
275
|
-
result = @sling.execute_post(@sling.url_for("#{$USER_URI}"), data)
|
276
|
-
if (result.code.to_i > 299)
|
277
|
-
@log.info "Error creating user"
|
278
|
-
return nil
|
323
|
+
user.firstName = firstname
|
324
|
+
user.lastName = lastname
|
325
|
+
|
326
|
+
if (!user.firstName.nil? and !user.lastName.nil? and user.email.nil?)
|
327
|
+
user.email = "#{username}@sakai.invalid"
|
279
328
|
end
|
280
|
-
|
329
|
+
|
330
|
+
return create_user_object(user)
|
281
331
|
end
|
282
332
|
|
283
333
|
def create_group(groupname, title = nil)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nakamura
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.3'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-11-09 00:00:00.000000000Z
|
13
13
|
dependencies: []
|
14
14
|
description: Ruby library for interacting with Sakai Nakamura. Provides convenience
|
15
15
|
methods for adding users and groups and other similar tasks.
|
@@ -18,14 +18,14 @@ executables: []
|
|
18
18
|
extensions: []
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
+
- lib/nakamura/test.rb
|
21
22
|
- lib/nakamura/authz.rb
|
22
|
-
- lib/nakamura/contacts.rb
|
23
|
-
- lib/nakamura/file.rb
|
24
23
|
- lib/nakamura/full_group_creator.rb
|
24
|
+
- lib/nakamura/users.rb
|
25
|
+
- lib/nakamura/contacts.rb
|
25
26
|
- lib/nakamura/message.rb
|
26
27
|
- lib/nakamura/search.rb
|
27
|
-
- lib/nakamura/
|
28
|
-
- lib/nakamura/users.rb
|
28
|
+
- lib/nakamura/file.rb
|
29
29
|
- lib/nakamura.rb
|
30
30
|
homepage: http://sakaiproject.org
|
31
31
|
licenses: []
|
@@ -48,7 +48,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
48
48
|
requirements:
|
49
49
|
- none
|
50
50
|
rubyforge_project:
|
51
|
-
rubygems_version: 1.8.
|
51
|
+
rubygems_version: 1.8.6
|
52
52
|
signing_key:
|
53
53
|
specification_version: 3
|
54
54
|
summary: Ruby library for interacting with Sakai Nakamura.
|