From 4805a1e34c0d9e34edac217837f2cdf71193e883 Mon Sep 17 00:00:00 2001 From: BOHUNG Date: Sat, 1 Feb 2020 11:28:21 +0800 Subject: [PATCH] fix members_controller in app/controllers/. --- updatefiles/members_controller.rb | 52 +++++++++++++++++++------------ 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/updatefiles/members_controller.rb b/updatefiles/members_controller.rb index 85ba707..14b752b 100644 --- a/updatefiles/members_controller.rb +++ b/updatefiles/members_controller.rb @@ -69,21 +69,25 @@ class MembersController < ApplicationController if params[:tag].blank? MemberProfile.not_in(:role_status_ids.in=>role_status_ids).where(:role_ids.in=>[role['id']]).collect do |profile| - if profile.user.nil? - member_profiles << get_member_data(profile, fields_to_show) - elsif profile.user.approved - member_profiles << get_member_data(profile, fields_to_show) + if profile.user.nil? || profile.user.approved + get_member_data_return = get_member_data(profile, fields_to_show) + if !get_member_data_return.nil? + member_profiles << get_member_data_return + end end end else tag = MemberTag.find(params[:tag]) rescue nil - MemberProfile.not_in(:role_status_ids.in=>role_status_ids).where(:role_ids.in=>[role['id']], :member_tag_ids.in => [tag.id]).collect do |profile| - if profile.user.nil? - member_profiles << get_member_data(profile, fields_to_show) - elsif profile.user.approved - member_profiles << get_member_data(profile, fields_to_show) - end - end if !tag.nil? + if !tag.nil? + MemberProfile.not_in(:role_status_ids.in=>role_status_ids).where(:role_ids.in=>[role['id']], :member_tag_ids.in => [tag.id]).each do |profile| + if profile.user.nil? || profile.user.approved + get_member_data_return = get_member_data(profile, fields_to_show) + if !get_member_data_return.nil? + member_profiles << get_member_data_return + end + end + end + end end if member_sort_position member_profiles = member_profiles.sort_by{|data| (data['list_order'])} rescue member_profiles @@ -113,10 +117,11 @@ class MembersController < ApplicationController end mps.each do |member| - if member.user.nil? - member_profiles << get_member_data(member, fields_to_show) - elsif member.user.approved - member_profiles << get_member_data(member, fields_to_show) + if member.user.nil? || member.user.approved + get_member_data_return = get_member_data(member, fields_to_show) + if !get_member_data_return.nil? + member_profiles << get_member_data_return + end end end if member_sort_position @@ -128,13 +133,18 @@ class MembersController < ApplicationController def get_member_data(member, fields_to_show) image = member.avatar.present? ? member.avatar.thumb.url : ActionController::Base.helpers.asset_path('member-pic.png') + member_data_return = member_data(member, fields_to_show) + if !member_data_return.nil? && (!member_data_return.empty? rescue false) { - 'profile_data'=>member_data(member, fields_to_show), + 'profile_data'=> member_data_return, 'list_order' => member.position, 'name' => member.name, 'image'=>image, "link_to_show" => OrbitHelper.url_to_show(member.to_param) } + else + nil + end end def show @@ -374,6 +384,7 @@ class MembersController < ApplicationController if !field['id'].blank? next if !privacy_approved_status av = member.attribute_values.find_by(:attribute_field_id=>field['id'],:key=>field['key']) rescue nil + av = member.attribute_values.find_by(:attribute_field_id=>field['id']) rescue nil if av.nil? #some role's key has been changed to sort number,so it doesn't work when searching field from using its key field_data = {"value" => " "} if !av.nil? r = av.attribute_field.role rescue nil @@ -435,11 +446,11 @@ class MembersController < ApplicationController @new_field_data = member.get_attribute_data(field) rescue {} break if @new_field_data['value'].to_s.gsub(' ','').strip !="" end - field_data['value'] = @new_field_data['value'].nil? ? " " :@new_field_data['value'] + field_data['value'] = @new_field_data['value'].nil? ? " " : @new_field_data['value'] I18n.locale = @locale end if field['link_to_show'] - if field_data['value'] == ' ' #需jquery刪除空白欄位 + if field_data['value'] == ' ' #空白欄位 field_data['value'] = "" #若無網站連結,刪除實驗室網站字樣 field_data['title'] = "" #無網站連結,則不顯示 elsif field_data['value'].include? 'href=' @@ -456,8 +467,9 @@ class MembersController < ApplicationController field_data['title_class'] = "member-data-title-"+field['key'].underscore.gsub('_','-') field_data['value_class'] = "member-data-value-"+field['key'].underscore.gsub('_','-') - next if field_data['value'] == "" || field_data['value'] == ' ' - profile_data.push(field_data) + if !field_data['title'].blank? && !field_data['value'].blank? + profile_data.push(field_data) + end end return profile_data end