Import teacher data
This commit is contained in:
parent
8fb3b408b4
commit
947f2765c6
|
@ -0,0 +1,58 @@
|
||||||
|
#encoding: utf-8
|
||||||
|
namespace :teacher do
|
||||||
|
task :import, [:department,:category] => :environment do |t, args|
|
||||||
|
department = "#{args.department}"
|
||||||
|
teacher_role = Role.where(:key=>"teacher").first
|
||||||
|
role_fulltime = RoleStatus.where(:key=>"1.fulltime").first
|
||||||
|
role_adjunct = RoleStatus.where(:key=>"2.adjunct").first
|
||||||
|
role_category = RoleCategory.where(:key=>"#{args.category}").first
|
||||||
|
@teacher = []
|
||||||
|
CSV.foreach("#{Rails.root}/#{department}.csv") do |row|
|
||||||
|
@teacher.push(row)
|
||||||
|
end
|
||||||
|
@teacher.each do |teacher|
|
||||||
|
sex = "unknown"
|
||||||
|
if teacher[2]=="男"
|
||||||
|
sex = "male"
|
||||||
|
elsif teacher[2]=="女"
|
||||||
|
sex = "female"
|
||||||
|
end
|
||||||
|
|
||||||
|
role_status = ""
|
||||||
|
if teacher[3].include? "兼任"
|
||||||
|
role_status = role_adjunct
|
||||||
|
else
|
||||||
|
role_status = role_fulltime
|
||||||
|
end
|
||||||
|
|
||||||
|
if teacher[1].blank?
|
||||||
|
teacher[1] = " "
|
||||||
|
end
|
||||||
|
|
||||||
|
user_data = {
|
||||||
|
:user_id => teacher[5].split("@")[0],
|
||||||
|
:password => "password",
|
||||||
|
:first_name_translations =>{"zh_tw"=>teacher[0].split(teacher[0][0])[1],"en"=>teacher[1].split(" ")[1]},
|
||||||
|
:last_name_translations => {"zh_tw"=>teacher[0][0],"en"=>teacher[1].split(" ")[0]},
|
||||||
|
:roles => [teacher_role],
|
||||||
|
:role_statuses => [role_status],
|
||||||
|
:role_categorys => [role_category],
|
||||||
|
:office_tel => teacher[4],
|
||||||
|
:email => teacher[5],
|
||||||
|
:confirmation_token => nil,
|
||||||
|
:confirmed_at => Time.now,
|
||||||
|
:approved => true,
|
||||||
|
:sex => sex
|
||||||
|
}
|
||||||
|
|
||||||
|
if User.where(:email=>teacher[5]).count == 0
|
||||||
|
user = User.new(user_data)
|
||||||
|
user.save
|
||||||
|
else
|
||||||
|
user = User.where(:email=>teacher[5]).first
|
||||||
|
user.update_attributes(user_data)
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -80,7 +80,7 @@
|
||||||
<div class="o-members-pic"><%= show_avatar(member) %></div>
|
<div class="o-members-pic"><%= show_avatar(member) %></div>
|
||||||
<ul class="o-members-info">
|
<ul class="o-members-info">
|
||||||
<li><b class="o-members-label"><%= t("users.name")%></b><%= link_to member.name, panel_member_front_end_member_list_path(member.id), {:class => "o-members-link"} %></li>
|
<li><b class="o-members-label"><%= t("users.name")%></b><%= link_to member.name, panel_member_front_end_member_list_path(member.id), {:class => "o-members-link"} %></li>
|
||||||
<% @job_title = @member_lists.get_member_list_attribute_value(member.id,@job_title_field.id).get_value_by_locale(I18n.locale)
|
<% @job_title = @member_lists.get_member_list_attribute_value(member.id,@job_title_field.id).get_value_by_locale(I18n.locale) rescue ""
|
||||||
if @job_title != 'NoData' and !@job_title.blank?
|
if @job_title != 'NoData' and !@job_title.blank?
|
||||||
%>
|
%>
|
||||||
<li><b class="o-members-label"><%= @job_title_field.title %></b><%= @job_title %></li>
|
<li><b class="o-members-label"><%= @job_title_field.title %></b><%= @job_title %></li>
|
||||||
|
|
Reference in New Issue