From 2ea27362863e43d8a6236c89358f310eb2f8aa19 Mon Sep 17 00:00:00 2001 From: bilal Date: Mon, 15 Jun 2020 15:15:35 +0200 Subject: [PATCH 01/16] destructure address fields but use person_address_old for legacy --- .../public/appearance_releases_controller.rb | 18 +++++++++++++- app/models/appearance_release.rb | 24 +++++++++++++++++++ .../public/appearance_releases/new.html.erb | 2 +- config/locales/en.yml | 6 +++++ config/locales/es.yml | 5 ++++ ...ppearance_release_person_address_column.rb | 5 ++++ ...component_fields_to_appearance_releases.rb | 10 ++++++++ 7 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20200615133602_rename_appearance_release_person_address_column.rb create mode 100644 db/migrate/20200615140920_add_address_component_fields_to_appearance_releases.rb diff --git a/app/controllers/public/appearance_releases_controller.rb b/app/controllers/public/appearance_releases_controller.rb index 4bd3d9f..6adbdf4 100644 --- a/app/controllers/public/appearance_releases_controller.rb +++ b/app/controllers/public/appearance_releases_controller.rb @@ -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,) diff --git a/app/models/appearance_release.rb b/app/models/appearance_release.rb index 9a587c7..905538e 100644 --- a/app/models/appearance_release.rb +++ b/app/models/appearance_release.rb @@ -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 diff --git a/app/views/public/appearance_releases/new.html.erb b/app/views/public/appearance_releases/new.html.erb index ad80736..7fba394 100644 --- a/app/views/public/appearance_releases/new.html.erb +++ b/app/views/public/appearance_releases/new.html.erb @@ -35,8 +35,8 @@
<%= 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" %>
+ <%= render "shared/address_fields", form: form, subject: "person" %> <% end %> <%= card_field_set_tag t(".photo.heading") do %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 7073de2..fb64905 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -330,6 +330,12 @@ en: appearance_release: minor: Is the person a minor? 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_email: Email address person_first_name: First name diff --git a/config/locales/es.yml b/config/locales/es.yml index be353f4..113dfdd 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -118,6 +118,11 @@ es: guardian_address: Dirección del tutor legal guardian_name: Nómbre 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 person_address: Dirección person_email: Dirección de correo electrónico diff --git a/db/migrate/20200615133602_rename_appearance_release_person_address_column.rb b/db/migrate/20200615133602_rename_appearance_release_person_address_column.rb new file mode 100644 index 0000000..da38869 --- /dev/null +++ b/db/migrate/20200615133602_rename_appearance_release_person_address_column.rb @@ -0,0 +1,5 @@ +class RenameAppearanceReleasePersonAddressColumn < ActiveRecord::Migration[6.0] + def change + rename_column :appearance_releases, :person_address, :person_address_old + end +end diff --git a/db/migrate/20200615140920_add_address_component_fields_to_appearance_releases.rb b/db/migrate/20200615140920_add_address_component_fields_to_appearance_releases.rb new file mode 100644 index 0000000..00abd0e --- /dev/null +++ b/db/migrate/20200615140920_add_address_component_fields_to_appearance_releases.rb @@ -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 -- 2.47.3 From 6ea9089a4dae0c558eebb27df2e4cffdf775982b Mon Sep 17 00:00:00 2001 From: bilal Date: Mon, 15 Jun 2020 18:59:06 +0200 Subject: [PATCH 02/16] make editing non-native release possible --- app/controllers/appearance_releases_controller.rb | 2 +- app/views/appearance_releases/_form.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/appearance_releases_controller.rb b/app/controllers/appearance_releases_controller.rb index a05e958..012dbaf 100644 --- a/app/controllers/appearance_releases_controller.rb +++ b/app/controllers/appearance_releases_controller.rb @@ -79,7 +79,7 @@ class AppearanceReleasesController < ApplicationController def appearance_release_params params.require(:appearance_release).permit(:contract, :guardian_address, :guardian_first_name, :guardian_last_name, :guardian_phone, :guardian_photo, :guardian_email, :minor, - :person_address, :person_first_name, :person_last_name, :person_phone, :person_email, :person_photo, + :person_address_old, :person_first_name, :person_last_name, :person_phone, :person_email, :person_photo, :applicable_medium_id, :applicable_medium_text, :territory_id, :territory_text, :term_id, :term_text, :person_date_of_birth, diff --git a/app/views/appearance_releases/_form.html.erb b/app/views/appearance_releases/_form.html.erb index 0f9d150..c3b2260 100644 --- a/app/views/appearance_releases/_form.html.erb +++ b/app/views/appearance_releases/_form.html.erb @@ -13,7 +13,7 @@
<%= 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.text_field :person_address, wrapper_class: "col-sm-6" %> + <%= form.text_field :person_address_old, wrapper_class: "col-sm-6" %>
!appearance_release.minor?) %>" data-ujs-target="guardian-fields"> -- 2.47.3 From 8810ecc9b1f1a615800e5c699f5a5330328cf608 Mon Sep 17 00:00:00 2001 From: bilal Date: Mon, 15 Jun 2020 19:23:48 +0200 Subject: [PATCH 03/16] make editing non-native release possible --- app/models/appearance_release.rb | 16 ++++++++++++++-- app/models/sample_appearance_release.rb | 8 +++++++- config/locales/en.yml | 1 + config/locales/es.yml | 1 + 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app/models/appearance_release.rb b/app/models/appearance_release.rb index 905538e..387c0de 100644 --- a/app/models/appearance_release.rb +++ b/app/models/appearance_release.rb @@ -19,7 +19,7 @@ class AppearanceRelease < ApplicationRecord composed_of :person_address, class_name: 'Address', mapping: [ - %w[person_address_street1 street1], + %w[person_address_street1 street1], %w[person_address_street2 street2], %w[person_address_city city], %w[person_address_state state], @@ -82,7 +82,19 @@ class AppearanceRelease < ApplicationRecord scope :having_no_person_photo, -> { left_joins(:person_photo_attachment).group(:id).having('COUNT(active_storage_attachments) = 0') } scope :with_person_name, ->(name) { where('person_first_name ILIKE ? OR person_last_name ILIKE ?', "%#{name}%") } - 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_old + person_address_street1 + person_address_street2 + person_address_city + person_address_state + person_address_zip + person_address_country + person_email + person_phone + ] def person_address return self.person_address_old if self.person_address_old.present? diff --git a/app/models/sample_appearance_release.rb b/app/models/sample_appearance_release.rb index e2e0a20..5107365 100644 --- a/app/models/sample_appearance_release.rb +++ b/app/models/sample_appearance_release.rb @@ -8,7 +8,13 @@ class SampleAppearanceRelease < AppearanceRelease def default_attrs { - person_address: "Street Address, City, State Zipcode", + person_address_old: "Street Address, City, State Zipcode", + person_address_street1: "St1", + person_address_street2: "St2", + person_address_city: "City", + person_address_state: "State", + person_address_zip: "ZIP", + person_address_country: "Country", person_first_name: "Some", person_last_name: "Person", person_phone: "555-555-5555", diff --git a/config/locales/en.yml b/config/locales/en.yml index fb64905..c606755 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -329,6 +329,7 @@ en: person_title: Title appearance_release: minor: Is the person a minor? + person_address_old: Address person_address: Address person_address_city: City person_address_country: Country diff --git a/config/locales/es.yml b/config/locales/es.yml index 113dfdd..44d005d 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -125,6 +125,7 @@ es: person_address_street2: Address (Line 2) (ES) minor: El firmante es un menor person_address: Dirección + person_address_old: Dirección person_email: Dirección de correo electrónico person_name: Nómbre person_phone: Número de teléfono -- 2.47.3 From 93e5dbc9df8267a8f6fd51536d0f2e0984e24a14 Mon Sep 17 00:00:00 2001 From: bilal Date: Mon, 15 Jun 2020 19:23:58 +0200 Subject: [PATCH 04/16] update specs --- .../public/appearance_releases_controller_spec.rb | 2 +- spec/factories/appearance_releases.rb | 7 ++++++- spec/models/contract_template_preview_spec.rb | 7 ++++++- .../appearance_release_log_sheet_spec.rb | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/spec/controllers/public/appearance_releases_controller_spec.rb b/spec/controllers/public/appearance_releases_controller_spec.rb index 3130922..b1cf0c0 100644 --- a/spec/controllers/public/appearance_releases_controller_spec.rb +++ b/spec/controllers/public/appearance_releases_controller_spec.rb @@ -31,7 +31,7 @@ describe Public::AppearanceReleasesController do contract_template = create(:contract_template, project: project) sign_in(user) - post :create, params: { account_id: user.primary_account.to_param, project_id: project, contract_template_id: contract_template, appearance_release: { person_address: "Albuquerque" } } + post :create, params: { account_id: user.primary_account.to_param, project_id: project, contract_template_id: contract_template, appearance_release: { person_email: "email@email.com" } } body = CGI.unescape_html(response.body) expect(body).to match /Person first name can't be blank/ expect(body).to match /Person last name can't be blank/ diff --git a/spec/factories/appearance_releases.rb b/spec/factories/appearance_releases.rb index afcec4e..35986f5 100644 --- a/spec/factories/appearance_releases.rb +++ b/spec/factories/appearance_releases.rb @@ -11,7 +11,12 @@ FactoryBot.define do end trait :native do - person_address "100 Test Lane, New York, NY 10001" + person_address_street1 "St1" + person_address_street2 "St2" + person_address_city "City" + person_address_state "State" + person_address_zip "ZIP" + person_address_country "Country" person_phone "123-555-6789" signature do diff --git a/spec/models/contract_template_preview_spec.rb b/spec/models/contract_template_preview_spec.rb index 7cdf8ec..33efb63 100644 --- a/spec/models/contract_template_preview_spec.rb +++ b/spec/models/contract_template_preview_spec.rb @@ -50,7 +50,12 @@ describe ContractTemplatePreview do 'id' => nil, 'person_first_name' => 'Dummy', 'person_last_name' => 'Person', - 'person_address' => 'Street 1, Street 2, City, State 12345, Country', + 'person_address_old' => nil, + 'person_address_street1' => 'Street 1', + 'person_address_street2' => 'Street 2', + 'person_address_city' => 'City', + 'person_address_state' => 'State', + 'person_address_zip' => '12345', 'person_phone' => '00 111 222 333 4444', 'updated_at' => nil, 'minor' => true, diff --git a/spec/models/excel_reports/video_reports/nat_geo_legal_binder_logs/appearance_release_log_sheet_spec.rb b/spec/models/excel_reports/video_reports/nat_geo_legal_binder_logs/appearance_release_log_sheet_spec.rb index ce1ff5f..9e397ee 100644 --- a/spec/models/excel_reports/video_reports/nat_geo_legal_binder_logs/appearance_release_log_sheet_spec.rb +++ b/spec/models/excel_reports/video_reports/nat_geo_legal_binder_logs/appearance_release_log_sheet_spec.rb @@ -29,7 +29,7 @@ module ExcelReports restriction: Restriction.last, person_first_name: "John", person_last_name: "Doe", - person_address: "123 Main Street, New York, NY 10000") + person_address_old: "123 Main Street, New York, NY 10000") ) ) allow(sheet).to receive(:add_row) -- 2.47.3 From 1586878ff72e4483cac343bfb8ff8dac9f740474 Mon Sep 17 00:00:00 2001 From: bilal Date: Wed, 17 Jun 2020 09:31:38 +0200 Subject: [PATCH 05/16] use person_address_street1 for old person_address --- .../appearance_releases_controller.rb | 2 +- app/models/appearance_release.rb | 24 ++++--------------- app/models/sample_appearance_release.rb | 3 +-- app/views/appearance_releases/_form.html.erb | 2 +- config/locales/en.yml | 1 - config/locales/es.yml | 1 - ..._address_column_in_appearance_releases.rb} | 4 ++-- ...ppearance_release_person_address_column.rb | 5 ---- spec/models/contract_template_preview_spec.rb | 1 - .../appearance_release_log_sheet_spec.rb | 2 +- 10 files changed, 11 insertions(+), 34 deletions(-) rename db/migrate/{20200615140920_add_address_component_fields_to_appearance_releases.rb => 20200615133602_destructure_person_address_column_in_appearance_releases.rb} (68%) delete mode 100644 db/migrate/20200615133602_rename_appearance_release_person_address_column.rb diff --git a/app/controllers/appearance_releases_controller.rb b/app/controllers/appearance_releases_controller.rb index 012dbaf..610eea5 100644 --- a/app/controllers/appearance_releases_controller.rb +++ b/app/controllers/appearance_releases_controller.rb @@ -79,7 +79,7 @@ class AppearanceReleasesController < ApplicationController def appearance_release_params params.require(:appearance_release).permit(:contract, :guardian_address, :guardian_first_name, :guardian_last_name, :guardian_phone, :guardian_photo, :guardian_email, :minor, - :person_address_old, :person_first_name, :person_last_name, :person_phone, :person_email, :person_photo, + :person_address_street1, :person_first_name, :person_last_name, :person_phone, :person_email, :person_photo, :applicable_medium_id, :applicable_medium_text, :territory_id, :territory_text, :term_id, :term_text, :person_date_of_birth, diff --git a/app/models/appearance_release.rb b/app/models/appearance_release.rb index 387c0de..c1126ff 100644 --- a/app/models/appearance_release.rb +++ b/app/models/appearance_release.rb @@ -20,11 +20,11 @@ class AppearanceRelease < ApplicationRecord 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] + %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 @@ -85,7 +85,6 @@ class AppearanceRelease < ApplicationRecord searchable_on %i[ person_first_name person_last_name - person_address_old person_address_street1 person_address_street2 person_address_city @@ -96,19 +95,6 @@ class AppearanceRelease < ApplicationRecord 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 diff --git a/app/models/sample_appearance_release.rb b/app/models/sample_appearance_release.rb index 5107365..a1856eb 100644 --- a/app/models/sample_appearance_release.rb +++ b/app/models/sample_appearance_release.rb @@ -8,8 +8,7 @@ class SampleAppearanceRelease < AppearanceRelease def default_attrs { - person_address_old: "Street Address, City, State Zipcode", - person_address_street1: "St1", + person_address_street1: "Street Address, City, State Zipcode", person_address_street2: "St2", person_address_city: "City", person_address_state: "State", diff --git a/app/views/appearance_releases/_form.html.erb b/app/views/appearance_releases/_form.html.erb index c3b2260..5e67d9d 100644 --- a/app/views/appearance_releases/_form.html.erb +++ b/app/views/appearance_releases/_form.html.erb @@ -13,7 +13,7 @@
<%= 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.text_field :person_address_old, wrapper_class: "col-sm-6" %> + <%= form.text_field :person_address_street1, wrapper_class: "col-sm-6" %>
!appearance_release.minor?) %>" data-ujs-target="guardian-fields"> diff --git a/config/locales/en.yml b/config/locales/en.yml index c606755..fb64905 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -329,7 +329,6 @@ en: person_title: Title appearance_release: minor: Is the person a minor? - person_address_old: Address person_address: Address person_address_city: City person_address_country: Country diff --git a/config/locales/es.yml b/config/locales/es.yml index 44d005d..113dfdd 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -125,7 +125,6 @@ es: person_address_street2: Address (Line 2) (ES) minor: El firmante es un menor person_address: Dirección - person_address_old: Dirección person_email: Dirección de correo electrónico person_name: Nómbre person_phone: Número de teléfono diff --git a/db/migrate/20200615140920_add_address_component_fields_to_appearance_releases.rb b/db/migrate/20200615133602_destructure_person_address_column_in_appearance_releases.rb similarity index 68% rename from db/migrate/20200615140920_add_address_component_fields_to_appearance_releases.rb rename to db/migrate/20200615133602_destructure_person_address_column_in_appearance_releases.rb index 00abd0e..ba88cc4 100644 --- a/db/migrate/20200615140920_add_address_component_fields_to_appearance_releases.rb +++ b/db/migrate/20200615133602_destructure_person_address_column_in_appearance_releases.rb @@ -1,6 +1,6 @@ -class AddAddressComponentFieldsToAppearanceReleases < ActiveRecord::Migration[6.0] +class DestructurePersonAddressColumnInAppearanceReleases < ActiveRecord::Migration[6.0] def change - add_column :appearance_releases, :person_address_street1, :string + rename_column :appearance_releases, :person_address, :person_address_street1 add_column :appearance_releases, :person_address_street2, :string add_column :appearance_releases, :person_address_city, :string add_column :appearance_releases, :person_address_state, :string diff --git a/db/migrate/20200615133602_rename_appearance_release_person_address_column.rb b/db/migrate/20200615133602_rename_appearance_release_person_address_column.rb deleted file mode 100644 index da38869..0000000 --- a/db/migrate/20200615133602_rename_appearance_release_person_address_column.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameAppearanceReleasePersonAddressColumn < ActiveRecord::Migration[6.0] - def change - rename_column :appearance_releases, :person_address, :person_address_old - end -end diff --git a/spec/models/contract_template_preview_spec.rb b/spec/models/contract_template_preview_spec.rb index 33efb63..c191e12 100644 --- a/spec/models/contract_template_preview_spec.rb +++ b/spec/models/contract_template_preview_spec.rb @@ -50,7 +50,6 @@ describe ContractTemplatePreview do 'id' => nil, 'person_first_name' => 'Dummy', 'person_last_name' => 'Person', - 'person_address_old' => nil, 'person_address_street1' => 'Street 1', 'person_address_street2' => 'Street 2', 'person_address_city' => 'City', diff --git a/spec/models/excel_reports/video_reports/nat_geo_legal_binder_logs/appearance_release_log_sheet_spec.rb b/spec/models/excel_reports/video_reports/nat_geo_legal_binder_logs/appearance_release_log_sheet_spec.rb index 9e397ee..9b1490e 100644 --- a/spec/models/excel_reports/video_reports/nat_geo_legal_binder_logs/appearance_release_log_sheet_spec.rb +++ b/spec/models/excel_reports/video_reports/nat_geo_legal_binder_logs/appearance_release_log_sheet_spec.rb @@ -29,7 +29,7 @@ module ExcelReports restriction: Restriction.last, person_first_name: "John", person_last_name: "Doe", - person_address_old: "123 Main Street, New York, NY 10000") + person_address_street1: "123 Main Street, New York, NY 10000") ) ) allow(sheet).to receive(:add_row) -- 2.47.3 From c705f6fb60cee00a5632e2b807dbd9fd8dbea1c6 Mon Sep 17 00:00:00 2001 From: bilal Date: Wed, 17 Jun 2020 14:53:39 +0200 Subject: [PATCH 06/16] rebase master --- db/structure.sql | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/db/structure.sql b/db/structure.sql index f6a1918..15d5f5d 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -290,7 +290,7 @@ ALTER SEQUENCE public.active_storage_blobs_id_seq OWNED BY public.active_storage CREATE TABLE public.appearance_releases ( id bigint NOT NULL, person_name_old character varying, - person_address character varying, + person_address_street1 character varying, person_phone character varying, project_id bigint, created_at timestamp without time zone NOT NULL, @@ -318,7 +318,12 @@ CREATE TABLE public.appearance_releases ( guardian_first_name character varying, guardian_last_name character varying, identifier character varying, - guardian_email character varying + guardian_email character varying, + person_address_street2 character varying, + person_address_city character varying, + person_address_state character varying, + person_address_zip character varying, + person_address_country character varying ); @@ -3654,6 +3659,7 @@ INSERT INTO "schema_migrations" (version) VALUES ('20200610085411'), ('20200610140459'), ('20200612121539'), -('20200615131722'); +('20200615131722'), +('20200615133602'); -- 2.47.3 From ef1bb2134af7e061afaa01c8fa03e0f63aca47d5 Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 09:58:46 +0200 Subject: [PATCH 07/16] fix MR comments --- app/models/sample_appearance_release.rb | 2 +- config/locales/en.yml | 1 - config/locales/es.yml | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/app/models/sample_appearance_release.rb b/app/models/sample_appearance_release.rb index a1856eb..c1d7170 100644 --- a/app/models/sample_appearance_release.rb +++ b/app/models/sample_appearance_release.rb @@ -8,7 +8,7 @@ class SampleAppearanceRelease < AppearanceRelease def default_attrs { - person_address_street1: "Street Address, City, State Zipcode", + person_address_street1: "Street Address", person_address_street2: "St2", person_address_city: "City", person_address_state: "State", diff --git a/config/locales/en.yml b/config/locales/en.yml index fb64905..b02f0f4 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -329,7 +329,6 @@ en: person_title: Title appearance_release: minor: Is the person a minor? - person_address: Address person_address_city: City person_address_country: Country person_address_state: State diff --git a/config/locales/es.yml b/config/locales/es.yml index 113dfdd..7c03776 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -124,7 +124,6 @@ es: person_address_street1: Address (ES) person_address_street2: Address (Line 2) (ES) minor: El firmante es un menor - person_address: Dirección person_email: Dirección de correo electrónico person_name: Nómbre person_phone: Número de teléfono -- 2.47.3 From 9d452fabae113f0920dda1d4bbaa2f036d356591 Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 10:06:31 +0200 Subject: [PATCH 08/16] fix MR comments --- spec/features/user_managing_appearance_releases_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/features/user_managing_appearance_releases_spec.rb b/spec/features/user_managing_appearance_releases_spec.rb index 03cdd05..fe7dde8 100644 --- a/spec/features/user_managing_appearance_releases_spec.rb +++ b/spec/features/user_managing_appearance_releases_spec.rb @@ -491,7 +491,7 @@ feature 'User managing appearance releases' do end def person_address_field - t('helpers.label.appearance_release.person_address') + t('helpers.label.appearance_release.person_address_street1') end def person_email_field -- 2.47.3 From d165f5fd369d77df043b915d7d6d4a01c97e872f Mon Sep 17 00:00:00 2001 From: bilal Date: Tue, 16 Jun 2020 13:29:13 +0200 Subject: [PATCH 09/16] destructure guardian address field for appearance release --- .../appearance_releases_controller.rb | 2 +- .../public/appearance_releases_controller.rb | 24 +++++++++++++++--- app/models/appearance_release.rb | 25 +++++++++++++++++++ app/views/appearance_releases/_form.html.erb | 2 +- .../public/appearance_releases/new.html.erb | 4 +-- config/locales/en.yml | 7 ++++++ config/locales/es.yml | 7 ++++++ ...earance_release_guardian_address_column.rb | 5 ++++ ...dress_components_to_appearance_releases.rb | 11 ++++++++ .../appearance_releases_controller_spec.rb | 15 ++++++++++- spec/factories/appearance_releases.rb | 15 +++++++++-- spec/models/contract_template_preview_spec.rb | 7 +++++- 12 files changed, 111 insertions(+), 13 deletions(-) create mode 100644 db/migrate/20200616124214_rename_appearance_release_guardian_address_column.rb create mode 100644 db/migrate/20200616124401_add_guardian_address_components_to_appearance_releases.rb diff --git a/app/controllers/appearance_releases_controller.rb b/app/controllers/appearance_releases_controller.rb index 610eea5..bda5a34 100644 --- a/app/controllers/appearance_releases_controller.rb +++ b/app/controllers/appearance_releases_controller.rb @@ -78,7 +78,7 @@ class AppearanceReleasesController < ApplicationController end def appearance_release_params - params.require(:appearance_release).permit(:contract, :guardian_address, :guardian_first_name, :guardian_last_name, :guardian_phone, :guardian_photo, :guardian_email, :minor, + params.require(:appearance_release).permit(:contract, :guardian_address_old, :guardian_first_name, :guardian_last_name, :guardian_phone, :guardian_photo, :guardian_email, :minor, :person_address_street1, :person_first_name, :person_last_name, :person_phone, :person_email, :person_photo, :applicable_medium_id, :applicable_medium_text, :territory_id, :territory_text, diff --git a/app/controllers/public/appearance_releases_controller.rb b/app/controllers/public/appearance_releases_controller.rb index 6adbdf4..419fcd1 100644 --- a/app/controllers/public/appearance_releases_controller.rb +++ b/app/controllers/public/appearance_releases_controller.rb @@ -55,11 +55,27 @@ class Public::AppearanceReleasesController < Public::BaseController ] end + def guardian_params + %i[ + guardian_first_name + guardian_last_name + guardian_phone + guardian_email + guardian_photo + guardian_address_street1 + guardian_address_street2 + guardian_address_city + guardian_address_state + guardian_address_zip + guardian_address_country + ] + end + def appearance_release_params - 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,) + params.require(:appearance_release).permit(person_params, guardian_params, + :minor, :signature_base64, + :person_date_of_birth, + :locale, :contract_template) end def appearance_release_params_with_locale diff --git a/app/models/appearance_release.rb b/app/models/appearance_release.rb index c1126ff..ab6ab60 100644 --- a/app/models/appearance_release.rb +++ b/app/models/appearance_release.rb @@ -27,6 +27,18 @@ class AppearanceRelease < ApplicationRecord %w[person_address_country country] ] + composed_of :guardian_address, + class_name: 'Address', + mapping: [ + %w[guardian_address_street1 street1], + %w[guardian_address_street2 street2], + %w[guardian_address_city city], + %w[guardian_address_state state], + %w[guardian_address_zip zip], + %w[guardian_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 @@ -95,6 +107,19 @@ class AppearanceRelease < ApplicationRecord person_phone ] + def guardian_address + return self.guardian_address_old if self.guardian_address_old.present? + + Address.new( + self.guardian_address_street1, + self.guardian_address_street2, + self.guardian_address_city, + self.guardian_address_state, + self.guardian_address_zip, + self.guardian_address_country + ).to_s(format: :full) + end + # All releases must respond to the following messages def name person_name diff --git a/app/views/appearance_releases/_form.html.erb b/app/views/appearance_releases/_form.html.erb index 5e67d9d..2244ca7 100644 --- a/app/views/appearance_releases/_form.html.erb +++ b/app/views/appearance_releases/_form.html.erb @@ -23,7 +23,7 @@ <%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6" %>
- <%= form.text_field :guardian_address, wrapper_class: "col-sm-6" %> + <%= form.text_field :guardian_address_old, wrapper_class: "col-sm-6" %>
<% end %> diff --git a/app/views/public/appearance_releases/new.html.erb b/app/views/public/appearance_releases/new.html.erb index 7fba394..43df055 100644 --- a/app/views/public/appearance_releases/new.html.erb +++ b/app/views/public/appearance_releases/new.html.erb @@ -79,9 +79,7 @@
<%= form.text_field :guardian_email, required: @appearance_release.minor?, wrapper_class: "col-sm-6" %>
-
- <%= form.text_field :guardian_address, required: @appearance_release.minor?, wrapper_class: "col-sm-6" %> -
+ <%= render "shared/address_fields", form: form, subject: "guardian" %> <% end %>
diff --git a/config/locales/en.yml b/config/locales/en.yml index b02f0f4..d0867db 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -341,6 +341,13 @@ en: person_last_name: Last name person_name: Name person_phone: Phone number + guardian_address_old: Guardian address + guardian_address_city: Guardian city + guardian_address_country: Guardian country + guardian_address_state: Guardian state + guardian_address_street1: Guardian address + guardian_address_street2: Guardian address (Line 2) + guardian_address_zip: Guardian zip code location_release: address_city: City address_country: Country diff --git a/config/locales/es.yml b/config/locales/es.yml index 7c03776..78e706a 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -116,6 +116,7 @@ es: label: appearance_release: guardian_address: Dirección del tutor legal + guardian_address_old: Dirección del tutor legal guardian_name: Nómbre del tutor legal guardian_phone: Número de teléfono del tutor legal person_address_city: City (ES) @@ -127,6 +128,12 @@ es: person_email: Dirección de correo electrónico person_name: Nómbre person_phone: Número de teléfono + guardian_address_city: Guardian city (ES) + guardian_address_country: Guardian country (ES) + guardian_address_state: Guardian state (ES) + guardian_address_street1: Dirección del tutor legal + guardian_address_street2: Dirección del tutor legal (Línea 2) + guardian_address_zip: Guardian zip code (ES) project: client_name: Nómbre del cliente del proyecto description: Descripción del proyecto diff --git a/db/migrate/20200616124214_rename_appearance_release_guardian_address_column.rb b/db/migrate/20200616124214_rename_appearance_release_guardian_address_column.rb new file mode 100644 index 0000000..4d14700 --- /dev/null +++ b/db/migrate/20200616124214_rename_appearance_release_guardian_address_column.rb @@ -0,0 +1,5 @@ +class RenameAppearanceReleaseGuardianAddressColumn < ActiveRecord::Migration[6.0] + def change + rename_column :appearance_releases, :guardian_address, :guardian_address_old + end +end diff --git a/db/migrate/20200616124401_add_guardian_address_components_to_appearance_releases.rb b/db/migrate/20200616124401_add_guardian_address_components_to_appearance_releases.rb new file mode 100644 index 0000000..4e9a814 --- /dev/null +++ b/db/migrate/20200616124401_add_guardian_address_components_to_appearance_releases.rb @@ -0,0 +1,11 @@ +class AddGuardianAddressComponentsToAppearanceReleases < ActiveRecord::Migration[6.0] + def change + add_column :appearance_releases, :guardian_address_street1, :string + add_column :appearance_releases, :guardian_address_street2, :string + add_column :appearance_releases, :guardian_address_city, :string + add_column :appearance_releases, :guardian_address_state, :string + add_column :appearance_releases, :guardian_address_zip, :string + add_column :appearance_releases, :guardian_address_country, :string + + end +end diff --git a/spec/controllers/public/appearance_releases_controller_spec.rb b/spec/controllers/public/appearance_releases_controller_spec.rb index b1cf0c0..cafb534 100644 --- a/spec/controllers/public/appearance_releases_controller_spec.rb +++ b/spec/controllers/public/appearance_releases_controller_spec.rb @@ -120,7 +120,20 @@ describe Public::AppearanceReleasesController do def minor_appearance_release_params(with_guardian_photo = true) minor_type = with_guardian_photo ? :minor_with_guardian_photo : :minor - attributes_for(:appearance_release, minor_type).merge(signature_param) + attributes_for(:appearance_release, minor_type) + .except(:guardian_address_old) + .merge(signature_param, guardian_address_params) + end + + def guardian_address_params + { + guardian_address_street1: "St1", + guardian_address_street2: "St2", + guardian_address_city: "City", + guardian_address_state: "State", + guardian_address_zip: "ZIP", + guardian_address_country: "Country" + } end def signature_param diff --git a/spec/factories/appearance_releases.rb b/spec/factories/appearance_releases.rb index 35986f5..db35af2 100644 --- a/spec/factories/appearance_releases.rb +++ b/spec/factories/appearance_releases.rb @@ -36,7 +36,12 @@ FactoryBot.define do minor true guardian_first_name "Jamie" guardian_last_name "Doe" - guardian_address "100 Test Lane, New York, 10001" + guardian_address_street1 "St1" + guardian_address_street2 "St2" + guardian_address_city "City" + guardian_address_state "State" + guardian_address_zip "ZIP" + guardian_address_country "Country" guardian_phone "123-555-1234" guardian_email "guardian@galaxy.all" end @@ -45,9 +50,15 @@ FactoryBot.define do minor true guardian_first_name "Jamie" guardian_last_name "Doe" - guardian_address "100 Test Lane, New York, 10001" guardian_phone "123-555-1234" guardian_email "guardian@galaxy.all" + # guardian_address_street1 "St1" + # guardian_address_street2 "St2" + # guardian_address_city "City" + # guardian_address_state "State" + # guardian_address_zip "ZIP" + # guardian_address_country "Country" + guardian_address_old "St1 St2 City State ZIP Country" guardian_photo do path = Rails.root.join("spec", "fixtures", "files", "pratt.jpg") Rack::Test::UploadedFile.new(path, "image/jpeg") diff --git a/spec/models/contract_template_preview_spec.rb b/spec/models/contract_template_preview_spec.rb index c191e12..ffc86dd 100644 --- a/spec/models/contract_template_preview_spec.rb +++ b/spec/models/contract_template_preview_spec.rb @@ -58,7 +58,12 @@ describe ContractTemplatePreview do 'person_phone' => '00 111 222 333 4444', 'updated_at' => nil, 'minor' => true, - 'guardian_address' => 'Street 3, Street 4, City-2, State-2 112233, Country-2', + 'guardian_address_old' => nil, + 'guardian_address_street1' => 'Street 3', + 'guardian_address_street2' => 'Street 4', + 'guardian_address_city' => 'City-2', + 'guardian_address_state' => 'State-2', + 'guardian_address_zip' => '112233', "guardian_first_name" => nil, "guardian_last_name" => nil, "guardian_name_old" => nil, -- 2.47.3 From ba0efd72333fa0679cc2ce55b3aeb90dfb1b6290 Mon Sep 17 00:00:00 2001 From: bilal Date: Wed, 17 Jun 2020 09:44:34 +0200 Subject: [PATCH 10/16] use guardian_address_street1 for old guardian_address --- app/controllers/appearance_releases_controller.rb | 2 +- app/models/appearance_release.rb | 13 ------------- app/views/appearance_releases/_form.html.erb | 2 +- config/locales/en.yml | 1 - config/locales/es.yml | 1 - ...ardian_address_column_in_appearance_releases.rb} | 5 ++--- ...me_appearance_release_guardian_address_column.rb | 5 ----- .../public/appearance_releases_controller_spec.rb | 1 - spec/factories/appearance_releases.rb | 2 +- spec/models/contract_template_preview_spec.rb | 1 - 10 files changed, 5 insertions(+), 28 deletions(-) rename db/migrate/{20200616124401_add_guardian_address_components_to_appearance_releases.rb => 20200616124214_destructure_guardian_address_column_in_appearance_releases.rb} (68%) delete mode 100644 db/migrate/20200616124214_rename_appearance_release_guardian_address_column.rb diff --git a/app/controllers/appearance_releases_controller.rb b/app/controllers/appearance_releases_controller.rb index bda5a34..a1e53d6 100644 --- a/app/controllers/appearance_releases_controller.rb +++ b/app/controllers/appearance_releases_controller.rb @@ -78,7 +78,7 @@ class AppearanceReleasesController < ApplicationController end def appearance_release_params - params.require(:appearance_release).permit(:contract, :guardian_address_old, :guardian_first_name, :guardian_last_name, :guardian_phone, :guardian_photo, :guardian_email, :minor, + params.require(:appearance_release).permit(:contract, :guardian_address_street1, :guardian_first_name, :guardian_last_name, :guardian_phone, :guardian_photo, :guardian_email, :minor, :person_address_street1, :person_first_name, :person_last_name, :person_phone, :person_email, :person_photo, :applicable_medium_id, :applicable_medium_text, :territory_id, :territory_text, diff --git a/app/models/appearance_release.rb b/app/models/appearance_release.rb index ab6ab60..078eefd 100644 --- a/app/models/appearance_release.rb +++ b/app/models/appearance_release.rb @@ -107,19 +107,6 @@ class AppearanceRelease < ApplicationRecord person_phone ] - def guardian_address - return self.guardian_address_old if self.guardian_address_old.present? - - Address.new( - self.guardian_address_street1, - self.guardian_address_street2, - self.guardian_address_city, - self.guardian_address_state, - self.guardian_address_zip, - self.guardian_address_country - ).to_s(format: :full) - end - # All releases must respond to the following messages def name person_name diff --git a/app/views/appearance_releases/_form.html.erb b/app/views/appearance_releases/_form.html.erb index 2244ca7..69e521e 100644 --- a/app/views/appearance_releases/_form.html.erb +++ b/app/views/appearance_releases/_form.html.erb @@ -23,7 +23,7 @@ <%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6" %>
- <%= form.text_field :guardian_address_old, wrapper_class: "col-sm-6" %> + <%= form.text_field :guardian_address_street1, wrapper_class: "col-sm-6" %>
<% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index d0867db..c3bb2de 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -341,7 +341,6 @@ en: person_last_name: Last name person_name: Name person_phone: Phone number - guardian_address_old: Guardian address guardian_address_city: Guardian city guardian_address_country: Guardian country guardian_address_state: Guardian state diff --git a/config/locales/es.yml b/config/locales/es.yml index 78e706a..dde1aac 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -116,7 +116,6 @@ es: label: appearance_release: guardian_address: Dirección del tutor legal - guardian_address_old: Dirección del tutor legal guardian_name: Nómbre del tutor legal guardian_phone: Número de teléfono del tutor legal person_address_city: City (ES) diff --git a/db/migrate/20200616124401_add_guardian_address_components_to_appearance_releases.rb b/db/migrate/20200616124214_destructure_guardian_address_column_in_appearance_releases.rb similarity index 68% rename from db/migrate/20200616124401_add_guardian_address_components_to_appearance_releases.rb rename to db/migrate/20200616124214_destructure_guardian_address_column_in_appearance_releases.rb index 4e9a814..9cb94da 100644 --- a/db/migrate/20200616124401_add_guardian_address_components_to_appearance_releases.rb +++ b/db/migrate/20200616124214_destructure_guardian_address_column_in_appearance_releases.rb @@ -1,11 +1,10 @@ -class AddGuardianAddressComponentsToAppearanceReleases < ActiveRecord::Migration[6.0] +class DestructureGuardianAddressColumnInAppearanceReleases < ActiveRecord::Migration[6.0] def change - add_column :appearance_releases, :guardian_address_street1, :string + rename_column :appearance_releases, :guardian_address, :guardian_address_street1 add_column :appearance_releases, :guardian_address_street2, :string add_column :appearance_releases, :guardian_address_city, :string add_column :appearance_releases, :guardian_address_state, :string add_column :appearance_releases, :guardian_address_zip, :string add_column :appearance_releases, :guardian_address_country, :string - end end diff --git a/db/migrate/20200616124214_rename_appearance_release_guardian_address_column.rb b/db/migrate/20200616124214_rename_appearance_release_guardian_address_column.rb deleted file mode 100644 index 4d14700..0000000 --- a/db/migrate/20200616124214_rename_appearance_release_guardian_address_column.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameAppearanceReleaseGuardianAddressColumn < ActiveRecord::Migration[6.0] - def change - rename_column :appearance_releases, :guardian_address, :guardian_address_old - end -end diff --git a/spec/controllers/public/appearance_releases_controller_spec.rb b/spec/controllers/public/appearance_releases_controller_spec.rb index cafb534..7b2ecf2 100644 --- a/spec/controllers/public/appearance_releases_controller_spec.rb +++ b/spec/controllers/public/appearance_releases_controller_spec.rb @@ -121,7 +121,6 @@ describe Public::AppearanceReleasesController do def minor_appearance_release_params(with_guardian_photo = true) minor_type = with_guardian_photo ? :minor_with_guardian_photo : :minor attributes_for(:appearance_release, minor_type) - .except(:guardian_address_old) .merge(signature_param, guardian_address_params) end diff --git a/spec/factories/appearance_releases.rb b/spec/factories/appearance_releases.rb index db35af2..7e8148c 100644 --- a/spec/factories/appearance_releases.rb +++ b/spec/factories/appearance_releases.rb @@ -58,7 +58,7 @@ FactoryBot.define do # guardian_address_state "State" # guardian_address_zip "ZIP" # guardian_address_country "Country" - guardian_address_old "St1 St2 City State ZIP Country" + guardian_address_street1 "St1 St2 City State ZIP Country" guardian_photo do path = Rails.root.join("spec", "fixtures", "files", "pratt.jpg") Rack::Test::UploadedFile.new(path, "image/jpeg") diff --git a/spec/models/contract_template_preview_spec.rb b/spec/models/contract_template_preview_spec.rb index ffc86dd..dee4dea 100644 --- a/spec/models/contract_template_preview_spec.rb +++ b/spec/models/contract_template_preview_spec.rb @@ -58,7 +58,6 @@ describe ContractTemplatePreview do 'person_phone' => '00 111 222 333 4444', 'updated_at' => nil, 'minor' => true, - 'guardian_address_old' => nil, 'guardian_address_street1' => 'Street 3', 'guardian_address_street2' => 'Street 4', 'guardian_address_city' => 'City-2', -- 2.47.3 From de3932794fb6a4376c2eae46601e43703561aeb0 Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 09:39:38 +0200 Subject: [PATCH 11/16] fix MR comments --- config/locales/es.yml | 1 - spec/factories/appearance_releases.rb | 13 ++++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/config/locales/es.yml b/config/locales/es.yml index dde1aac..ff051c7 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -115,7 +115,6 @@ es: helpers: label: appearance_release: - guardian_address: Dirección del tutor legal guardian_name: Nómbre del tutor legal guardian_phone: Número de teléfono del tutor legal person_address_city: City (ES) diff --git a/spec/factories/appearance_releases.rb b/spec/factories/appearance_releases.rb index 7e8148c..c656d74 100644 --- a/spec/factories/appearance_releases.rb +++ b/spec/factories/appearance_releases.rb @@ -52,13 +52,12 @@ FactoryBot.define do guardian_last_name "Doe" guardian_phone "123-555-1234" guardian_email "guardian@galaxy.all" - # guardian_address_street1 "St1" - # guardian_address_street2 "St2" - # guardian_address_city "City" - # guardian_address_state "State" - # guardian_address_zip "ZIP" - # guardian_address_country "Country" - guardian_address_street1 "St1 St2 City State ZIP Country" + guardian_address_street1 "St1" + guardian_address_street2 "St2" + guardian_address_city "City" + guardian_address_state "State" + guardian_address_zip "ZIP" + guardian_address_country "Country" guardian_photo do path = Rails.root.join("spec", "fixtures", "files", "pratt.jpg") Rack::Test::UploadedFile.new(path, "image/jpeg") -- 2.47.3 From d48de2855142976a1057cb9d963d1eaa9a4c7620 Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 09:47:40 +0200 Subject: [PATCH 12/16] fix MR comments --- spec/controllers/appearance_releases_controller_spec.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spec/controllers/appearance_releases_controller_spec.rb b/spec/controllers/appearance_releases_controller_spec.rb index 7b78840..53e2be6 100644 --- a/spec/controllers/appearance_releases_controller_spec.rb +++ b/spec/controllers/appearance_releases_controller_spec.rb @@ -265,6 +265,9 @@ RSpec.describe AppearanceReleasesController, tye: :controller do def minor_appearance_release_params attributes_for(:appearance_release, :non_native, :minor_with_guardian_photo) .except(:contract) + .except(:guardian_address_street2).except(:guardian_address_city) + .except(:guardian_address_state).except(:guardian_address_zip) + .except(:guardian_address_country) .merge(contract_param, exploitable_rights_params) end -- 2.47.3 From efe1efe5d668c03ad7604a6a0c314a9f5f3336bf Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 10:22:25 +0200 Subject: [PATCH 13/16] fix structure.sql after merging two MRs into one --- db/structure.sql | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/db/structure.sql b/db/structure.sql index 15d5f5d..bc6f2ba 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -296,7 +296,7 @@ CREATE TABLE public.appearance_releases ( created_at timestamp without time zone NOT NULL, updated_at timestamp without time zone NOT NULL, minor boolean DEFAULT false, - guardian_address character varying, + guardian_address_street1 character varying, guardian_name_old character varying, guardian_phone character varying, person_email character varying, @@ -323,7 +323,12 @@ CREATE TABLE public.appearance_releases ( person_address_city character varying, person_address_state character varying, person_address_zip character varying, - person_address_country character varying + person_address_country character varying, + guardian_address_street2 character varying, + guardian_address_city character varying, + guardian_address_state character varying, + guardian_address_zip character varying, + guardian_address_country character varying ); @@ -3660,6 +3665,7 @@ INSERT INTO "schema_migrations" (version) VALUES ('20200610140459'), ('20200612121539'), ('20200615131722'), -('20200615133602'); +('20200615133602'), +('20200616124214'); -- 2.47.3 From ba0043206a24c5e4ec429753b01ec726f2631ccc Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 17:20:40 +0200 Subject: [PATCH 14/16] make person and guardian address fields required --- app/views/public/appearance_releases/new.html.erb | 4 ++-- app/views/shared/_address_fields.html.erb | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/views/public/appearance_releases/new.html.erb b/app/views/public/appearance_releases/new.html.erb index 43df055..ab2ff85 100644 --- a/app/views/public/appearance_releases/new.html.erb +++ b/app/views/public/appearance_releases/new.html.erb @@ -36,7 +36,7 @@ <%= 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 %> - <%= render "shared/address_fields", form: form, subject: "person" %> + <%= render "shared/address_fields", form: form, subject: "person", required: true %> <% end %> <%= card_field_set_tag t(".photo.heading") do %> @@ -79,7 +79,7 @@
<%= form.text_field :guardian_email, required: @appearance_release.minor?, wrapper_class: "col-sm-6" %>
- <%= render "shared/address_fields", form: form, subject: "guardian" %> + <%= render "shared/address_fields", form: form, subject: "guardian", required: true %> <% end %>
diff --git a/app/views/shared/_address_fields.html.erb b/app/views/shared/_address_fields.html.erb index 6346517..51cda48 100644 --- a/app/views/shared/_address_fields.html.erb +++ b/app/views/shared/_address_fields.html.erb @@ -1,13 +1,14 @@ <% field_name_prefix = subject.present? ? "#{subject}_" : "" %> +<% required = required || false %>
- <%= form.text_field "#{field_name_prefix}address_street1", wrapper_class: "col-sm-6" %> + <%= form.text_field "#{field_name_prefix}address_street1", required: required, wrapper_class: "col-sm-6" %> <%= form.text_field "#{field_name_prefix}address_street2", wrapper_class: "col-sm-6" %>
- <%= form.text_field "#{field_name_prefix}address_city", wrapper_class: "col-sm-6" %> - <%= form.text_field "#{field_name_prefix}address_state", wrapper_class: "col-sm-3" %> - <%= form.text_field "#{field_name_prefix}address_zip", wrapper_class: "col-sm-3" %> + <%= form.text_field "#{field_name_prefix}address_city", required: required, wrapper_class: "col-sm-6" %> + <%= form.text_field "#{field_name_prefix}address_state", required: required, wrapper_class: "col-sm-3" %> + <%= form.text_field "#{field_name_prefix}address_zip", required: required, wrapper_class: "col-sm-3" %>
<%= form.form_group "#{field_name_prefix}address_country" do %> <%= form.label "#{field_name_prefix}address_country" %> -- 2.47.3 From a9984d1af06b3f94c49b46cbdbf1d3cf59008d18 Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 17:21:46 +0200 Subject: [PATCH 15/16] make guardian address field required only for minors --- app/views/public/appearance_releases/new.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/public/appearance_releases/new.html.erb b/app/views/public/appearance_releases/new.html.erb index ab2ff85..99d4c40 100644 --- a/app/views/public/appearance_releases/new.html.erb +++ b/app/views/public/appearance_releases/new.html.erb @@ -79,7 +79,7 @@
<%= form.text_field :guardian_email, required: @appearance_release.minor?, wrapper_class: "col-sm-6" %>
- <%= render "shared/address_fields", form: form, subject: "guardian", required: true %> + <%= render "shared/address_fields", form: form, subject: "guardian", required: @appearance_release.minor? %> <% end %>
-- 2.47.3 From 07d4ac07520c4d7f21e10f9af0d64847d0abe2a4 Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 17:40:22 +0200 Subject: [PATCH 16/16] fix specs --- .../user_managing_appearance_releases_spec.rb | 50 ++++++++++++++++--- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/spec/features/user_managing_appearance_releases_spec.rb b/spec/features/user_managing_appearance_releases_spec.rb index fe7dde8..33e1eb3 100644 --- a/spec/features/user_managing_appearance_releases_spec.rb +++ b/spec/features/user_managing_appearance_releases_spec.rb @@ -19,7 +19,7 @@ feature 'User managing appearance releases' do fill_in person_first_name_field, with: 'Jane' fill_in person_last_name_field, with: 'Doe' - fill_in person_address_field, with: '123 Test Lane, New York, NY 10000' + fill_in_person_address_fields fill_in person_phone_field, with: '555-555-5555' fill_in person_email_field, with: 'jane.doe@test.com' fill_in person_date_of_birth, with: '01/01/1999' @@ -52,7 +52,7 @@ feature 'User managing appearance releases' do fill_in guardian_phone_field, with: '001101' fill_in person_first_name_field, with: 'Jane' fill_in person_last_name_field, with: 'Doe' - fill_in person_address_field, with: '123 Test Lane, New York, NY 10000' + fill_in_person_address_fields fill_in person_phone_field, with: '555-555-5555' fill_in person_email_field, with: 'jane.doe@test.com' fill_in person_date_of_birth, with: '01/01/1999' @@ -65,7 +65,7 @@ feature 'User managing appearance releases' do expect(page).to have_content('Guardian email is not an email') fill_in guardian_email_field, with: 'valid@email.com' - fill_in guardian_address_field, with: '123 Test Lane, New York, NY 10000' + fill_in_guardian_address_fields attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64' click_button submit_release_button @@ -470,8 +470,20 @@ feature 'User managing appearance releases' do 'Guardian email' end - def guardian_address_field - 'Guardian address' + def guardian_address_street1_field + t('helpers.label.appearance_release.guardian_address_street1') + end + + def guardian_address_city_field + t('helpers.label.appearance_release.guardian_address_city') + end + + def guardian_address_state_field + t('helpers.label.appearance_release.guardian_address_state') + end + + def guardian_address_zip_field + t('helpers.label.appearance_release.guardian_address_zip') end def guardian_photo_field @@ -490,10 +502,36 @@ feature 'User managing appearance releases' do t('helpers.label.appearance_release.person_last_name') end - def person_address_field + def fill_in_person_address_fields + fill_in person_address_street1_field, with: "123 Test Lane" + fill_in person_address_city_field, with: "New York" + fill_in person_address_state_field, with: "NY" + fill_in person_address_zip_field, with: '1000' + end + + def fill_in_guardian_address_fields + fill_in guardian_address_street1_field, with: "124 Test Lane" + fill_in guardian_address_city_field, with: "New York" + fill_in guardian_address_state_field, with: "NY" + fill_in guardian_address_zip_field, with: '1000' + end + + def person_address_street1_field t('helpers.label.appearance_release.person_address_street1') end + def person_address_city_field + t('helpers.label.appearance_release.person_address_city') + end + + def person_address_state_field + t('helpers.label.appearance_release.person_address_state') + end + + def person_address_zip_field + t('helpers.label.appearance_release.person_address_zip') + end + def person_email_field t('helpers.label.appearance_release.person_email') end -- 2.47.3