Commit bae4c6074d8e3d2fe27639c124cf6212fb994908
1 parent
b1fd97bf
Exists in
staging
and in
42 other branches
ActionItem305: importing passwords
Showing
1 changed file
with
13 additions
and
12 deletions
Show diff stats
script/import-cooperation.net
| @@ -29,6 +29,13 @@ class UploadedFile | @@ -29,6 +29,13 @@ class UploadedFile | ||
| 29 | attr_accessor :is_homepage, :filesystem_location | 29 | attr_accessor :is_homepage, :filesystem_location |
| 30 | end | 30 | end |
| 31 | 31 | ||
| 32 | +Person # forces loading Noosfero class before adding stuff to id | ||
| 33 | +class Person | ||
| 34 | + delegate :crypted_password=, :to => :user | ||
| 35 | + delegate :salt=, :to => :user | ||
| 36 | + delegate :password_type=, :to => :user | ||
| 37 | +end | ||
| 38 | + | ||
| 32 | class FileData < StringIO | 39 | class FileData < StringIO |
| 33 | attr_reader :original_filename, :content_type | 40 | attr_reader :original_filename, :content_type |
| 34 | def initialize(actual_filename, name, content_type) | 41 | def initialize(actual_filename, name, content_type) |
| @@ -39,15 +46,7 @@ class FileData < StringIO | @@ -39,15 +46,7 @@ class FileData < StringIO | ||
| 39 | end | 46 | end |
| 40 | 47 | ||
| 41 | def import_environment(name) | 48 | def import_environment(name) |
| 42 | - environment = Environment.find_by_name(name) | ||
| 43 | - if environment | ||
| 44 | - puts "I: environment <#{name}> already exists, loading it." | ||
| 45 | - else | ||
| 46 | - environment = Environment.create!(:name => name) | ||
| 47 | - Domain.create!(:name => domainname(name), :owner => environment) | ||
| 48 | - puts "I: environment <#{name}> created." | ||
| 49 | - end | ||
| 50 | - environment | 49 | + return Environment.default |
| 51 | end | 50 | end |
| 52 | 51 | ||
| 53 | for username in ARGV | 52 | for username in ARGV |
| @@ -59,12 +58,14 @@ for username in ARGV | @@ -59,12 +58,14 @@ for username in ARGV | ||
| 59 | 58 | ||
| 60 | # create user | 59 | # create user |
| 61 | login = username.gsub(/@.*$/, '') | 60 | login = username.gsub(/@.*$/, '') |
| 62 | - user = User.create!(:login => login, :email => username, :environment => environment, :password => password(username), :password_confirmation => password(username)) | ||
| 63 | - puts "I: user account for #{username} created" | 61 | + user = User.new(:login => login, :email => username, :environment => environment) |
| 64 | 62 | ||
| 65 | # import person data | 63 | # import person data |
| 66 | - person = user.person | 64 | + person = Person.new(:identifier => login) |
| 65 | + user.person = person | ||
| 66 | + person.user = user | ||
| 67 | person.from_xml(File.read(File.join(IMPORT_DIR, username + '.xml'))) | 67 | person.from_xml(File.read(File.join(IMPORT_DIR, username + '.xml'))) |
| 68 | + user.save! | ||
| 68 | puts "I: #{username} data imported" | 69 | puts "I: #{username} data imported" |
| 69 | 70 | ||
| 70 | # import articles | 71 | # import articles |