forked from saurabh/orbit4-5
fix member frontend show fields
This commit is contained in:
parent
63b08335fa
commit
d836ded7f3
|
@ -521,7 +521,7 @@ class Admin::MembersController < OrbitMemberController
|
||||||
if !params[:role_field_values].nil?
|
if !params[:role_field_values].nil?
|
||||||
params[:role_field_values].each_with_index do |r,i|
|
params[:role_field_values].each_with_index do |r,i|
|
||||||
field_value = r.last[:id].present?
|
field_value = r.last[:id].present?
|
||||||
@custom_field_value = AttributeValue.put_field_values(@member, r.last, r.last[:attribute_field_id], field_value)
|
@custom_field_value = AttributeValue.put_field_values(@member, r.last, r.last[:id], field_value)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if params[:edit_type]=="edit_privilege"
|
if params[:edit_type]=="edit_privilege"
|
||||||
|
|
|
@ -3,12 +3,11 @@ class MembersController < ApplicationController
|
||||||
page_roles = OrbitHelper.page_categories
|
page_roles = OrbitHelper.page_categories
|
||||||
page_role_status = OrbitHelper.page_role_status
|
page_role_status = OrbitHelper.page_role_status
|
||||||
fields_to_show = [
|
fields_to_show = [
|
||||||
{"key"=>"job_title", "type"=>"role","sort_order"=>1},
|
{"key"=>"name", "type"=>"profile","sort_order"=>2,"link_to_show"=>true},
|
||||||
{"key"=>"name", "type"=>"profile","sort_order"=>2,"link_to_show"=>true},
|
{"key"=>"discipline", "type"=>"role", "max_length"=>12},
|
||||||
{"key"=>"discipline", "type"=>"role", "max_length"=>12},
|
{"key"=>"email", "type"=>"profile"},
|
||||||
{"key"=>"email", "type"=>"profile"},
|
{"key"=>"office_tel", "type"=>"profile"}
|
||||||
{"key"=>"office_tel", "type"=>"profile"}
|
]
|
||||||
]
|
|
||||||
|
|
||||||
if OrbitHelper.member_sort_position
|
if OrbitHelper.member_sort_position
|
||||||
sort = "data['list_order']"
|
sort = "data['list_order']"
|
||||||
|
@ -37,10 +36,12 @@ class MembersController < ApplicationController
|
||||||
|
|
||||||
role_list = []
|
role_list = []
|
||||||
roles.each do |role|
|
roles.each do |role|
|
||||||
|
attribute_field = AttributeField.where(:key => 'job_title', :role_id => role['id']).first
|
||||||
|
role_fields_to_show = [{"id"=> attribute_field.id.to_s, "key"=>"job_title", "type"=>"role","sort_order"=>1}] + fields_to_show if !attribute_field.blank?
|
||||||
status_list = []
|
status_list = []
|
||||||
if !role['status'].blank?
|
if !role['status'].blank?
|
||||||
role['status'].each do |status|
|
role['status'].each do |status|
|
||||||
member_profiles = get_members_by_status(status, sort, fields_to_show)
|
member_profiles = get_members_by_status(status, sort, role_fields_to_show)
|
||||||
status_list << { "status-title" => status.title, "members" => member_profiles } if !member_profiles.blank?
|
status_list << { "status-title" => status.title, "members" => member_profiles } if !member_profiles.blank?
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -49,7 +50,7 @@ class MembersController < ApplicationController
|
||||||
role_status_ids = role_status.collect{|status| status.id.to_s}
|
role_status_ids = role_status.collect{|status| status.id.to_s}
|
||||||
|
|
||||||
role_status.each do |status|
|
role_status.each do |status|
|
||||||
member_profiles = get_members_by_status(status, sort, fields_to_show)
|
member_profiles = get_members_by_status(status, sort, role_fields_to_show)
|
||||||
next if member_profiles.blank?
|
next if member_profiles.blank?
|
||||||
status_list << { "status-title" => status.title, "members" => member_profiles }
|
status_list << { "status-title" => status.title, "members" => member_profiles }
|
||||||
end
|
end
|
||||||
|
@ -97,26 +98,44 @@ class MembersController < ApplicationController
|
||||||
params = OrbitHelper.params
|
params = OrbitHelper.params
|
||||||
member = MemberProfile.find_by(uid: params[:uid])
|
member = MemberProfile.find_by(uid: params[:uid])
|
||||||
|
|
||||||
|
profile_data = []
|
||||||
|
|
||||||
|
#role status
|
||||||
|
member.roles.where(:disabled => false).asc("_id").collect do |role|
|
||||||
|
role_status = member.role_statuses.where(role_id: role.id).map{|t|t.title.to_s}.join(',') rescue ''
|
||||||
|
profile_data = profile_data.push({"key"=>"role_status", "title"=>"", "value"=> role_status, "title_class"=>"member-data-title-role-status", "value_class"=>"member-data-value-role-status"}) if !role_status.blank?
|
||||||
|
attribute_field = role.attribute_fields.where(:key => 'job_title').first
|
||||||
|
profile_data = profile_data + member_data(member, [{"id"=> attribute_field.id.to_s, "key"=> attribute_field.key, "type"=>"role"}]) if !attribute_field.blank? and !attribute_field.to_show.blank?
|
||||||
|
end
|
||||||
|
|
||||||
fields_to_show = [
|
fields_to_show = [
|
||||||
{"key"=>"job_title", "type"=>"role"},
|
{"key"=>"name", "type"=>"profile"},
|
||||||
{"key"=>"name", "type"=>"profile"},
|
{"key"=>"office_tel", "type"=>"profile"},
|
||||||
{"key"=>"office_tel", "type"=>"profile"},
|
{"key"=>"email", "type"=>"profile"}
|
||||||
{"key"=>"fax", "type"=>"custom"},
|
]
|
||||||
{"key"=>"email", "type"=>"profile"},
|
profile_data = profile_data + member_data(member, fields_to_show)
|
||||||
{"key"=>"discipline", "type"=>"role"},
|
|
||||||
{"key"=>"research_expertise", "type"=>"role"},
|
|
||||||
{"key"=>"reference_website_of_individual_publication", "type"=>"role"},
|
|
||||||
{"key"=>"reference_website_of_individual_research", "type"=>"role"},
|
|
||||||
{"key"=>"autobiography", "type"=>"profile"},
|
|
||||||
{"key"=>"website", "type"=>"custom"},
|
|
||||||
{"key"=>"experience", "type"=>"custom"},
|
|
||||||
{"key"=>"mobile", "type"=>"custom"}
|
|
||||||
]
|
|
||||||
|
|
||||||
profile_data = member_data(member, fields_to_show)
|
profile_fields_to_show = []
|
||||||
|
|
||||||
roles = member.roles.collect{|role| {"role" => role.title} }
|
# member info
|
||||||
|
infos = MemberInfo.order('created_at DESC')
|
||||||
|
infos.each do |info|
|
||||||
|
info.member_profile_fields.each do |member_profile_field|
|
||||||
|
profile_fields_to_show << {"id"=> member_profile_field.id.to_s, "key"=> member_profile_field.key, "type"=>"custom"} if !member_profile_field.to_show.blank?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
profile_data = profile_data + member_data(member, profile_fields_to_show)
|
||||||
|
|
||||||
|
# member role
|
||||||
|
role_fields_to_show = []
|
||||||
|
member.roles.where(:disabled => false).asc("_id").collect do |role|
|
||||||
|
role.attribute_fields.where(:key.ne => 'job_title').asc("_id").each do |attribute_field|
|
||||||
|
role_fields_to_show << {"id"=> attribute_field.id.to_s, "key"=> attribute_field.key, "type"=>"role"} if !attribute_field.to_show.blank?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
profile_data = profile_data + member_data(member, role_fields_to_show)
|
||||||
|
|
||||||
|
# member plugin
|
||||||
plugins = OrbitApp::Plugin::Registration.all rescue nil
|
plugins = OrbitApp::Plugin::Registration.all rescue nil
|
||||||
plugin_list = plugins.collect.with_index do |plugin, idx|
|
plugin_list = plugins.collect.with_index do |plugin, idx|
|
||||||
intro = PersonalPluginIntro.find_by(member_profile_id: member.id, _type: "#{plugin.app_name}Intro") rescue nil
|
intro = PersonalPluginIntro.find_by(member_profile_id: member.id, _type: "#{plugin.app_name}Intro") rescue nil
|
||||||
|
@ -144,7 +163,6 @@ class MembersController < ApplicationController
|
||||||
plugin_list = plugin_list.reject{|plugin| plugin['plugin_data'].blank?}
|
plugin_list = plugin_list.reject{|plugin| plugin['plugin_data'].blank?}
|
||||||
|
|
||||||
{
|
{
|
||||||
"roles" => roles,
|
|
||||||
"plugins" => plugin_list,
|
"plugins" => plugin_list,
|
||||||
"profile_data" => profile_data,
|
"profile_data" => profile_data,
|
||||||
"data" => {
|
"data" => {
|
||||||
|
@ -162,9 +180,17 @@ class MembersController < ApplicationController
|
||||||
when 'profile'
|
when 'profile'
|
||||||
field_data = member.get_attribute_data(field) rescue {}
|
field_data = member.get_attribute_data(field) rescue {}
|
||||||
when 'custom'
|
when 'custom'
|
||||||
field_data = member.member_profile_field_values.find_by(:key=>field['key']).get_field_value rescue {}
|
if !field['id'].blank?
|
||||||
|
field_data = member.member_profile_field_values.find_by(:member_profile_field_id=>field['id'],:key=>field['key']).get_field_value rescue {}
|
||||||
|
else
|
||||||
|
field_data = member.member_profile_field_values.find_by(:key=>field['key']).get_field_value rescue {}
|
||||||
|
end
|
||||||
when 'role'
|
when 'role'
|
||||||
field_data = member.attribute_values.find_by(:key=>field['key']).get_field_value rescue {}
|
if !field['id'].blank?
|
||||||
|
field_data = member.attribute_values.find_by(:attribute_field_id=>field['id'],:key=>field['key']).get_field_value rescue {}
|
||||||
|
else
|
||||||
|
field_data = member.attribute_values.find_by(:key=>field['key']).get_field_value rescue {}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
next if field_data.blank? or field_data['value'].blank?
|
next if field_data.blank? or field_data['value'].blank?
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@ if Role.count==0
|
||||||
role_status.save
|
role_status.save
|
||||||
|
|
||||||
attribute_field = AttributeField.new
|
attribute_field = AttributeField.new
|
||||||
attribute_field.key = 'Job_Title'
|
attribute_field.key = 'job_title'
|
||||||
attribute_field.role_id = role.id
|
attribute_field.role_id = role.id
|
||||||
attribute_field.title_translations = {:en=>'Job Title', :zh_tw=>'職稱'}
|
attribute_field.title_translations = {:en=>'Job Title', :zh_tw=>'職稱'}
|
||||||
attribute_field.markup = 'select'
|
attribute_field.markup = 'select'
|
||||||
|
@ -175,7 +175,7 @@ if Role.count==0
|
||||||
role_status.save
|
role_status.save
|
||||||
|
|
||||||
attribute_field = AttributeField.new
|
attribute_field = AttributeField.new
|
||||||
attribute_field.key = 'Job_Title'
|
attribute_field.key = 'job_title'
|
||||||
attribute_field.role_id = role.id
|
attribute_field.role_id = role.id
|
||||||
attribute_field.title_translations = {:en=>'Job Title', :zh_tw=>'職稱'}
|
attribute_field.title_translations = {:en=>'Job Title', :zh_tw=>'職稱'}
|
||||||
attribute_field.markup = 'select'
|
attribute_field.markup = 'select'
|
||||||
|
@ -258,7 +258,7 @@ if User.count==0
|
||||||
user.member_profile = profile
|
user.member_profile = profile
|
||||||
user.user_name = "admin"
|
user.user_name = "admin"
|
||||||
user.password = "Ab-5508881"
|
user.password = "Ab-5508881"
|
||||||
user.email = "servicet@rulingcom.com"
|
user.email = "service@rulingcom.com"
|
||||||
user.approved = true
|
user.approved = true
|
||||||
user.save
|
user.save
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue