forked from saurabh/orbit4-5
Only the fields with a value will be displayed
This commit is contained in:
parent
9cb35af4ad
commit
77b31482e5
|
@ -113,7 +113,6 @@ class Admin::MembersController < OrbitMemberController
|
|||
@user = User.new(user_params) rescue nil
|
||||
if @member.save
|
||||
@user.member_profile_id = @member.id
|
||||
|
||||
if !params[:member_profile_field_values].nil?
|
||||
params[:member_profile_field_values].each_with_index do |m,i|
|
||||
@custom_field_value = @member.member_profile_field_values.build(value: m.second["value"], member_profile_field_id: m.second["member_profile_field_id"])
|
||||
|
@ -121,6 +120,13 @@ class Admin::MembersController < OrbitMemberController
|
|||
end
|
||||
end
|
||||
|
||||
if !params[:role_field_values].nil?
|
||||
params[:role_field_values].each_with_index do |r,i|
|
||||
field_value = r.last[:id].present?
|
||||
@custom_field_value = AttributeValue.put_field_values(@member, r.last, r.last[:attribute_field_id], field_value)
|
||||
end
|
||||
end
|
||||
|
||||
@user.save
|
||||
redirect_to admin_members_path
|
||||
else
|
||||
|
|
|
@ -106,9 +106,9 @@ class MembersController < ApplicationController
|
|||
if (cf.member_profile_field.markup.eql?("text_field") || cf.member_profile_field.markup.eql?("text_area"))
|
||||
custom_field_value = cf.value[I18n.locale]
|
||||
elsif (cf.member_profile_field.markup.eql?("select") || cf.member_profile_field.markup.eql?("radio_button"))
|
||||
custom_field_value = cf.member_profile_field.markup_value["#{cf.value}"][I18n.locale]
|
||||
custom_field_value = cf.member_profile_field.markup_value["#{cf.value}"][I18n.locale] rescue nil
|
||||
elsif cf.member_profile_field.markup.eql?("address")
|
||||
custom_field_value = cf[:address_key][I18n.locale].map{|k,v| v}.join(', ')
|
||||
custom_field_value = cf[:address_key][I18n.locale].map{|k,v| v}.delete_if(&:blank?).join(', ')
|
||||
elsif cf.member_profile_field.markup.eql?("date")
|
||||
|
||||
case cf.member_profile_field.typeC['format']
|
||||
|
@ -122,13 +122,21 @@ class MembersController < ApplicationController
|
|||
custom_field_value = cf.value.to_date.strftime("%Y")
|
||||
end
|
||||
elsif cf.member_profile_field.markup.eql?("checkbox")
|
||||
custom_field_value = cf.value.map {|v| cf.member_profile_field.markup_value["#{v}"][I18n.locale]}.join(', ')
|
||||
custom_field_value = cf.value.map {|v| cf.member_profile_field.markup_value["#{v}"][I18n.locale]}.join(', ') rescue nil
|
||||
end
|
||||
if !custom_field_value.blank?
|
||||
{
|
||||
"custom_field_title" => cf.member_profile_field.title,
|
||||
"custom_field_value" => custom_field_value
|
||||
}
|
||||
else
|
||||
{
|
||||
"custom_field_title" => "",
|
||||
"custom_field_value" => ""
|
||||
}
|
||||
end
|
||||
end
|
||||
custom_fields_final = custom_fields.map {|c| c.delete_if {|k,v| (v.nil? || v.blank?)}}.delete_if(&:blank?)
|
||||
|
||||
role_fields = member.attribute_values.collect do |rf|
|
||||
if (rf.attribute_field.markup.eql?("text_field") || rf.attribute_field.markup.eql?("text_area"))
|
||||
|
@ -136,7 +144,7 @@ class MembersController < ApplicationController
|
|||
elsif (rf.attribute_field.markup.eql?("select") || rf.attribute_field.markup.eql?("radio_button"))
|
||||
role_field_value = rf.attribute_field.markup_value["#{rf.value}"][I18n.locale] rescue nil
|
||||
elsif rf.attribute_field.markup.eql?("address")
|
||||
role_field_value = rf[:address_key][I18n.locale].map{|k,v| v}.join(', ')
|
||||
role_field_value = rf[:address_key][I18n.locale].map{|k,v| v}.delete_if(&:blank?).join(', ')
|
||||
elsif rf.attribute_field.markup.eql?("date")
|
||||
|
||||
case rf.attribute_field.typeC['format']
|
||||
|
@ -152,32 +160,44 @@ class MembersController < ApplicationController
|
|||
elsif rf.attribute_field.markup.eql?("checkbox")
|
||||
role_field_value = rf.value.map {|v| rf.attribute_field.markup_value["#{v}"][I18n.locale]}.join(', ') rescue nil
|
||||
end
|
||||
|
||||
if !role_field_value.blank?
|
||||
{
|
||||
"role_field_title" => rf.attribute_field.title,
|
||||
"role_field_value" => role_field_value
|
||||
}
|
||||
else
|
||||
{
|
||||
"role_field_title" => "",
|
||||
"role_field_value" => ""
|
||||
}
|
||||
end
|
||||
end
|
||||
role_fields_final = role_fields.map {|r| r.delete_if {|k,v| (v.nil? || v.blank?)}}.delete_if(&:blank?)
|
||||
|
||||
roles = member.roles.collect do |role|
|
||||
{
|
||||
"role" => role.title
|
||||
}
|
||||
end
|
||||
data = []
|
||||
member.values_for_show.each do |key,value|
|
||||
data << {"key" => key.humanize, "value" => value}
|
||||
end
|
||||
autobiography = []
|
||||
if !member.get_autobiography_for_show.blank?
|
||||
autobiography << {"key" => "#{member.get_autobiography_for_show.first[0].capitalize}", "value" => member.get_autobiography_for_show["autobiography"]}
|
||||
end
|
||||
image = member.get_image_for_show["img_src"]
|
||||
{
|
||||
"roles" => roles,
|
||||
"plugins" => plugin_list,
|
||||
"custom_fields" => custom_fields,
|
||||
"role_fields" => role_fields,
|
||||
"custom_fields_final" => custom_fields_final,
|
||||
"role_fields_final" => role_fields_final,
|
||||
"member_data" => data,
|
||||
"autobiography_data" => autobiography,
|
||||
"data" => {
|
||||
"name" => member.name,
|
||||
"img_src" => image,
|
||||
"email" => member.email,
|
||||
"autobiography" => member.autobiography,
|
||||
"gender" => member.sex,
|
||||
"office" => member.office_tel,
|
||||
"birthday" => member.birthday,
|
||||
"id" => member.sid
|
||||
"name" => member.name
|
||||
}
|
||||
}
|
||||
end
|
||||
|
|
|
@ -120,6 +120,36 @@ class MemberProfile
|
|||
member_data_tmp = member_data.collect {|v| v[1] }
|
||||
end
|
||||
|
||||
def values_for_show
|
||||
attribute_values = self.attributes.select{|k,v| v if (k.in?(["office_tel","sid","email"]) && v.present?)}
|
||||
name_fields = {"name" => self.name}
|
||||
|
||||
if self.sex.present?
|
||||
gender_fields = {"gender" => self.sex}
|
||||
end
|
||||
|
||||
values = [attribute_values, name_fields, gender_fields].delete_if(&:nil?)
|
||||
values.inject(&:merge)
|
||||
end
|
||||
|
||||
def get_image_for_show
|
||||
if self.avatar.present?
|
||||
image = self.avatar.thumb.url
|
||||
else
|
||||
image = "http://placehold.it/100x100"
|
||||
end
|
||||
|
||||
image_fields = {"img_src" => image}
|
||||
end
|
||||
|
||||
def get_autobiography_for_show
|
||||
if autobiography.present?
|
||||
autobiography = {"autobiography" => self.attributes["autobiography"][I18n.locale]}
|
||||
else
|
||||
autobiography = {}
|
||||
end
|
||||
end
|
||||
|
||||
def assign_default_position?
|
||||
self.position.nil? || self.parent_id_changed?
|
||||
end
|
||||
|
|
|
@ -11,48 +11,23 @@
|
|||
</span>
|
||||
</span>
|
||||
</small>
|
||||
<div data-list="role_fields" data-level="0">
|
||||
<div data-list="role_fields_final" data-level="0">
|
||||
<p>{{role_field_title}} : {{role_field_value}}</p>
|
||||
</div>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr class="table">
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>id number:</td>
|
||||
<td>{{id}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>e-mail:</td>
|
||||
<td>{{email}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>gender:</td>
|
||||
<td>{{gender}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>birthday:</td>
|
||||
<td>{{birthday}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>office telephone:</td>
|
||||
<td>{{office}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div data-list="member_data" data-level="0">
|
||||
<p>{{key}} : {{value}}</p>
|
||||
</div>
|
||||
|
||||
<div data-list="custom_fields" data-level="0">
|
||||
<div data-list="custom_fields_final" data-level="0">
|
||||
<p>{{custom_field_title}} : {{custom_field_value}}</p>
|
||||
</div>
|
||||
<section class="post">
|
||||
<p class="pic"><img src="{{img_src}}" alt=""></p>
|
||||
<h3>Autobiography:</h3>
|
||||
<p>{{autobiography}}</p>
|
||||
<div data-list="autobiography_data" data-level="0">
|
||||
<h3>{{key}}:</h3>
|
||||
<p>{{value}}</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div data-list="plugins" data-level="0">
|
||||
|
|
Loading…
Reference in New Issue