lib/osm/member.rb in osm-1.2.18.dev.11 vs lib/osm/member.rb in osm-1.2.18.dev.12

- old
+ new

@@ -215,11 +215,11 @@ email_2: member_contact[CID_EMAIL_2], receive_phone_1: member_contact[CID_RECIEVE_PHONE_1], receive_phone_2: member_contact[CID_RECIEVE_PHONE_2], receive_email_1: member_contact[CID_RECIEVE_EMAIL_1], receive_email_2: member_contact[CID_RECIEVE_EMAIL_2], - additional_information: member_custom.select{ |k,v| !['title'].include?(k) }, + additional_information: DirtyHashy[ member_custom.select{ |k,v| !['title'].include?(k) } ], additional_information_labels: custom_labels[GID_MEMBER_CONTACT], ), :primary_contact => primary_contact.nil? ? nil : PrimaryContact.new( title: primary_contact[CID_TITLE], first_name: primary_contact[CID_FIRST_NAME], @@ -289,12 +289,12 @@ phone_1: doctor_contact[CID_PHONE_1], phone_2: doctor_contact[CID_PHONE_2], additional_information: doctor_custom, additional_information_labels: custom_labels[GID_DOCTOR_CONTACT], ), - additional_information: custom_data.select{ |k,v| ! ['title'].include?(k) }, - additional_information_labels: custom_labels[GID_CUSTOM].select{ |k,v| ! ['title'].include?(k) }, + additional_information: DirtyHashy[ custom_data.select{ |k,v| !['title'].include?(k) } ], + additional_information_labels: custom_labels[GID_CUSTOM].select{ |k,v| !['title'].include?(k) }, ) end cache_write(api, cache_key, result) return result @@ -370,26 +370,25 @@ updated = updated && data.is_a?(Hash) && data['ok'].eql?(true) end # each attr to update # Do title attribute if force || changed_attributes.include?('title') - data = api.perform_query("ext/members/contact/?action=update", { + data = api.perform_query("ext/customdata/?action=updateColumn&section_id=#{section_id}", { 'associated_id' => self.id, 'associated_type' => 'member', 'value' => title, 'column_id' => CID_TITLE, 'group_id' => GID_CUSTOM, 'context' => 'members', }) updated = updated && data.is_a?(Hash) && data['data'].is_a?(Hash) && data['data']['value'].eql?(title) end - # Do 'floating' attributes if force || changed_attributes.include?('gender') new_value = {male: 'Male', female: 'Female', other: 'Other'}[gender] || 'Unspecified' - data = api.perform_query("ext/members/contact/?action=update", { + data = api.perform_query("ext/customdata/?action=updateColumn&section_id=#{section_id}", { 'associated_id' => self.id, 'associated_type' => 'member', 'value' => new_value, 'column_id' => CID_GENDER, 'group_id' => GID_FLOATING, @@ -735,10 +734,10 @@ end additional_information.keys.select{ |a| force || additional_information.changes.keys.include?(a) }.each do |attr| data["data[#{attr}]"] = additional_information[attr] end - updated = false + updated = true unless data.empty? result = api.perform_query("ext/customdata/?action=update&section_id=#{member.section_id}", { 'associated_id' => member.id, 'associated_type' => 'member', 'context' => 'members',