root/platform/redmine/contrib/add_users_from_csv.rb

Revision 31395, 1.2 kB (checked in by oinume, 3 years ago)

Added sample

Line 
1#!/usr/bin/env ruby
2
3# Import user information from CSV.
4# Usage: ruby script/runner contrib/add_users_from_csv.rb CSV_FILE
5#
6# CSV layout (comma separated, in Shift-JIS code, 1st line is a header)
7# 1: account name for logging in
8# 2: Password (plain)
9# 3: Lastname
10# 4: Firstname
11# 5: Email
12# 6: Is administrator? (1 or 0)
13#
14# example)
15# login,password,lastname,firstname,email,admin
16# oinume,hoge,oi,nume,oinume@cpan.org,1
17
18require 'csv'
19require 'kconv'
20
21csv_path = ARGV.shift
22unless csv_path
23  STDERR.puts "usage: ruby script/runner contrib/add_users_from_csv.rb CSV_FILE"
24  exit 1
25end
26
27rows = []
28reader = CSV.open(csv_path, "r")
29reader.shift
30reader.each do |row|
31  if row.size != 6
32    next
33  end
34
35  columns = row.collect do |column|
36    column.kconv(Kconv::UTF8,  Kconv::SJIS)
37  end
38
39  user = User.find_by_login(columns[0])
40  unless user
41    user = User.new(:status => 1, :mail_notification => 0, :language => 'ja')
42    user.login = columns[0]
43    user.password = columns[1]
44    user.password_confirmation = columns[1]
45    user.lastname = columns[2]
46    user.firstname = columns[3]
47    user.mail = columns[4]
48    user.admin = columns[5]
49  end
50
51#  p user
52  user.save_without_validation!
53end
Note: See TracBrowser for help on using the browser.