From 50d8ea158e9d4c1aed612284b7e42bbbce44f2a9 Mon Sep 17 00:00:00 2001 From: bilal Date: Tue, 16 Jun 2020 13:29:13 +0200 Subject: [PATCH 1/5] destructure guardian address field for appearance release --- .../appearance_releases_controller.rb | 2 +- .../public/appearance_releases_controller.rb | 18 ++++++++++++- 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, 108 insertions(+), 10 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 a05e958..2035e00 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, :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 4bd3d9f..499ab2a 100644 --- a/app/controllers/public/appearance_releases_controller.rb +++ b/app/controllers/public/appearance_releases_controller.rb @@ -39,9 +39,25 @@ class Public::AppearanceReleasesController < Public::BaseController authorize appearance_releases.build(params) 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_address, :person_first_name, :person_last_name, :person_phone, :person_email, :person_photo, - :guardian_address, :guardian_first_name, :guardian_last_name, :guardian_phone, :guardian_email, :guardian_photo, :minor, + guardian_params, :minor, :signature_base64, :person_date_of_birth, :locale, :contract_template,) end diff --git a/app/models/appearance_release.rb b/app/models/appearance_release.rb index 9a587c7..a3441c3 100644 --- a/app/models/appearance_release.rb +++ b/app/models/appearance_release.rb @@ -16,6 +16,18 @@ class AppearanceRelease < ApplicationRecord has_one_attached :person_photo + 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 @@ -73,6 +85,19 @@ class AppearanceRelease < ApplicationRecord searchable_on %i[person_first_name person_last_name person_address person_email 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 0f9d150..e8a0457 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 a612e02..69c0603 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, wrapper_class: "col-sm-6" %>
-
- <%= form.text_field :guardian_address, 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 7073de2..d716704 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -336,6 +336,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 be353f4..d1467a8 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 minor: El firmante es un menor @@ -123,6 +124,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 3130922..a0f9a7e 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 afcec4e..ffaffb8 100644 --- a/spec/factories/appearance_releases.rb +++ b/spec/factories/appearance_releases.rb @@ -31,7 +31,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 @@ -40,9 +45,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 7cdf8ec..472bcd2 100644 --- a/spec/models/contract_template_preview_spec.rb +++ b/spec/models/contract_template_preview_spec.rb @@ -54,7 +54,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 f2b6bf8351546da9be69fcd4208693a5cbb13741 Mon Sep 17 00:00:00 2001 From: bilal Date: Wed, 17 Jun 2020 09:44:34 +0200 Subject: [PATCH 2/5] 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 2035e00..f22aa39 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, :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 a3441c3..5fd1bc5 100644 --- a/app/models/appearance_release.rb +++ b/app/models/appearance_release.rb @@ -85,19 +85,6 @@ class AppearanceRelease < ApplicationRecord searchable_on %i[person_first_name person_last_name person_address person_email 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 e8a0457..9541d53 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 d716704..2b876c5 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -336,7 +336,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 d1467a8..84601e9 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 minor: El firmante es un menor 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 a0f9a7e..b41237c 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 ffaffb8..683a935 100644 --- a/spec/factories/appearance_releases.rb +++ b/spec/factories/appearance_releases.rb @@ -53,7 +53,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 472bcd2..d026070 100644 --- a/spec/models/contract_template_preview_spec.rb +++ b/spec/models/contract_template_preview_spec.rb @@ -54,7 +54,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 0c669ab3f3adcb9bace9978a17247fba7b68364a Mon Sep 17 00:00:00 2001 From: bilal Date: Wed, 17 Jun 2020 15:06:30 +0200 Subject: [PATCH 3/5] 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..a6a513d 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, @@ -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, + 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 ); @@ -3654,6 +3659,7 @@ INSERT INTO "schema_migrations" (version) VALUES ('20200610085411'), ('20200610140459'), ('20200612121539'), -('20200615131722'); +('20200615131722'), +('20200616124214'); -- 2.47.3 From fd2b33039c3009b2425c28ef8a98df73bcadb075 Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 09:39:38 +0200 Subject: [PATCH 4/5] 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 84601e9..37aea16 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 minor: El firmante es un menor diff --git a/spec/factories/appearance_releases.rb b/spec/factories/appearance_releases.rb index 683a935..f62d176 100644 --- a/spec/factories/appearance_releases.rb +++ b/spec/factories/appearance_releases.rb @@ -47,13 +47,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 13084cc4a30ac38fc4c0a3d5f2aad790fa0ff003 Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 18 Jun 2020 09:47:40 +0200 Subject: [PATCH 5/5] 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