nakamura 0.2 → 0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|