destructure address fields but use person_address_old for legacy
This commit is contained in:
@@ -39,8 +39,24 @@ class Public::AppearanceReleasesController < Public::BaseController
|
|||||||
authorize appearance_releases.build(params)
|
authorize appearance_releases.build(params)
|
||||||
end
|
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
|
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,
|
:guardian_address, :guardian_first_name, :guardian_last_name, :guardian_phone, :guardian_email, :guardian_photo, :minor,
|
||||||
:signature_base64, :person_date_of_birth,
|
:signature_base64, :person_date_of_birth,
|
||||||
:locale, :contract_template,)
|
:locale, :contract_template,)
|
||||||
|
|||||||
@@ -16,6 +16,17 @@ class AppearanceRelease < ApplicationRecord
|
|||||||
|
|
||||||
has_one_attached :person_photo
|
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
|
# These validations apply to all releases
|
||||||
validates :person_email, email: true, allow_blank: true
|
validates :person_email, email: true, allow_blank: true
|
||||||
validates :person_first_name, :person_last_name, presence: 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]
|
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
|
# All releases must respond to the following messages
|
||||||
def name
|
def name
|
||||||
person_name
|
person_name
|
||||||
|
|||||||
@@ -35,8 +35,8 @@
|
|||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<%= form.email_field :person_email, wrapper_class: "col-sm-6" %>
|
<%= form.email_field :person_email, wrapper_class: "col-sm-6" %>
|
||||||
<%= form.date_field :person_date_of_birth, wrapper_class: "col-sm-6", placeholder: Date.current %>
|
<%= form.date_field :person_date_of_birth, wrapper_class: "col-sm-6", placeholder: Date.current %>
|
||||||
<%= form.text_field :person_address, wrapper_class: "col-sm-6" %>
|
|
||||||
</div>
|
</div>
|
||||||
|
<%= render "shared/address_fields", form: form, subject: "person" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= card_field_set_tag t(".photo.heading") do %>
|
<%= card_field_set_tag t(".photo.heading") do %>
|
||||||
|
|||||||
@@ -330,6 +330,12 @@ en:
|
|||||||
appearance_release:
|
appearance_release:
|
||||||
minor: Is the person a minor?
|
minor: Is the person a minor?
|
||||||
person_address: Address
|
person_address: Address
|
||||||
|
person_address_city: City
|
||||||
|
person_address_country: Country
|
||||||
|
person_address_state: State
|
||||||
|
person_address_street1: Address
|
||||||
|
person_address_street2: Address (Line 2)
|
||||||
|
person_address_zip: Zip code
|
||||||
person_date_of_birth: Date of birth
|
person_date_of_birth: Date of birth
|
||||||
person_email: Email address
|
person_email: Email address
|
||||||
person_first_name: First name
|
person_first_name: First name
|
||||||
|
|||||||
@@ -118,6 +118,11 @@ es:
|
|||||||
guardian_address: Dirección del tutor legal
|
guardian_address: Dirección del tutor legal
|
||||||
guardian_name: Nómbre del tutor legal
|
guardian_name: Nómbre del tutor legal
|
||||||
guardian_phone: Número de teléfono del tutor legal
|
guardian_phone: Número de teléfono del tutor legal
|
||||||
|
person_address_city: City (ES)
|
||||||
|
person_address_country: Country (ES)
|
||||||
|
person_address_state: State (ES)
|
||||||
|
person_address_street1: Address (ES)
|
||||||
|
person_address_street2: Address (Line 2) (ES)
|
||||||
minor: El firmante es un menor
|
minor: El firmante es un menor
|
||||||
person_address: Dirección
|
person_address: Dirección
|
||||||
person_email: Dirección de correo electrónico
|
person_email: Dirección de correo electrónico
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class RenameAppearanceReleasePersonAddressColumn < ActiveRecord::Migration[6.0]
|
||||||
|
def change
|
||||||
|
rename_column :appearance_releases, :person_address, :person_address_old
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
class AddAddressComponentFieldsToAppearanceReleases < ActiveRecord::Migration[6.0]
|
||||||
|
def change
|
||||||
|
add_column :appearance_releases, :person_address_street1, :string
|
||||||
|
add_column :appearance_releases, :person_address_street2, :string
|
||||||
|
add_column :appearance_releases, :person_address_city, :string
|
||||||
|
add_column :appearance_releases, :person_address_state, :string
|
||||||
|
add_column :appearance_releases, :person_address_zip, :string
|
||||||
|
add_column :appearance_releases, :person_address_country, :string
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user