Commit bae4c6074d8e3d2fe27639c124cf6212fb994908
1 parent
b1fd97bf
Exists in
master
and in
28 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 | 29 | attr_accessor :is_homepage, :filesystem_location |
| 30 | 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 | 39 | class FileData < StringIO |
| 33 | 40 | attr_reader :original_filename, :content_type |
| 34 | 41 | def initialize(actual_filename, name, content_type) |
| ... | ... | @@ -39,15 +46,7 @@ class FileData < StringIO |
| 39 | 46 | end |
| 40 | 47 | |
| 41 | 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 | 50 | end |
| 52 | 51 | |
| 53 | 52 | for username in ARGV |
| ... | ... | @@ -59,12 +58,14 @@ for username in ARGV |
| 59 | 58 | |
| 60 | 59 | # create user |
| 61 | 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 | 63 | # import person data |
| 66 | - person = user.person | |
| 64 | + person = Person.new(:identifier => login) | |
| 65 | + user.person = person | |
| 66 | + person.user = user | |
| 67 | 67 | person.from_xml(File.read(File.join(IMPORT_DIR, username + '.xml'))) |
| 68 | + user.save! | |
| 68 | 69 | puts "I: #{username} data imported" |
| 69 | 70 | |
| 70 | 71 | # import articles | ... | ... |