destructure address fields but use person_address_old for legacy

This commit is contained in:
bilal
2020-06-15 15:15:35 +02:00
parent 1168bcdfdd
commit 2ea2736286
7 changed files with 68 additions and 2 deletions

View File

@@ -39,8 +39,24 @@ class Public::AppearanceReleasesController < Public::BaseController
authorize appearance_releases.build(params)
end
def person_params
%i[
person_first_name
person_last_name
person_phone
person_email
person_photo
person_address_street1
person_address_street2
person_address_city
person_address_state
person_address_zip
person_address_country
]
end
def appearance_release_params
params.require(:appearance_release).permit(:person_address, :person_first_name, :person_last_name, :person_phone, :person_email, :person_photo,
params.require(:appearance_release).permit(person_params,
:guardian_address, :guardian_first_name, :guardian_last_name, :guardian_phone, :guardian_email, :guardian_photo, :minor,
:signature_base64, :person_date_of_birth,
:locale, :contract_template,)

View File

@@ -16,6 +16,17 @@ class AppearanceRelease < ApplicationRecord
has_one_attached :person_photo
composed_of :person_address,
class_name: 'Address',
mapping: [
%w[person_address_street1 street1],
%w[person_address_street2 street2],
%w[person_address_city city],
%w[person_address_state state],
%w[person_address_zip zip],
%w[person_address_country country]
]
# These validations apply to all releases
validates :person_email, email: true, allow_blank: true
validates :person_first_name, :person_last_name, presence: true
@@ -73,6 +84,19 @@ class AppearanceRelease < ApplicationRecord
searchable_on %i[person_first_name person_last_name person_address person_email person_phone]
def person_address
return self.person_address_old if self.person_address_old.present?
Address.new(
self.person_address_street1,
self.person_address_street2,
self.person_address_city,
self.person_address_state,
self.person_address_zip,
self.person_address_country
).to_s(format: :full)
end
# All releases must respond to the following messages
def name
person_name

View File

@@ -35,8 +35,8 @@
<div class="form-row">
<%= form.email_field :person_email, required: true, wrapper_class: "col-sm-6" %>
<%= form.date_field :person_date_of_birth, required: true, wrapper_class: "col-sm-6", placeholder: Date.current %>
<%= form.text_field :person_address, required: true, wrapper_class: "col-sm-6" %>
</div>
<%= render "shared/address_fields", form: form, subject: "person" %>
<% end %>
<%= card_field_set_tag t(".photo.heading") do %>