Commit bae4c6074d8e3d2fe27639c124cf6212fb994908

Authored by Antonio Terceiro
1 parent b1fd97bf

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 &lt; 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
... ...