Guest User

Untitled

a guest
Sep 20th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. def self.import(file)
  2. CSV.foreach(file.path, :headers => true) do |row|
  3.  
  4. # import the row as a hash
  5. user_hash = row.to_hash
  6.  
  7. # set user variable to query if user exists
  8. user = User.where(email: user_hash["email"])
  9.  
  10. # check if user (email) already exists, if not create user
  11. if user.count < 1
  12. # exclude the fields not needed
  13. #u = User.create!(user_hash.except("Name","first_name","mi","last_name","suffix","caf_join_date"))
  14. # map csv headers to database fields, downcase last_name
  15. u = User.create!(username: user_hash["Current ID"], email: user_hash["Email Number"], password: user_hash["Last Name"].downcase )
  16. Assignment.create!({ :user_id => u.id, :role_id => 3 })
  17. user_hash[:user_id] = u.id
  18. # create a member record with values from CSV
  19. Member.create!(last_name: user_hash["Last Name"], first_name: user_hash["Name"].split[0], user_id: user_hash[:user_id], caf_col_no: user_hash["Current ID"], caf_join_date: Date.strptime(user_hash["Current Joined On Date"], "%m/%d/%y").strftime('%Y-%m-%d'))
  20. # create a hash of values to display as successful
  21. @member_upload = {:last_name => user_hash["Last Name"], :first_name => user_hash["Name"].split[0], :user_id => user_hash[:user_id], :caf_col_no => user_hash["Current ID"], :caf_join_date => Date.strptime(user_hash["Current Joined On Date"], "%m/%d/%y").strftime('%Y-%m-%d')}
  22.  
  23. end
  24. end
  25. end
Add Comment
Please, Sign In to add comment