Description:
fix wrong merge
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r846:4279bf26f98b - - 1 file changed: 78 inserted, 5 deleted

@@ -181,11 +181,6
181 password
181 password
182 end
182 end
183
183
184 - def self.find_non_admin_with_prefix(prefix='')
185 - users = User.all
186 - return users.find_all { |u| !(u.admin?) and u.login.index(prefix)==0 }
187 - end
188 -
189 # Contest information
184 # Contest information
190
185
191 def self.find_users_with_no_contest()
186 def self.find_users_with_no_contest()
@@ -359,6 +354,84
359 User.update_all(:last_ip => nil)
354 User.update_all(:last_ip => nil)
360 end
355 end
361
356
357 + #create multiple user, one per lines of input
358 + def self.create_from_list(lines)
359 + error_logins = []
360 + first_error = nil
361 + created_users = []
362 +
363 + lines.split("\n").each do |line|
364 + #split with large limit, this will cause consecutive ',' to be result in a blank
365 + items = line.chomp.split(',',1000)
366 + if items.length>=2
367 + login = items[0]
368 + full_name = items[1]
369 + remark =''
370 + user_alias = ''
371 +
372 + added_random_password = false
373 + added_password = false
374 +
375 + #given password?
376 + if items.length >= 3
377 + if items[2].chomp(" ").length > 0
378 + password = items[2].chomp(" ")
379 + added_password = true
380 + end
381 + else
382 + password = random_password
383 + added_random_password=true;
384 + end
385 +
386 + #given alias?
387 + if items.length>= 4 and items[3].chomp(" ").length > 0;
388 + user_alias = items[3].chomp(" ")
389 + else
390 + user_alias = login
391 + end
392 +
393 + #given remark?
394 + has_remark = false
395 + if items.length>=5
396 + remark = items[4].strip;
397 + has_remark = true
398 + end
399 +
400 + user = User.find_by_login(login)
401 + if (user)
402 + user.full_name = full_name
403 + user.remark = remark if has_remark
404 + user.password = password if added_password || added_random_password
405 + else
406 + #create a random password if none are given
407 + password = random_password unless password
408 + user = User.new({:login => login,
409 + :full_name => full_name,
410 + :password => password,
411 + :password_confirmation => password,
412 + :alias => user_alias,
413 + :remark => remark})
414 + end
415 + user.activated = true
416 +
417 + if user.save
418 + created_users << user
419 + else
420 + error_logins << "'#{login}'"
421 + first_error = user.errors.full_messages.to_sentence unless first_error
422 + end
423 + end
424 + end
425 +
426 + return {error_logins: error_logins, first_error: first_error, created_users: created_users}
427 +
428 + end
429 +
430 + def self.find_non_admin_with_prefix(prefix='')
431 + users = User.all
432 + return users.find_all { |u| !(u.admin?) and u.login.index(prefix)==0 }
433 + end
434 +
362 protected
435 protected
363 def encrypt_new_password
436 def encrypt_new_password
364 return if password.blank?
437 return if password.blank?
You need to be logged in to leave comments. Login now