666 lines
25 KiB
Ruby
666 lines
25 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
feature 'User managing appearance releases' do
|
|
let(:current_user) { create(:user, :manager) }
|
|
let(:project) { create(:project, members: current_user, account: current_user.primary_account) }
|
|
|
|
context 'when signed out' do
|
|
scenario 'creating a release for an adult', js: true do
|
|
allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true))
|
|
|
|
project = create(:project, members: current_user, account: current_user.primary_account)
|
|
contract_template = create(:contract_template, project: project)
|
|
|
|
visit new_account_project_contract_template_appearance_release_path(project.account, project, contract_template)
|
|
|
|
expect(page).to have_photo_button
|
|
|
|
fill_in person_first_name_field, with: 'Jane'
|
|
fill_in person_last_name_field, with: 'Doe'
|
|
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'
|
|
attach_file person_photo_field, file_fixture('person_photo.png'), visible: :all
|
|
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
|
|
click_button submit_release_button
|
|
|
|
expect(page).to have_content(successful_submission_message)
|
|
end
|
|
|
|
scenario 'creating a release for a minor', js: true do
|
|
allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true))
|
|
|
|
project = create(:project, members: current_user, account: current_user.primary_account)
|
|
contract_template = create(:contract_template, project: project)
|
|
|
|
visit new_account_project_contract_template_appearance_release_path(project.account, project, contract_template)
|
|
|
|
expect(page).to have_photo_button
|
|
expect(page).not_to have_content('GUARDIAN INFORMATION')
|
|
expect(page).not_to have_content('GUARDIAN PHOTO')
|
|
|
|
page.check person_is_minor_checkbox
|
|
expect(page).to have_content('GUARDIAN INFORMATION')
|
|
expect(page).to have_content('GUARDIAN PHOTO')
|
|
expect(page).to have_content 'Guardian Email'
|
|
|
|
fill_in guardian_first_name_field, with: 'Guardian'
|
|
fill_in guardian_last_name_field, with: 'Name'
|
|
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_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'
|
|
attach_file person_photo_field, file_fixture('person_photo.png'), visible: :all
|
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
|
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
|
|
|
|
fill_in guardian_email_field, with: 'invalid@email'
|
|
click_button submit_release_button
|
|
expect(page).to have_content('Guardian email is not an email')
|
|
|
|
fill_in guardian_email_field, with: 'valid@email.com'
|
|
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
|
|
|
|
expect(page).to have_content(successful_submission_message)
|
|
end
|
|
|
|
scenario 'creating a release for a minor with two guardians', js: true do
|
|
allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true))
|
|
|
|
project = create(:project, members: current_user, account: current_user.primary_account)
|
|
contract_template = create(:contract_template, project: project)
|
|
|
|
visit new_account_project_contract_template_appearance_release_path(project.account, project, contract_template)
|
|
|
|
expect(page).to have_photo_button
|
|
expect(page).not_to have_content('SECOND GUARDIAN INFORMATION')
|
|
expect(page).not_to have_content('SECOND GUARDIAN PHOTO')
|
|
|
|
page.check person_is_minor_checkbox
|
|
expect(page).to have_content('GUARDIAN INFORMATION')
|
|
expect(page).to have_content('GUARDIAN PHOTO')
|
|
expect(page).to have_content 'Guardian Email'
|
|
|
|
expect(page).to have_content 'SECOND GUARDIAN INFORMATION'
|
|
expect(page).to have_content 'SECOND GUARDIAN PHOTO'
|
|
expect(page).to have_content 'Guardian 2 Email'
|
|
expect(page).to have_content 'Guardian 2 Phone'
|
|
expect(page).to have_content 'Guardian 2 Address'
|
|
|
|
fill_in guardian_first_name_field, with: 'Guardian'
|
|
fill_in guardian_last_name_field, with: 'Name'
|
|
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_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'
|
|
attach_file person_photo_field, file_fixture('person_photo.png'), visible: :all
|
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
|
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
|
|
|
|
fill_in guardian_email_field, with: 'invalid@email'
|
|
click_button submit_release_button
|
|
expect(page).to have_content('Guardian email is not an email')
|
|
|
|
fill_in guardian_email_field, with: 'valid@email.com'
|
|
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'
|
|
|
|
fill_in guardian_2_first_name_field, with: 'Second'
|
|
fill_in guardian_2_last_name_field, with: 'Guardian'
|
|
fill_in guardian_2_phone_field, with: '999'
|
|
|
|
click_button submit_release_button
|
|
|
|
expect(page).to have_content(successful_submission_message)
|
|
expect(AppearanceRelease.last.guardian_2_first_name).to eq 'Second'
|
|
end
|
|
end
|
|
|
|
context 'when signed in' do
|
|
before :each do
|
|
sign_in current_user
|
|
end
|
|
|
|
scenario 'editing non native release for adult', js: true do
|
|
appearance_release = create(:appearance_release, :non_native, project: project)
|
|
|
|
visit edit_appearance_release_path(appearance_release)
|
|
|
|
expect(page).not_to have_content('Guardian Photo')
|
|
|
|
by 'filling out the form' do
|
|
fill_in person_first_name_field, with: 'New John'
|
|
fill_in person_last_name_field, with: 'Doe'
|
|
fill_in person_email_field, with: 'john.doe@test.com'
|
|
select 'Other', from: 'Applicable Media'
|
|
fill_in 'Describe other applicable media', with: 'Test'
|
|
select 'Other', from: 'Territory'
|
|
fill_in 'Describe other territory', with: 'Test'
|
|
select 'Other', from: 'Term'
|
|
fill_in 'Describe other term', with: 'Test'
|
|
select 'Other', from: 'Restriction'
|
|
fill_in 'Describe other restrictions', with: 'Test'
|
|
end
|
|
|
|
click_button submit_update_button
|
|
|
|
expect(page).to have_content successful_update_message
|
|
expect(page).to have_content 'New John'
|
|
end
|
|
|
|
scenario 'editing non native release for minor', js: true do
|
|
appearance_release = create(:appearance_release, :non_native, :minor, project: project)
|
|
|
|
visit edit_appearance_release_path(appearance_release)
|
|
|
|
expect(page).to have_content('Guardian Photo')
|
|
|
|
by 'filling out the form' do
|
|
page.check person_is_minor_checkbox
|
|
fill_in guardian_first_name_field, with: 'Guardian'
|
|
fill_in guardian_last_name_field, with: 'Name'
|
|
fill_in guardian_phone_field, with: '00101'
|
|
fill_in person_first_name_field, with: 'New Jane'
|
|
fill_in person_last_name_field, with: 'Doe'
|
|
fill_in person_email_field, with: 'jane.doe@test.com'
|
|
select 'Other', from: 'Applicable Media'
|
|
fill_in 'Describe other applicable media', with: 'Test'
|
|
select 'Other', from: 'Territory'
|
|
fill_in 'Describe other territory', with: 'Test'
|
|
select 'Other', from: 'Term'
|
|
fill_in 'Describe other term', with: 'Test'
|
|
select 'Other', from: 'Restriction'
|
|
fill_in 'Describe other restrictions', with: 'Test'
|
|
end
|
|
|
|
expect(page).to have_content 'Guardian Photo'
|
|
|
|
click_button submit_update_button
|
|
|
|
expect(page).to have_content successful_update_message
|
|
expect(page).to have_content 'New Jane'
|
|
end
|
|
|
|
scenario 'progress bar shows when user imports a release', js: true do
|
|
visit project_appearance_releases_path(project)
|
|
|
|
expect(page).not_to have_css('#upload-progress-container')
|
|
large_pdf_file = build_large_pdf_file
|
|
attach_file import_appearance_release_field, Rails.root.join(large_pdf_file.path), visible: false
|
|
expect(page).to have_css('#upload-progress-container')
|
|
expect(page).to have_content submit_create_button, wait: 30
|
|
click_button submit_create_button
|
|
expect(page).to have_content matching_started
|
|
end
|
|
|
|
scenario 'MatchAppearanceReleasesJob is started when import is finished', js: true do
|
|
visit project_appearance_releases_path(project)
|
|
|
|
attach_file import_appearance_release_field, Rails.root.join(file_fixture('person_photo.png')), visible: false
|
|
allow(MatchAppearanceReleasesJob).to receive(:perform_later).with(project, anything)
|
|
click_button submit_create_button
|
|
expect(page).to have_content matching_started
|
|
visit project_appearance_releases_path(project)
|
|
expect(page).to have_content no_appearance_releases
|
|
end
|
|
|
|
scenario 'user leaving the page is presented with the warning if file upload is in progress', js: true do
|
|
skip "Test is inconsistently failing in CI"
|
|
|
|
visit project_appearance_releases_path(project)
|
|
|
|
expect(page).to have_content submit_create_button
|
|
expect(page).to have_content no_appearance_releases
|
|
|
|
large_pdf_file = build_large_pdf_file
|
|
attach_file import_appearance_release_field, Rails.root.join(large_pdf_file.path), visible: false
|
|
|
|
page.dismiss_confirm do
|
|
first('a', text: 'Files').click
|
|
end
|
|
|
|
expect(page).to have_content importing_label
|
|
# Here capybara automatically waits and submit button changes label from Importing... to Import Release again
|
|
expect(page).to have_content submit_create_button
|
|
|
|
first('a', text: 'Files').click
|
|
expect(page).not_to have_content no_appearance_releases
|
|
end
|
|
|
|
scenario 'updating a release' do
|
|
appearance_release = create(:appearance_release, :non_native, project: project)
|
|
|
|
visit edit_appearance_release_path(appearance_release)
|
|
|
|
fill_in person_first_name_field, with: 'New'
|
|
fill_in person_last_name_field, with: 'Name'
|
|
click_button submit_update_button
|
|
|
|
expect(page).to have_content(successful_update_message)
|
|
expect(page).to have_content('New Name')
|
|
end
|
|
|
|
scenario 'viewing the contract PDF' do
|
|
appearance_release = create(:appearance_release_with_contract_template,
|
|
:native,
|
|
project: project,
|
|
person_first_name: 'Jane',
|
|
person_last_name: 'Doe',
|
|
tag_list: 'Woman, Brunette',
|
|
notes: [
|
|
build(:note,
|
|
content: 'Note 1',
|
|
user: build(:user, email: 'jane.doe@test.com'),
|
|
email: 'jane.doe@test.com',
|
|
created_at: DateTime.new(2020, 2, 21, 12, 0, 0)),
|
|
build(:note,
|
|
content: 'Note 2',
|
|
user: build(:user, email: 'john.doe@test.com'),
|
|
email: 'john.doe@test.com',
|
|
created_at: DateTime.new(2020, 2, 20, 11, 0, 0))
|
|
])
|
|
|
|
sign_in(current_user)
|
|
visit project_appearance_releases_path(project)
|
|
click_link *view_release_pdf_link_for(appearance_release)
|
|
|
|
expect(content_type).to eq('application/pdf')
|
|
expect(content_disposition).to include('inline')
|
|
expect(pdf_filename).to include('doe-jane')
|
|
expect(pdf_body).to have_content('Jane Doe')
|
|
expect(pdf_body).to have_content('NOTES')
|
|
expect(pdf_body).to have_content('Note 1')
|
|
expect(pdf_body).to have_content('jane.doe@test.com')
|
|
expect(pdf_body).to have_content('2/21/20 12:00 PM')
|
|
expect(pdf_body).to have_content('Note 2')
|
|
expect(pdf_body).to have_content('john.doe@test.com')
|
|
expect(pdf_body).to have_content('2/20/20 11:00 AM')
|
|
expect(pdf_body).to have_content('TAGS')
|
|
expect(pdf_body).to have_content('Woman')
|
|
expect(pdf_body).to have_content('Brunette')
|
|
expect(pdf_body).not_to have_content('Guardian Email')
|
|
end
|
|
|
|
scenario 'viewing contract PDF for a minor without guardian photo' do
|
|
appearance_release = create(:appearance_release_with_contract_template, :native, :minor, project: project)
|
|
|
|
visit project_appearance_releases_path(project)
|
|
click_link *view_release_pdf_link_for(appearance_release)
|
|
|
|
expect(content_type).to eq('application/pdf')
|
|
expect(content_disposition).to include('inline')
|
|
expect(pdf_filename).to include(appearance_release.filename_suffix.parameterize)
|
|
expect(pdf_body).to have_content(appearance_release.name)
|
|
expect(pdf_body).to have_content(appearance_release.guardian_name)
|
|
expect(pdf_body).to have_content(appearance_release.guardian_email)
|
|
expect(pdf_body).to have_content photos_heading.upcase
|
|
expect(pdf_body).to have_content(appearance_release.photo.filename.to_s)
|
|
expect(pdf_body).to have_content('Guardian Email')
|
|
end
|
|
|
|
scenario 'viewing contract PDF for a minor with guardian photo' do
|
|
appearance_release = create(:appearance_release_with_contract_template, :native, :minor_with_guardian_photo, project: project)
|
|
|
|
visit project_appearance_releases_path(project)
|
|
click_link *view_release_pdf_link_for(appearance_release)
|
|
|
|
expect(content_type).to eq('application/pdf')
|
|
expect(content_disposition).to include('inline')
|
|
expect(pdf_filename).to include(appearance_release.filename_suffix.parameterize)
|
|
expect(pdf_body).to have_content(appearance_release.name)
|
|
expect(pdf_body).to have_content(appearance_release.guardian_name)
|
|
expect(pdf_body).to have_content(appearance_release.guardian_email)
|
|
expect(pdf_body).to have_content photos_heading(2).upcase
|
|
expect(pdf_body).to have_content(appearance_release.photo.filename.to_s)
|
|
expect(pdf_body).to have_content(appearance_release.guardian_photo.filename.to_s)
|
|
expect(pdf_body).to have_content('Guardian Email')
|
|
end
|
|
|
|
scenario 'deleting a release', js: true do
|
|
appearance_release = create(:appearance_release, project: project)
|
|
|
|
visit project_appearance_releases_path(project)
|
|
|
|
click_on 'Manage'
|
|
accept_alert do
|
|
click_link *destroy_link_for(appearance_release)
|
|
end
|
|
|
|
expect(page).to have_content(successful_destroy_message)
|
|
end
|
|
|
|
scenario 'searching for a release', js: true do
|
|
chris = create(:appearance_release, person_first_name: 'Chris', person_last_name: 'Evans', project: project)
|
|
robert = create(:appearance_release, person_first_name: 'Robert', person_last_name: 'Downey Jr.', project: project)
|
|
|
|
visit project_appearance_releases_path(project)
|
|
|
|
expect(page).to have_content('Chris Evans')
|
|
expect(page).to have_content('Robert Downey Jr.')
|
|
|
|
within 'form#search' do
|
|
fill_in 'Search', with: 'Robert'
|
|
click_on 'button'
|
|
end
|
|
|
|
expect(page).to have_content('Robert Downey Jr.')
|
|
expect(page).not_to have_content('Chris Evans')
|
|
expect(page).to have_field('Search', with: 'Robert')
|
|
end
|
|
|
|
scenario 'filtering for a release by complete/incomplete type', js: true do
|
|
create(:appearance_release, :without_person_photo, :non_native, person_first_name: 'Chris', person_last_name: 'Evans Incomplete', project: project)
|
|
create(:appearance_release, :non_native, person_first_name: 'Chris', person_last_name: 'Evans Complete', project: project)
|
|
create(:appearance_release, :without_person_photo, :non_native, person_first_name: 'Robert', person_last_name: 'Downey Jr. Incomplete', project: project)
|
|
create(:appearance_release, :non_native, person_first_name: 'Robert', person_last_name: 'Downey Jr. Complete', project: project)
|
|
|
|
visit project_appearance_releases_path(project)
|
|
|
|
expect(page).to have_content('Chris Evans Incomplete')
|
|
expect(page).to have_content('Chris Evans Complete')
|
|
expect(page).to have_content('Robert Downey Jr. Incomplete')
|
|
expect(page).to have_content('Robert Downey Jr. Complete')
|
|
|
|
click_link filter_type_complete
|
|
|
|
expect(page).not_to have_content('Chris Evans Incomplete')
|
|
expect(page).to have_content('Chris Evans Complete')
|
|
expect(page).not_to have_content('Robert Downey Jr. Incomplete')
|
|
expect(page).to have_content('Robert Downey Jr. Complete')
|
|
|
|
click_link filter_type_incomplete
|
|
|
|
expect(page).to have_content('Chris Evans Incomplete')
|
|
expect(page).not_to have_content('Chris Evans Complete')
|
|
expect(page).to have_content('Robert Downey Jr. Incomplete')
|
|
expect(page).not_to have_content('Robert Downey Jr. Complete')
|
|
|
|
click_link filter_type_all
|
|
|
|
expect(page).to have_content('Chris Evans Incomplete')
|
|
expect(page).to have_content('Chris Evans Complete')
|
|
expect(page).to have_content('Robert Downey Jr. Incomplete')
|
|
expect(page).to have_content('Robert Downey Jr. Complete')
|
|
end
|
|
|
|
scenario 'filtering for a release by complete/incomplete type works in parallel with search', js: true do
|
|
create(:appearance_release, :without_person_photo, :non_native, person_first_name: 'Chris', person_last_name: 'Evans Incomplete', project: project)
|
|
create(:appearance_release, :non_native, person_first_name: 'Chris', person_last_name: 'Evans Complete', project: project)
|
|
create(:appearance_release, :without_person_photo, :non_native, person_first_name: 'Robert', person_last_name: 'Downey Jr. Incomplete', project: project)
|
|
create(:appearance_release, :non_native, person_first_name: 'Robert', person_last_name: 'Downey Jr. Complete', project: project)
|
|
|
|
visit project_appearance_releases_path(project)
|
|
|
|
expect(page).to have_content('Chris Evans Incomplete')
|
|
expect(page).to have_content('Chris Evans Complete')
|
|
expect(page).to have_content('Robert Downey Jr. Incomplete')
|
|
expect(page).to have_content('Robert Downey Jr. Complete')
|
|
|
|
click_link filter_type_complete
|
|
|
|
expect(page).not_to have_content('Chris Evans Incomplete')
|
|
expect(page).to have_content('Chris Evans Complete')
|
|
expect(page).not_to have_content('Robert Downey Jr. Incomplete')
|
|
expect(page).to have_content('Robert Downey Jr. Complete')
|
|
|
|
within 'form#search' do
|
|
fill_in 'Search', with: 'Robert'
|
|
click_on 'button'
|
|
end
|
|
|
|
expect(page).not_to have_content('Chris Evans Incomplete')
|
|
expect(page).not_to have_content('Chris Evans Complete')
|
|
expect(page).not_to have_content('Robert Downey Jr. Incomplete')
|
|
expect(page).to have_content('Robert Downey Jr. Complete')
|
|
|
|
click_link filter_type_incomplete
|
|
|
|
expect(page).not_to have_content('Chris Evans Incomplete')
|
|
expect(page).not_to have_content('Chris Evans Complete')
|
|
expect(page).to have_content('Robert Downey Jr. Incomplete')
|
|
expect(page).not_to have_content('Robert Downey Jr. Complete')
|
|
|
|
click_link filter_type_all
|
|
|
|
expect(page).not_to have_content('Chris Evans Incomplete')
|
|
expect(page).not_to have_content('Chris Evans Complete')
|
|
expect(page).to have_content('Robert Downey Jr. Incomplete')
|
|
expect(page).to have_content('Robert Downey Jr. Complete')
|
|
end
|
|
end
|
|
|
|
context 'when the user is associate' do
|
|
let(:current_user) { create(:user, :associate) }
|
|
|
|
scenario 'should not show download' do
|
|
chris = create(:appearance_release_with_contract_template, person_first_name: 'Chris', person_last_name: 'Evans', project: project)
|
|
|
|
sign_in current_user
|
|
visit project_appearance_releases_path(project)
|
|
|
|
click_on 'Manage'
|
|
expect(page).not_to have_link('Download', exact: true)
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def build_large_pdf_file
|
|
# Generates dummy temp file with approx 50MB
|
|
tempfile = Tempfile.new(['large_file', '.pdf'], Rails.root.join('tmp'))
|
|
tempfile << '%PDF-1.2'
|
|
1_000_000.times do
|
|
tempfile << 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
|
|
end
|
|
tempfile << '%%EOF'
|
|
tempfile
|
|
end
|
|
|
|
def matching_started
|
|
t 'appearance_releases.create.matching_started'
|
|
end
|
|
|
|
def filter_type_all
|
|
t 'appearance_releases.type_filter_actions.all_releases'
|
|
end
|
|
|
|
def filter_type_complete
|
|
t 'appearance_releases.type_filter_actions.complete_releases'
|
|
end
|
|
|
|
def filter_type_incomplete
|
|
t 'appearance_releases.type_filter_actions.incomplete_releases'
|
|
end
|
|
|
|
def failed_to_import_notice
|
|
t 'appearance_releases.create.failed_import'
|
|
end
|
|
|
|
def importing_label
|
|
'Importing...'
|
|
end
|
|
|
|
def no_appearance_releases
|
|
t 'appearance_releases.index.empty'
|
|
end
|
|
|
|
def photos_heading(photos_count = 1)
|
|
t 'contracts.photos.heading', count: photos_count
|
|
end
|
|
|
|
def have_photo_button
|
|
have_selector('.take-photo-button')
|
|
end
|
|
|
|
def person_is_minor_checkbox
|
|
'appearance_release_minor'
|
|
end
|
|
|
|
def guardian_2_first_name_field
|
|
'Guardian 2 first name'
|
|
end
|
|
|
|
def guardian_2_last_name_field
|
|
'Guardian 2 last name'
|
|
end
|
|
|
|
def guardian_2_phone_field
|
|
'Guardian 2 phone'
|
|
end
|
|
|
|
def guardian_first_name_field
|
|
'Guardian first name'
|
|
end
|
|
|
|
def guardian_last_name_field
|
|
'Guardian last name'
|
|
end
|
|
|
|
def guardian_phone_field
|
|
'Guardian phone'
|
|
end
|
|
|
|
def guardian_email_field
|
|
'Guardian email'
|
|
end
|
|
|
|
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
|
|
'appearance_release[guardian_photo]'
|
|
end
|
|
|
|
def person_name_field
|
|
t('helpers.label.appearance_release.person_name')
|
|
end
|
|
|
|
def person_first_name_field
|
|
t('helpers.label.appearance_release.person_first_name')
|
|
end
|
|
|
|
def person_last_name_field
|
|
t('helpers.label.appearance_release.person_last_name')
|
|
end
|
|
|
|
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
|
|
|
|
def person_phone_field
|
|
t('helpers.label.appearance_release.person_phone')
|
|
end
|
|
|
|
def import_appearance_release_field
|
|
'attachments[]'
|
|
end
|
|
|
|
def person_photo_field
|
|
'appearance_release[person_photo]'
|
|
end
|
|
|
|
def contract_field
|
|
'appearance_release[contract]'
|
|
end
|
|
|
|
def person_date_of_birth
|
|
'appearance_release[person_date_of_birth]'
|
|
end
|
|
|
|
def submit_create_button
|
|
'Import Release'
|
|
end
|
|
|
|
def submit_release_button
|
|
'I have read and agree to the above'
|
|
end
|
|
|
|
def submit_update_button
|
|
'Save Changes'
|
|
end
|
|
|
|
def edit_link_for(appearance_release)
|
|
['Edit', href: edit_appearance_release_path(appearance_release)]
|
|
end
|
|
|
|
def destroy_link_for(appearance_release)
|
|
['Delete', href: appearance_release_path(appearance_release)]
|
|
end
|
|
|
|
def view_release_pdf_link_for(appearance_release)
|
|
['Download', href: appearance_release_contracts_path(appearance_release, format: 'pdf')]
|
|
end
|
|
|
|
def successful_submission_message
|
|
'Your release was successfully submitted. Thank you.'
|
|
end
|
|
|
|
def succesful_create_message
|
|
'The release has been imported.'
|
|
end
|
|
|
|
def successful_update_message
|
|
'The release has been updated'
|
|
end
|
|
|
|
def successful_destroy_message
|
|
'The release has been deleted'
|
|
end
|
|
end
|