diff --git a/app/controllers/material_releases_controller.rb b/app/controllers/material_releases_controller.rb
index e4d6ff1..3a83b4a 100644
--- a/app/controllers/material_releases_controller.rb
+++ b/app/controllers/material_releases_controller.rb
@@ -50,11 +50,58 @@ class MaterialReleasesController < ApplicationController
private
+ def person_params
+ %i[
+ person_first_name
+ person_last_name
+ person_phone
+ person_company
+ person_email
+ person_title
+ person_address_street1
+ person_address_street2
+ person_address_city
+ person_address_state
+ person_address_zip
+ person_address_country
+ ]
+ 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 second_guardian_params
+ %i[
+ guardian_2_first_name
+ guardian_2_last_name
+ guardian_2_phone
+ guardian_2_email
+ guardian_2_photo
+ guardian_2_address_street1
+ guardian_2_address_street2
+ guardian_2_address_city
+ guardian_2_address_state
+ guardian_2_address_zip
+ guardian_2_address_country
+ ]
+ end
+
def material_release_params
- params.require(:material_release).permit(
+ params.require(:material_release).permit(person_params, guardian_params, second_guardian_params, :minor,
:name, :address_street1, :address_street2, :address_city, :address_state, :address_zip, :address_country,
- :person_first_name, :person_last_name, :person_title, :person_company, :person_phone, :person_email,
- :person_address_street1, :person_address_street2, :person_address_city, :person_address_state, :person_address_zip, :person_address_country,
:applicable_medium_id, :applicable_medium_text,
:territory_id, :territory_text,
:term_id, :term_text,
diff --git a/app/controllers/public/material_releases_controller.rb b/app/controllers/public/material_releases_controller.rb
index 5aef717..2cfcf14 100644
--- a/app/controllers/public/material_releases_controller.rb
+++ b/app/controllers/public/material_releases_controller.rb
@@ -39,11 +39,59 @@ class Public::MaterialReleasesController < Public::BaseController
authorize material_releases.build(params)
end
+ def person_params
+ %i[
+ person_first_name
+ person_last_name
+ person_phone
+ person_email
+ person_title
+ person_company
+ person_address_street1
+ person_address_street2
+ person_address_city
+ person_address_state
+ person_address_zip
+ person_address_country
+ ]
+ 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 second_guardian_params
+ %i[
+ guardian_2_first_name
+ guardian_2_last_name
+ guardian_2_phone
+ guardian_2_email
+ guardian_2_photo
+ guardian_2_address_street1
+ guardian_2_address_street2
+ guardian_2_address_city
+ guardian_2_address_state
+ guardian_2_address_zip
+ guardian_2_address_country
+ ]
+ end
+
+
def material_release_params
- params.require(:material_release).permit(
+ params.require(:material_release).permit(person_params, guardian_params, second_guardian_params, :minor,
:name, :address_street1, :address_street2, :address_city, :address_state, :address_zip, :address_country,
- :person_first_name, :person_last_name, :person_title, :person_company, :person_phone, :person_email,
- :person_address_street1, :person_address_street2, :person_address_city, :person_address_state, :person_address_zip, :person_address_country,
:signature_base64,
:locale, :contract_template, :description, photos: []
)
diff --git a/app/models/material_release.rb b/app/models/material_release.rb
index 874981b..258a33a 100644
--- a/app/models/material_release.rb
+++ b/app/models/material_release.rb
@@ -12,6 +12,11 @@ class MaterialRelease < ApplicationRecord
include PersonName
include CsvExportable
include Approvable
+ include GuardianPhotoable
+ include SecondGuardianPhotoable
+ include GuardianName
+ include SecondGuardianName
+
class << self
def custom_csv_exportable_headers
@@ -30,6 +35,39 @@ class MaterialRelease < 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]
+ ]
+
+ composed_of :guardian_2_address,
+ class_name: 'Address',
+ mapping: [
+ %w[guardian_2_address_street1 street1],
+ %w[guardian_2_address_street2 street2],
+ %w[guardian_2_address_city city],
+ %w[guardian_2_address_state state],
+ %w[guardian_2_address_zip zip],
+ %w[guardian_2_address_country country]
+ ]
+
+ # We don't care for the argument but method WILL receive option name
+ # when called from inside with_option block, hence * argument
+ def self.face_photo_acceptable_content_types(*)
+ ['image/png', 'image/jpeg']
+ end
+
+ def self.acceptable_import_file_extensions
+ ['.png', '.jpeg', '.jpg', '.pdf']
+ end
+
+
validates :name, presence: true
validates :person_email, email: true, allow_blank: true
@@ -47,8 +85,8 @@ class MaterialRelease < ApplicationRecord
@contact_person ||= Contact.new(person_name, person_address, person_email, person_phone)
end
- def minor?
- false
+ def second_guardian_present?
+ guardian_2_first_name.present?
end
def uses_edl?
diff --git a/app/views/contract_templates/_form.html.erb b/app/views/contract_templates/_form.html.erb
index 15d37ff..23e0d74 100644
--- a/app/views/contract_templates/_form.html.erb
+++ b/app/views/contract_templates/_form.html.erb
@@ -2,7 +2,7 @@
<%= field_set_tag content_tag(:span, t(".release_info.heading"), class: "h6 text-muted text-uppercase") do %>
<%= form.text_field :name, wrapper_class: "col-sm-6" %>
- <%= form.select :release_type, options_for_release_type_select(project, @release_type), { wrapper_class: "col-sm-6" }, data: { toggle: "collapse-select", target_show_values_mapping: { "#guardian_clause": %w(appearance talent misc medical), "#fee_field": %w(appearance talent location material acquired_media), "#exploitable_rights_fields": %w(appearance talent location material acquired_media), "#custom_fields": %w(medical misc), "#amendment_clause": %w(location) } }, class: "form-control custom-select" %>
+ <%= form.select :release_type, options_for_release_type_select(project, @release_type), { wrapper_class: "col-sm-6" }, data: { toggle: "collapse-select", target_show_values_mapping: { "#guardian_clause": %w(appearance talent material misc medical), "#fee_field": %w(appearance talent location material acquired_media), "#exploitable_rights_fields": %w(appearance talent location material acquired_media), "#custom_fields": %w(medical misc), "#amendment_clause": %w(location) } }, class: "form-control custom-select" %>
<%= form.radio_button :accessibility, :public_template, label: "Public", wrapper_class: "mr-3" %>
diff --git a/app/views/material_releases/_form.html.erb b/app/views/material_releases/_form.html.erb
index 2256596..ecfc028 100644
--- a/app/views/material_releases/_form.html.erb
+++ b/app/views/material_releases/_form.html.erb
@@ -12,6 +12,9 @@
<%= field_set_tag content_tag(:span, t(".signer_details.heading"), class: "h6 text-muted text-uppercase") do %>
+ <%= form.form_group :minor do %>
+ <%= form.check_box :minor, label: t("helpers.label.material_release.minor"), data: { target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
+ <% end %>
<%= form.text_field :person_first_name, wrapper_class: "col-sm-6" %>
<%= form.text_field :person_last_name, wrapper_class: "col-sm-6" %>
@@ -21,6 +24,28 @@
<%= form.text_field :person_title, wrapper_class: "col-sm-6" %>
<%= render "shared/address_fields", form: form, subject: "person" %>
+
+
!material_release.minor?) %>" data-ujs-target="guardian-fields">
+ <%= card_field_set_tag t(".guardian_info.heading") do %>
+
+ <%= form.text_field :guardian_first_name, required: material_release.minor?, wrapper_class: "col-sm-3" %>
+ <%= form.text_field :guardian_last_name, required: material_release.minor?, wrapper_class: "col-sm-3" %>
+ <%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6" %>
+ <%= form.text_field :guardian_email, wrapper_class: "col-sm-6" %>
+
+ <%= render "shared/address_fields", form: form, subject: "guardian" %>
+ <% end %>
+
+ <%= card_field_set_tag t(".guardian_2_info.heading") do %>
+
+ <%= form.text_field :guardian_2_first_name, wrapper_class: "col-sm-3" %>
+ <%= form.text_field :guardian_2_last_name, wrapper_class: "col-sm-3" %>
+ <%= form.phone_field :guardian_2_phone, wrapper_class: "col-sm-6" %>
+ <%= form.text_field :guardian_2_email, wrapper_class: "col-sm-6" %>
+
+ <%= render "shared/address_fields", form: form, subject: "guardian_2" %>
+ <% end %>
+
<% end %>
@@ -34,6 +59,44 @@
<%= field_set_tag content_tag(:span, t(".photos.heading"), class: "h6 text-muted text-uppercase") do %>
<%= render "shared/photos_dropzone_fields", form: form, release: material_release %>
+
+
!material_release.minor?) %>" data-ujs-target="guardian-fields">
+
+
+
<%= t(".photos.guardian_photo.heading") %>
+
+ <% if material_release.guardian_photo.attached? %>
+ <%= javascript_tag nonce: true do %>
+ App.PhotoPreview.set("#guardian-photo-preview", "<%= url_for(material_release.guardian_photo.variant(auto_orient: true, resize: '200x200')) %>");
+ <% end %>
+ <% end %>
+
+ <%= form.hidden_field :guardian_photo, value: form.object.guardian_photo.signed_id if material_release.guardian_photo.attached?%>
+ <%= form.file_field :guardian_photo, hide_label: true, data: { ujs_target: "guardian-photo-input" }, help: "PNG or JPG only", accept: material_release.class.face_photo_acceptable_content_types.join(",") %>
+
+
+
<%= t(".photos.guardian_2_photo.heading") %>
+
+ <% if material_release.guardian_2_photo.attached? %>
+ <%= javascript_tag nonce: true do %>
+ App.PhotoPreview.set("#guardian-2-photo-preview", "<%= url_for(material_release.guardian_2_photo.variant(auto_orient: true, resize: '200x200')) %>");
+ <% end %>
+ <% end %>
+
+ <%= form.hidden_field :guardian_2_photo, value: form.object.guardian_2_photo.signed_id if material_release.guardian_2_photo.attached?%>
+ <%= form.file_field :guardian_2_photo, hide_label: true, data: { ujs_target: "guardian-2-photo-input" }, help: "PNG or JPG only", accept: material_release.class.face_photo_acceptable_content_types.join(",") %>
+
+
+
+
<% end %>
diff --git a/app/views/public/material_releases/new.html.erb b/app/views/public/material_releases/new.html.erb
index 6e756e4..cb650f8 100644
--- a/app/views/public/material_releases/new.html.erb
+++ b/app/views/public/material_releases/new.html.erb
@@ -13,6 +13,17 @@
+ <% unless @contract_template.guardian_clause.blank? %>
+ <%= form.form_group :minor do %>
+ <%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { behavior: "update-required-status", target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
+ <% end %>
+
+ <%= card_field_set_tag t(".guardian_clause.heading") do %>
+
<%= @contract_template.guardian_clause %>
+ <% end %>
+
+ <% end %>
+
<%= card_field_set_tag t(".release_info.heading") do %>
<%= form.text_field :name, required: true, wrapper_class: "col-12" %>
@@ -40,6 +51,91 @@
+ <% unless @contract_template.guardian_clause.blank? %>
+
!@material_release.minor?) %>" data-ujs-target="guardian-fields">
+ <%= card_field_set_tag t(".guardian_info.heading") do %>
+
+ <%= form.text_field :guardian_first_name, required: @material_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
+ <%= form.text_field :guardian_last_name, required: @material_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
+ <%= form.phone_field :guardian_phone, required: @material_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
+ <%= form.text_field :guardian_email, required: @material_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
+
+ <%= render "shared/address_fields", form: form, subject: "guardian", required: @material_release.minor?, data: { required_tag: "guardian" } %>
+ <% end %>
+
+
+
+ <%= card_field_set_tag t(".guardian_photo.heading") do %>
+
<%= t ".guardian_photo.instructions" %>
+
+
+
+ <%= t ".photo.no_photo" %>
+
+
+
+ <% if @material_release.guardian_photo.attached? %>
+ <%= javascript_tag nonce: true do %>
+ App.PhotoPreview.set("[data-behavior=guardian-photo-preview]", "<%= url_for(@material_release.guardian_photo.variant(auto_orient: true, resize: '200x200')) %>");
+ <% end %>
+ <% end %>
+
+ <%= form.hidden_field :guardian_photo, value: form.object.guardian_photo.signed_id if @material_release.guardian_photo.attached? %>
+ <%= form.file_field :guardian_photo, required: @material_release.minor?, hide_label: true, data: { ujs_target: "guardian-photo-input" }, accept: @material_release.class.face_photo_acceptable_content_types.join(","), direct_upload: true %>
+
+ <%= button_tag t(".photo.take_photo"), type: "button", class: "btn btn-lg btn-primary take-photo-button", data: { behavior: "trigger-click", target: "[data-ujs-target=guardian-photo-input]" } %>
+
+
+ <%= t ".photo.warning" %>
+
+
+ <% end %>
+
+
+
+ <%= card_field_set_tag t(".guardian_2_info.heading") do %>
+
+ <%= form.text_field :guardian_2_first_name, wrapper_class: "col-sm-3" %>
+ <%= form.text_field :guardian_2_last_name, wrapper_class: "col-sm-3" %>
+ <%= form.phone_field :guardian_2_phone, wrapper_class: "col-sm-6" %>
+ <%= form.text_field :guardian_2_email, wrapper_class: "col-sm-6" %>
+
+ <%= render "shared/address_fields", form: form, subject: "guardian_2" %>
+ <% end %>
+
+
+
+ <%= card_field_set_tag t(".guardian_2_photo.heading") do %>
+
<%= t ".guardian_2_photo.instructions" %>
+
+
+
+ <%= t ".photo.no_photo" %>
+
+
+
+ <% if @material_release.guardian_2_photo.attached? %>
+ <%= javascript_tag nonce: true do %>
+ App.PhotoPreview.set("[data-behavior=guardian-photo-preview]", "<%= url_for(@material_release.guardian_2_photo.variant(auto_orient: true, resize: '200x200')) %>");
+ <% end %>
+ <% end %>
+
+ <%= form.hidden_field :guardian_2_photo, value: form.object.guardian_2_photo.signed_id if @material_release.guardian_2_photo.attached? %>
+ <%= form.file_field :guardian_2_photo, hide_label: true, data: { ujs_target: "guardian-2-photo-input" }, accept: @material_release.class.face_photo_acceptable_content_types.join(","), direct_upload: true %>
+
+ <%= button_tag t(".photo.take_photo"), type: "button", class: "btn btn-lg btn-primary take-photo-button", data: { behavior: "trigger-click", target: "[data-ujs-target=guardian-2-photo-input]" } %>
+
+
+ <%= t ".photo.warning" %>
+
+
+ <% end %>
+
+
+
+
+ <% end %>
+
<%= card_field_set_tag t(".signature.heading") do %>
<%= render "shared/signature_fields", form: form, instruction: 'For Owner or Authorized Signatory', signature_legal_text: @contract_template.signature_legal_text %>
<% end %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 7363cdd..2804b53 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -500,6 +500,27 @@ en:
person_first_name: Owner first name
person_last_name: Owner last name
material_release:
+ guardian_2_address_city: Guardian 2 city
+ guardian_2_address_country: Guardian 2 country
+ guardian_2_address_state: Guardian 2 state
+ guardian_2_address_street1: Guardian 2 address
+ guardian_2_address_street2: Guardian 2 address (Line 2)
+ guardian_2_address_zip: Guardian 2 zip code
+ guardian_2_email: Guardian 2 email
+ guardian_2_first_name: Guardian 2 first name
+ guardian_2_last_name: Guardian 2 last name
+ guardian_2_phone: Guardian 2 phone
+ 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
+ guardian_email: Guardian email
+ guardian_first_name: Guardian first name
+ guardian_last_name: Guardian last name
+ guardian_phone: Guardian phone
+ minor: Is the person a minor?
description: Description of licensed material
name: Name of licensed material
person_address: Address
@@ -820,7 +841,15 @@ en:
heading: 3 of 4 Contract & Exploitable Rights
material_details:
heading: 1 of 3 Material Details
+ guardian_2_info:
+ heading: Second Guardian Information (if company requires)
+ guardian_info:
+ heading: Guardian Information
photos:
+ guardian_2_photo:
+ heading: Second Guardian Photo
+ guardian_photo:
+ heading: Guardian Photo
dropzone_label: Tap to take a photo of Licensed Material (optional)
heading: 4 of 4 Photos
signer_details:
@@ -1128,6 +1157,18 @@ en:
create:
notice: Your release has been signed. Thank you!
new:
+ guardian_2_info:
+ heading: Second Guardian Information (if company requires)
+ guardian_2_photo:
+ heading: Second Guardian Photo
+ instructions: >
+ Lastly, it's time for second guardian to take a selfie photo! Please remove your hat and sunglasses (regular eyewear is ok), make sure that you are the only person in the photo, look straight into the camera, and say Cheese!
+ guardian_info:
+ heading: Guardian Information
+ guardian_photo:
+ heading: Guardian Photo
+ instructions: >
+ Lastly, it's time for guardian to take a selfie photo! Please remove your hat and sunglasses (regular eyewear is ok), make sure that you are the only person in the photo, look straight into the camera, and say Cheese!
cancel: Cancel
contact_info:
heading: Licensor/Owner Contact Information
@@ -1135,10 +1176,15 @@ en:
heading: Legal
photo:
heading: Photos
+ no_photo: No photo yet
+ take_photo: Take Photo
+ warning: If your photo appears sideways, it will be autocorrected when you submit your release.
release_info:
heading: Release Information
signature:
heading: Sign Below
+ guardian_clause:
+ heading: Guardian Clause
medical_releases:
create:
notice: Your release has been signed. Thank you!
diff --git a/config/locales/es.yml b/config/locales/es.yml
index a4a4688..d38afc8 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -250,6 +250,29 @@ es:
person_email: Dirección de correo electrónico
person_name: Nómbre
person_phone: Número de teléfono
+ material_release:
+ guardian_2_address_city: Guardian 2 city (ES)
+ guardian_2_address_country: Guardian 2 country (ES)
+ guardian_2_address_state: Guardian 2 state (ES)
+ guardian_2_address_street1: Guardian 2 address (ES)
+ guardian_2_address_street2: Guardian 2 address (Line 2) (ES)
+ guardian_2_address_zip: Guardian 2 zip code (ES)
+ guardian_2_email: Guardian 2 email (ES)
+ guardian_2_first_name: Guardian 2 first name (ES)
+ guardian_2_last_name: Guardian 2 last name (ES)
+ guardian_2_phone: Guardian 2 phone (ES)
+ 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)
+ guardian_email: Guardian email (ES)
+ guardian_first_name: Guardian first name (ES)
+ guardian_last_name: Guardian last name (ES)
+ guardian_name: Nómbre del tutor legal
+ guardian_phone: Número de teléfono del tutor legal
+ minor: El firmante es un menor
medical_release:
guardian_2_address_city: Guardian 2 city (ES)
guardian_2_address_country: Guardian 2 country (ES)
@@ -336,6 +359,8 @@ es:
contract_template:
update: Save changes (ES)
create: 'Crear %{model}'
+ material_release:
+ create: Import Release (ES)
medical_release:
update: Approve (ES)
update: 'Actualizar %{model}'
@@ -356,8 +381,18 @@ es:
amendment_not_signed_tooltip: Amendment not yet signed (ES)
amendment_signed_tooltip: Amendment Signed (ES)
material_releases:
+ create:
+ notice: The acquired media release has been created (ES)
form:
+ guardian_2_info:
+ heading: Guardian Information (if company requires) [ES]
+ guardian_info:
+ heading: Guardian Information (ES)
photos:
+ guardian_2_photo:
+ heading: Second Guardian Photo
+ guardian_photo:
+ heading: Guardian Photo
dropzone_label: Tap to take a photo of Licensed Material (optional) (ES)
index:
table_headers:
@@ -450,8 +485,25 @@ es:
heading: Photos (ES)
material_releases:
new:
+ guardian_2_info:
+ heading: Second Guardian Information (if company requires) [ES]
+ guardian_2_photo:
+ heading: Second Guardian Photo (ES)
+ instructions: >
+ (ES) Lastly, it's time for second guardian to take a selfie photo! Please remove your hat and sunglasses (regular eyewear is ok), make sure that you are the only person in the photo, look straight into the camera, and say Cheese! (ES)
+ guardian_clause:
+ heading: Guardian Clause (ES)
+ guardian_info:
+ heading: Guardian Information (ES)
+ guardian_photo:
+ heading: Guardian Photo (ES)
+ instructions: >
+ (ES) Lastly, it's time for guardian to take a selfie photo! Please remove your hat and sunglasses (regular eyewear is ok), make sure that you are the only person in the photo, look straight into the camera, and say Cheese! (ES)
photo:
heading: Photos (ES)
+ no_photo: No photo yet (ES)
+ take_photo: Take Photo (ES)
+ warning: If your photo appears sideways, it will be autocorrected when you submit your release. (ES)
medical_releases:
new:
guardian_2_info:
diff --git a/db/migrate/20200727143209_add_guardians_fields_to_material_releases.rb b/db/migrate/20200727143209_add_guardians_fields_to_material_releases.rb
new file mode 100644
index 0000000..8a06faf
--- /dev/null
+++ b/db/migrate/20200727143209_add_guardians_fields_to_material_releases.rb
@@ -0,0 +1,25 @@
+class AddGuardiansFieldsToMaterialReleases < ActiveRecord::Migration[6.0]
+ def change
+ add_column :material_releases, :minor, :boolean, default: false
+ add_column :material_releases, :guardian_first_name, :string
+ add_column :material_releases, :guardian_last_name, :string
+ add_column :material_releases, :guardian_email, :string
+ add_column :material_releases, :guardian_phone, :string
+ add_column :material_releases, :guardian_address_street1, :string
+ add_column :material_releases, :guardian_address_street2, :string
+ add_column :material_releases, :guardian_address_city, :string
+ add_column :material_releases, :guardian_address_state, :string
+ add_column :material_releases, :guardian_address_zip, :string
+ add_column :material_releases, :guardian_address_country, :string
+ add_column :material_releases, :guardian_2_first_name, :string
+ add_column :material_releases, :guardian_2_last_name, :string
+ add_column :material_releases, :guardian_2_email, :string
+ add_column :material_releases, :guardian_2_phone, :string
+ add_column :material_releases, :guardian_2_address_street1, :string
+ add_column :material_releases, :guardian_2_address_street2, :string
+ add_column :material_releases, :guardian_2_address_city, :string
+ add_column :material_releases, :guardian_2_address_state, :string
+ add_column :material_releases, :guardian_2_address_zip, :string
+ add_column :material_releases, :guardian_2_address_country, :string
+ end
+end
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 76a20f1..0a15802 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -981,7 +981,28 @@ CREATE TABLE public.material_releases (
person_last_name character varying,
approved_by_user_name text,
approved_by_user_email text,
- approved_at timestamp without time zone
+ approved_at timestamp without time zone,
+ minor boolean DEFAULT false,
+ guardian_first_name character varying,
+ guardian_last_name character varying,
+ guardian_email character varying,
+ guardian_phone character varying,
+ guardian_address_street1 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,
+ guardian_2_first_name character varying,
+ guardian_2_last_name character varying,
+ guardian_2_email character varying,
+ guardian_2_phone character varying,
+ guardian_2_address_street1 character varying,
+ guardian_2_address_street2 character varying,
+ guardian_2_address_city character varying,
+ guardian_2_address_state character varying,
+ guardian_2_address_zip character varying,
+ guardian_2_address_country character varying
);
@@ -3944,6 +3965,7 @@ INSERT INTO "schema_migrations" (version) VALUES
('20200716105723'),
('20200720051634'),
('20200720131309'),
-('20200721140821');
+('20200721140821'),
+('20200727143209');