Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/expertiza/expertiza
Browse files Browse the repository at this point in the history
  • Loading branch information
Winbobob committed Sep 3, 2015
2 parents 45cb945 + bd23828 commit 94dfe0e
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 70 deletions.
2 changes: 1 addition & 1 deletion app/controllers/users_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ def create

if @user.save
password = @user.reset_password # the password is reset
MailerHelper::send_mail_to_user(@user, "Your Expertiza password has been reset", "user_welcome", password).deliver
MailerHelper::send_mail_to_user(@user, "Your Expertiza account and password have been created", "user_welcome", password).deliver
flash[:success] = "A new password has been sent to new user's e-mail address."
#Instructor and Administrator users need to have a default set for their notifications
# the creation of an AssignmentQuestionnaire object with only the User ID field populated
Expand Down
36 changes: 7 additions & 29 deletions app/helpers/import_file_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,47 +2,25 @@

module ImportFileHelper

def self.define_attributes(row,row_header)
def self.define_attributes(row)
attributes = {}
attributes["role_id"] = Role.student.id
index=0
#default will be blank
attributes["name"]=nil
attributes["fullname"]=nil
attributes["email"]=nil
attributes["password"] = nil

if (row_header==nil)
attributes["name"] = row[0].strip
attributes["fullname"] = row[1]
attributes["email"] = row[2].strip

password=row[3]
if (password[0]=="[")
password=password[1..password.length]
password=password[0..password.length-2]
end

if (password!="")
attributes["password"] = password
end
else
row_header.each do |item|
attributes[item.strip]=row[index].strip
index=index+1
end
end
attributes["password_confirmation"] = attributes["password"]
attributes["name"] = row[0].strip
attributes["fullname"] = row[1]
attributes["email"] = row[2].strip
attributes["email_on_submission"] = 1
attributes["email_on_review"] = 1
attributes["email_on_review_of_review"] = 1
attributes
end

def self.create_new_user(attributes, session)
user = User.new(attributes)
user.parent_id = (session[:user]).id
user.timezonepref = User.find(user.parent_id).timezonepref
user.save!
user
end
end


49 changes: 10 additions & 39 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -176,49 +176,20 @@ def reset_password
password
end

#import method
def self.import(row,row_header,session,id = nil)
user=User.new
if(row_header==nil)
if row.length < 3
raise ArgumentError, "Not enough items"
end
user = User.find_by_name(row[0])
else
index=0
row_header.each do |item|
if item.strip=="name"
user = User.find_by_name(row[index])
end
index=index+1
end
def self.import(row, row_header,session,id = nil)
if row.length != 3
raise ArgumentError, "Not enough items: expect 3 columns: login name, full name (first and last name, not seperated with the delimiter), email"
end
user = User.find_by_name(row[0])

if user == nil
attributes = ImportFileHelper::define_attributes(row,row_header)
unless attributes["name"].nil?
user = ImportFileHelper::create_new_user(attributes,session)
end
attributes = ImportFileHelper::define_attributes(row)
user = ImportFileHelper::create_new_user(attributes,session)
password = user.reset_password # the password is reset
MailerHelper::send_mail_to_user(user, "Your Expertiza account and password have been created", "user_welcome", password).deliver
else
if(row_header==nil)
user.password = row[3].strip
user.email = row[2].strip
user.fullname = row[1].strip
else
index=0
row_header.each do |item|
case item.strip
when "password"
user.password=row[index].strip
when "email"
user.email=row[index].strip
when "fullname"
user.fullname=row[index].strip
else
end
index=index+1
end
end
user.email = row[2].strip
user.fullname = row[1].strip
user.parent_id = (session[:user]).id
user.save
end
Expand Down
2 changes: 1 addition & 1 deletion app/views/users/list.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
%>
<%= link_to 'New User', :action => 'new' %> |
<%= link_to 'Import Users', :controller=>'import_file', :action=>'start', :model => 'User', :expected_fields => 'username, full name (first[ middle] last), e-mail address, password' %>|
<%= link_to 'Import Users', :controller=>'import_file', :action=>'start', :model => 'User', :expected_fields => 'username, full name (first[ middle] last), e-mail address' %>|
<%= link_to 'Export Users', :controller=>'export_file',:action=>'start',:model=> 'User',:id=> 1 %>

</p>

0 comments on commit 94dfe0e

Please sign in to comment.