Compare commits
3 Commits
make-quest
...
update-tut
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fecc5f8180 | ||
|
|
0e16791d8b | ||
|
|
7cdb814d6d |
13
app/assets/javascripts/update_required_status.js
Normal file
13
app/assets/javascripts/update_required_status.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
$(document).on("turbolinks:load", function() {
|
||||||
|
$("[data-behavior=update-required-status]").click(function(e) {
|
||||||
|
const required = !!($(this)[0] && $(this)[0].checked);
|
||||||
|
|
||||||
|
|
||||||
|
$("[data-required-tag=guardian]").each(function(index, element) {
|
||||||
|
const labelForField = element.previousSibling;
|
||||||
|
|
||||||
|
element.required = required;
|
||||||
|
labelForField.classList.add("required");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -17,7 +17,9 @@ class Api::ApiController < ActionController::Base
|
|||||||
def return_error(exception)
|
def return_error(exception)
|
||||||
raise exception if Rails.env.test?
|
raise exception if Rails.env.test?
|
||||||
|
|
||||||
logger.error "==Handled======="
|
Raven.capture_exception(exception)
|
||||||
|
|
||||||
|
logger.error "==Handled======"
|
||||||
logger.error exception.message
|
logger.error exception.message
|
||||||
logger.error exception.backtrace.join("\n")
|
logger.error exception.backtrace.join("\n")
|
||||||
logger.error "==Handled======="
|
logger.error "==Handled======="
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ class Api::UserTokenController < Knock::AuthTokenController
|
|||||||
|
|
||||||
# Catch exception and return JSON-formatted error
|
# Catch exception and return JSON-formatted error
|
||||||
def return_error(exception)
|
def return_error(exception)
|
||||||
|
Raven.capture_exception(exception)
|
||||||
|
|
||||||
logger.error "==Handled======="
|
logger.error "==Handled======="
|
||||||
logger.error exception.message
|
logger.error exception.message
|
||||||
logger.error exception.backtrace.join("\n")
|
logger.error exception.backtrace.join("\n")
|
||||||
|
|||||||
@@ -17,12 +17,34 @@ class MedicalRelease < ApplicationRecord
|
|||||||
composed_of :person_address,
|
composed_of :person_address,
|
||||||
class_name: "Address",
|
class_name: "Address",
|
||||||
mapping: [
|
mapping: [
|
||||||
%w(person_address_street1 street1),
|
%w[person_address_street1 street1],
|
||||||
%w(person_address_street2 street2),
|
%w[person_address_street2 street2],
|
||||||
%w(person_address_city city),
|
%w[person_address_city city],
|
||||||
%w(person_address_state state),
|
%w[person_address_state state],
|
||||||
%w(person_address_zip zip),
|
%w[person_address_zip zip],
|
||||||
%w(person_address_country country)
|
%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]
|
||||||
]
|
]
|
||||||
|
|
||||||
def self.face_photo_acceptable_content_types
|
def self.face_photo_acceptable_content_types
|
||||||
|
|||||||
@@ -18,15 +18,7 @@
|
|||||||
<div class="card-body p-0">
|
<div class="card-body p-0">
|
||||||
<div class="embed-responsive embed-responsive-16by9">
|
<div class="embed-responsive embed-responsive-16by9">
|
||||||
<div class="embed-responsive-item">
|
<div class="embed-responsive-item">
|
||||||
<table class="w-100 h-100 bg-secondary">
|
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/435943632" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="text-center align-middle text-white">
|
|
||||||
Video tutorial will be available soon
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -18,15 +18,7 @@
|
|||||||
<div class="card-body p-0">
|
<div class="card-body p-0">
|
||||||
<div class="embed-responsive embed-responsive-16by9">
|
<div class="embed-responsive embed-responsive-16by9">
|
||||||
<div class="embed-responsive-item">
|
<div class="embed-responsive-item">
|
||||||
<table class="w-100 h-100 bg-secondary">
|
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/435942851" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="text-center align-middle text-white">
|
|
||||||
Video tutorial will be available soon
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
<% unless @contract_template.guardian_clause.blank? %>
|
<% unless @contract_template.guardian_clause.blank? %>
|
||||||
<%= form.form_group :minor do %>
|
<%= form.form_group :minor do %>
|
||||||
<%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
|
<%= 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 %>
|
<% end %>
|
||||||
|
|
||||||
<%= card_field_set_tag t(".guardian_clause.heading") do %>
|
<%= card_field_set_tag t(".guardian_clause.heading") do %>
|
||||||
@@ -72,12 +72,12 @@
|
|||||||
<div class="<%= class_string("collapse" => !@appearance_release.minor?) %>" data-ujs-target="guardian-fields">
|
<div class="<%= class_string("collapse" => !@appearance_release.minor?) %>" data-ujs-target="guardian-fields">
|
||||||
<%= card_field_set_tag t(".guardian_info.heading") do %>
|
<%= card_field_set_tag t(".guardian_info.heading") do %>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<%= form.text_field :guardian_first_name, required: @appearance_release.minor?, wrapper_class: "col-sm-3" %>
|
<%= form.text_field :guardian_first_name, required: @appearance_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
|
||||||
<%= form.text_field :guardian_last_name, required: @appearance_release.minor?, wrapper_class: "col-sm-3" %>
|
<%= form.text_field :guardian_last_name, required: @appearance_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
|
||||||
<%= form.phone_field :guardian_phone, required: @appearance_release.minor?, wrapper_class: "col-sm-6" %>
|
<%= form.phone_field :guardian_phone, required: @appearance_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
|
||||||
<%= form.text_field :guardian_email, required: @appearance_release.minor?, wrapper_class: "col-sm-6" %>
|
<%= form.text_field :guardian_email, required: @appearance_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
|
||||||
</div>
|
</div>
|
||||||
<%= render "shared/address_fields", form: form, subject: "guardian", required: @appearance_release.minor? %>
|
<%= render "shared/address_fields", form: form, subject: "guardian", required: @appearance_release.minor?, data: { required_tag: "guardian" } %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
<% unless @contract_template.guardian_clause.blank? %>
|
<% unless @contract_template.guardian_clause.blank? %>
|
||||||
<%= form.form_group :minor do %>
|
<%= form.form_group :minor do %>
|
||||||
<%= form.check_box :minor, label: t("helpers.label.medical_release.minor"), data: { target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
|
<%= form.check_box :minor, label: t("helpers.label.medical_release.minor"), data: { behavior: "update-required-status", target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= card_field_set_tag t(".guardian_clause.heading") do %>
|
<%= card_field_set_tag t(".guardian_clause.heading") do %>
|
||||||
@@ -59,14 +59,12 @@
|
|||||||
<div class="<%= class_string("collapse" => !@medical_release.minor?) %>" data-ujs-target="guardian-fields">
|
<div class="<%= class_string("collapse" => !@medical_release.minor?) %>" data-ujs-target="guardian-fields">
|
||||||
<%= card_field_set_tag t(".guardian_info.heading") do %>
|
<%= card_field_set_tag t(".guardian_info.heading") do %>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<%= form.text_field :guardian_first_name, required: @medical_release.minor?, wrapper_class: "col-sm-3" %>
|
<%= form.text_field :guardian_first_name, required: @medical_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
|
||||||
<%= form.text_field :guardian_last_name, required: @medical_release.minor?, wrapper_class: "col-sm-3" %>
|
<%= form.text_field :guardian_last_name, required: @medical_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
|
||||||
<%= form.phone_field :guardian_phone, required: @medical_release.minor?, wrapper_class: "col-sm-6" %>
|
<%= form.phone_field :guardian_phone, required: @medical_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
|
||||||
|
<%= form.text_field :guardian_email, required: @medical_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<%= render "shared/address_fields", form: form, subject: "guardian", required: @medical_release.minor?, data: { required_tag: "guardian" } %>
|
||||||
<%= form.text_field :guardian_email, required: @medical_release.minor?, wrapper_class: "col-sm-6" %>
|
|
||||||
</div>
|
|
||||||
<%= render "shared/address_fields", form: form, subject: "guardian", required: @medical_release.minor? %>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
<% unless @contract_template.guardian_clause.blank? %>
|
<% unless @contract_template.guardian_clause.blank? %>
|
||||||
<%= form.form_group :minor do %>
|
<%= form.form_group :minor do %>
|
||||||
<%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
|
<%= 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 %>
|
<% end %>
|
||||||
|
|
||||||
<%= card_field_set_tag t(".guardian_clause.heading") do %>
|
<%= card_field_set_tag t(".guardian_clause.heading") do %>
|
||||||
@@ -56,14 +56,12 @@
|
|||||||
<div class="<%= class_string("collapse" => !@misc_release.minor?) %>" data-ujs-target="guardian-fields">
|
<div class="<%= class_string("collapse" => !@misc_release.minor?) %>" data-ujs-target="guardian-fields">
|
||||||
<%= card_field_set_tag t(".guardian_info.heading") do %>
|
<%= card_field_set_tag t(".guardian_info.heading") do %>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<%= form.text_field :guardian_first_name, required: @misc_release.minor?, wrapper_class: "col-sm-3" %>
|
<%= form.text_field :guardian_first_name, required: @misc_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
|
||||||
<%= form.text_field :guardian_last_name, required: @misc_release.minor?, wrapper_class: "col-sm-3" %>
|
<%= form.text_field :guardian_last_name, required: @misc_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
|
||||||
<%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6" %>
|
<%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
|
||||||
|
<%= form.text_field :guardian_email, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<%= render "shared/address_fields", form: form, subject: "guardian", data: { required_tag: "guardian" } %>
|
||||||
<%= form.text_field :guardian_email, wrapper_class: "col-sm-6" %>
|
|
||||||
</div>
|
|
||||||
<%= render "shared/address_fields", form: form, subject: "guardian" %>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
<% unless @contract_template.guardian_clause.blank? %>
|
<% unless @contract_template.guardian_clause.blank? %>
|
||||||
<%= form.form_group :minor do %>
|
<%= form.form_group :minor do %>
|
||||||
<%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
|
<%= 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 %>
|
<% end %>
|
||||||
|
|
||||||
<%= card_field_set_tag t(".guardian_clause.heading") do %>
|
<%= card_field_set_tag t(".guardian_clause.heading") do %>
|
||||||
@@ -46,12 +46,12 @@
|
|||||||
<div class="<%= class_string("collapse" => !@talent_release.minor?) %>" data-ujs-target="guardian-fields">
|
<div class="<%= class_string("collapse" => !@talent_release.minor?) %>" data-ujs-target="guardian-fields">
|
||||||
<%= card_field_set_tag t(".guardian_info.heading") do %>
|
<%= card_field_set_tag t(".guardian_info.heading") do %>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<%= form.text_field :guardian_first_name, required: @talent_release.minor?, wrapper_class: "col-sm-3" %>
|
<%= form.text_field :guardian_first_name, required: @talent_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
|
||||||
<%= form.text_field :guardian_last_name, required: @talent_release.minor?, wrapper_class: "col-sm-3" %>
|
<%= form.text_field :guardian_last_name, required: @talent_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %>
|
||||||
<%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6" %>
|
<%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
|
||||||
<%= form.text_field :guardian_email, wrapper_class: "col-sm-6" %>
|
<%= form.text_field :guardian_email, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
|
||||||
</div>
|
</div>
|
||||||
<%= render "shared/address_fields", form: form, subject: "guardian" %>
|
<%= render "shared/address_fields", form: form, subject: "guardian", data: { required_tag: "guardian" } %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
<% field_name_prefix = subject.present? ? "#{subject}_" : "" %>
|
<% field_name_prefix = subject.present? ? "#{subject}_" : "" %>
|
||||||
<% required = required || false %>
|
<% required = required || false %>
|
||||||
|
<% data = data || nil %>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<%= form.text_field "#{field_name_prefix}address_street1", required: required, wrapper_class: "col-sm-6" %>
|
<%= form.text_field "#{field_name_prefix}address_street1", required: required, wrapper_class: "col-sm-6", data: data %>
|
||||||
<%= form.text_field "#{field_name_prefix}address_street2", wrapper_class: "col-sm-6" %>
|
<%= form.text_field "#{field_name_prefix}address_street2", wrapper_class: "col-sm-6" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<%= form.text_field "#{field_name_prefix}address_city", required: required, wrapper_class: "col-sm-6" %>
|
<%= form.text_field "#{field_name_prefix}address_city", required: required, wrapper_class: "col-sm-6", data: data %>
|
||||||
<%= form.text_field "#{field_name_prefix}address_state", required: required, wrapper_class: "col-sm-3" %>
|
<%= form.text_field "#{field_name_prefix}address_state", required: required, wrapper_class: "col-sm-3", data: data %>
|
||||||
<%= form.text_field "#{field_name_prefix}address_zip", required: required, wrapper_class: "col-sm-3" %>
|
<%= form.text_field "#{field_name_prefix}address_zip", required: required, wrapper_class: "col-sm-3", data: data %>
|
||||||
</div>
|
</div>
|
||||||
<%= form.form_group "#{field_name_prefix}address_country" do %>
|
<%= form.form_group "#{field_name_prefix}address_country" do %>
|
||||||
<%= form.label "#{field_name_prefix}address_country" %>
|
<%= form.label "#{field_name_prefix}address_country" %>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<%= link_to t(".actions.book_demo"), 'https://meetings.hubspot.com/bray2', class: "btn btn-primary border align-self-center h-50 ml-auto mr-2 pb-2", target: '_blank' %>
|
<%= link_to t(".actions.book_demo"), 'https://meetings.hubspot.com/bray2', class: "btn btn-primary border align-self-center h-50 ml-auto mr-2 pb-2", target: '_blank' %>
|
||||||
<% if policy(Video).new? %>
|
<% if policy(Video).new? %>
|
||||||
<%= link_to t(".actions.upload_video"), [:new, @project, :video], class: "btn btn-success border align-self-center h-50 pb-2" %>
|
<%= link_to t(".actions.upload_video"), [:landing, @project, :videos], class: "btn btn-success border align-self-center h-50 pb-2" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -18,15 +18,7 @@
|
|||||||
<div class="card-body p-0">
|
<div class="card-body p-0">
|
||||||
<div class="embed-responsive embed-responsive-16by9">
|
<div class="embed-responsive embed-responsive-16by9">
|
||||||
<div class="embed-responsive-item">
|
<div class="embed-responsive-item">
|
||||||
<table class="w-100 h-100 bg-secondary">
|
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/435943995" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td class="text-center align-middle text-white">
|
|
||||||
Video tutorial will be available soon
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -30,6 +30,24 @@ feature 'User managing appearance releases' do
|
|||||||
expect(page).to have_content(successful_submission_message)
|
expect(page).to have_content(successful_submission_message)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "creating a release for a minor - guardian fields are required when minor checkbox is checked", js: true do
|
||||||
|
contract_template = create(:contract_template, project: project)
|
||||||
|
|
||||||
|
visit new_account_project_contract_template_appearance_release_path(project.account, project, contract_template)
|
||||||
|
|
||||||
|
all('input[data-required-tag="guardian"]').each do |field|
|
||||||
|
expect(field['required']).to eq 'false'
|
||||||
|
expect(field).not_to be_visible
|
||||||
|
end
|
||||||
|
|
||||||
|
page.check person_is_minor_checkbox
|
||||||
|
|
||||||
|
all('input[data-required-tag="guardian"]').each do |field|
|
||||||
|
expect(field['required']).to eq 'true'
|
||||||
|
expect(field).to be_visible
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
scenario 'creating a release for a minor', js: true do
|
scenario 'creating a release for a minor', js: true do
|
||||||
allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true))
|
allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true))
|
||||||
|
|
||||||
@@ -50,6 +68,7 @@ feature 'User managing appearance releases' do
|
|||||||
fill_in guardian_first_name_field, with: 'Guardian'
|
fill_in guardian_first_name_field, with: 'Guardian'
|
||||||
fill_in guardian_last_name_field, with: 'Name'
|
fill_in guardian_last_name_field, with: 'Name'
|
||||||
fill_in guardian_phone_field, with: '001101'
|
fill_in guardian_phone_field, with: '001101'
|
||||||
|
fill_in guardian_email_field, with: 'valid@email.com'
|
||||||
fill_in person_first_name_field, with: 'Jane'
|
fill_in person_first_name_field, with: 'Jane'
|
||||||
fill_in person_last_name_field, with: 'Doe'
|
fill_in person_last_name_field, with: 'Doe'
|
||||||
fill_in_person_address_fields
|
fill_in_person_address_fields
|
||||||
@@ -60,11 +79,6 @@ feature 'User managing appearance releases' do
|
|||||||
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
||||||
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
|
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
|
fill_in_guardian_address_fields
|
||||||
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
||||||
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
|
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
|
||||||
@@ -99,6 +113,7 @@ feature 'User managing appearance releases' do
|
|||||||
fill_in guardian_first_name_field, with: 'Guardian'
|
fill_in guardian_first_name_field, with: 'Guardian'
|
||||||
fill_in guardian_last_name_field, with: 'Name'
|
fill_in guardian_last_name_field, with: 'Name'
|
||||||
fill_in guardian_phone_field, with: '001101'
|
fill_in guardian_phone_field, with: '001101'
|
||||||
|
fill_in guardian_email_field, with: 'valid@email.com'
|
||||||
fill_in person_first_name_field, with: 'Jane'
|
fill_in person_first_name_field, with: 'Jane'
|
||||||
fill_in person_last_name_field, with: 'Doe'
|
fill_in person_last_name_field, with: 'Doe'
|
||||||
fill_in_person_address_fields
|
fill_in_person_address_fields
|
||||||
@@ -109,11 +124,6 @@ feature 'User managing appearance releases' do
|
|||||||
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
||||||
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
|
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
|
fill_in_guardian_address_fields
|
||||||
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
||||||
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
|
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
|
||||||
|
|||||||
@@ -28,6 +28,24 @@ feature "User managing medical releases" do
|
|||||||
expect(page).to have_content(successful_submission_message)
|
expect(page).to have_content(successful_submission_message)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "creating a release for a minor - guardian fields are required when minor checkbox is checked", js: true do
|
||||||
|
contract_template = create(:contract_template, project: project)
|
||||||
|
|
||||||
|
visit new_account_project_contract_template_medical_release_path(project.account, project, contract_template)
|
||||||
|
|
||||||
|
all('input[data-required-tag="guardian"]').each do |field|
|
||||||
|
expect(field['required']).to eq 'false'
|
||||||
|
expect(field).not_to be_visible
|
||||||
|
end
|
||||||
|
|
||||||
|
page.check person_is_minor_checkbox
|
||||||
|
|
||||||
|
all('input[data-required-tag="guardian"]').each do |field|
|
||||||
|
expect(field['required']).to eq 'true'
|
||||||
|
expect(field).to be_visible
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
scenario 'creating a release for a minor', js: true do
|
scenario 'creating a release for a minor', js: true do
|
||||||
allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true))
|
allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true))
|
||||||
|
|
||||||
@@ -47,6 +65,7 @@ feature "User managing medical releases" do
|
|||||||
fill_in guardian_first_name_field, with: 'Guardian'
|
fill_in guardian_first_name_field, with: 'Guardian'
|
||||||
fill_in guardian_last_name_field, with: 'Name'
|
fill_in guardian_last_name_field, with: 'Name'
|
||||||
fill_in guardian_phone_field, with: '001101'
|
fill_in guardian_phone_field, with: '001101'
|
||||||
|
fill_in guardian_email_field, with: "valid@email.com"
|
||||||
fill_in person_first_name_field, with: 'Jane'
|
fill_in person_first_name_field, with: 'Jane'
|
||||||
fill_in person_last_name_field, with: 'Doe'
|
fill_in person_last_name_field, with: 'Doe'
|
||||||
fill_in_person_address_fields
|
fill_in_person_address_fields
|
||||||
@@ -56,11 +75,6 @@ feature "User managing medical releases" do
|
|||||||
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
||||||
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
|
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
|
||||||
|
|
||||||
fill_in guardian_email_field, with: 'invalid@email'
|
|
||||||
click_button submit_release_button
|
|
||||||
expect(page).to have_content email_validation_error_for('Guardian')
|
|
||||||
|
|
||||||
fill_in guardian_email_field, with: 'valid@email.com'
|
|
||||||
fill_in_guardian_address_fields
|
fill_in_guardian_address_fields
|
||||||
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
||||||
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
|
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
|
||||||
@@ -94,6 +108,7 @@ feature "User managing medical releases" do
|
|||||||
fill_in guardian_first_name_field, with: 'Guardian'
|
fill_in guardian_first_name_field, with: 'Guardian'
|
||||||
fill_in guardian_last_name_field, with: 'Name'
|
fill_in guardian_last_name_field, with: 'Name'
|
||||||
fill_in guardian_phone_field, with: '001101'
|
fill_in guardian_phone_field, with: '001101'
|
||||||
|
fill_in guardian_email_field, with: "valid@email.com"
|
||||||
fill_in person_first_name_field, with: 'Jane'
|
fill_in person_first_name_field, with: 'Jane'
|
||||||
fill_in person_last_name_field, with: 'Doe'
|
fill_in person_last_name_field, with: 'Doe'
|
||||||
fill_in_person_address_fields
|
fill_in_person_address_fields
|
||||||
@@ -103,11 +118,6 @@ feature "User managing medical releases" do
|
|||||||
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
||||||
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
|
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
|
||||||
|
|
||||||
fill_in guardian_email_field, with: 'invalid@email'
|
|
||||||
click_button submit_release_button
|
|
||||||
expect(page).to have_content email_validation_error_for('Guardian')
|
|
||||||
|
|
||||||
fill_in guardian_email_field, with: 'valid@email.com'
|
|
||||||
fill_in_guardian_address_fields
|
fill_in_guardian_address_fields
|
||||||
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
||||||
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
|
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
|
||||||
|
|||||||
@@ -30,6 +30,24 @@ feature "User managing misc releases" do
|
|||||||
|
|
||||||
expect(page).to have_content(successful_submission_message)
|
expect(page).to have_content(successful_submission_message)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "creating a release for a minor - guardian fields are required when minor checkbox is checked", js: true do
|
||||||
|
contract_template = create(:contract_template, project: project)
|
||||||
|
|
||||||
|
visit new_account_project_contract_template_misc_release_path(project.account, project, contract_template)
|
||||||
|
|
||||||
|
all('input[data-required-tag="guardian"]').each do |field|
|
||||||
|
expect(field['required']).to eq 'false'
|
||||||
|
expect(field).not_to be_visible
|
||||||
|
end
|
||||||
|
|
||||||
|
page.check person_is_minor_checkbox
|
||||||
|
|
||||||
|
all('input[data-required-tag="guardian"]').each do |field|
|
||||||
|
expect(field['required']).to eq 'true'
|
||||||
|
expect(field).to be_visible
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "when signed in as account manager" do
|
context "when signed in as account manager" do
|
||||||
@@ -177,4 +195,8 @@ feature "User managing misc releases" do
|
|||||||
def successful_submission_message
|
def successful_submission_message
|
||||||
"Your release was successfully submitted. Thank you."
|
"Your release was successfully submitted. Thank you."
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def person_is_minor_checkbox
|
||||||
|
'misc_release_minor'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -32,6 +32,24 @@ feature "User managing talent releases" do
|
|||||||
expect(page).to have_content("Your release was successfully submitted. Thank you.")
|
expect(page).to have_content("Your release was successfully submitted. Thank you.")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "creating a release for a minor - guardian fields are required when minor checkbox is checked", js: true do
|
||||||
|
contract_template = create(:contract_template, project: project)
|
||||||
|
|
||||||
|
visit new_account_project_contract_template_talent_release_path(project.account, project, contract_template)
|
||||||
|
|
||||||
|
all('input[data-required-tag="guardian"]').each do |field|
|
||||||
|
expect(field['required']).to eq 'false'
|
||||||
|
expect(field).not_to be_visible
|
||||||
|
end
|
||||||
|
|
||||||
|
page.check person_is_minor_checkbox
|
||||||
|
|
||||||
|
all('input[data-required-tag="guardian"]').each do |field|
|
||||||
|
expect(field['required']).to eq 'true'
|
||||||
|
expect(field).to be_visible
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
scenario "creating a release for a minor", js: true do
|
scenario "creating a release for a minor", js: true do
|
||||||
contract_template = create(:contract_template, project: project)
|
contract_template = create(:contract_template, project: project)
|
||||||
|
|
||||||
@@ -48,6 +66,8 @@ feature "User managing talent releases" do
|
|||||||
fill_in guardian_first_name_field, with: "Guardian"
|
fill_in guardian_first_name_field, with: "Guardian"
|
||||||
fill_in guardian_last_name_field, with: "Name"
|
fill_in guardian_last_name_field, with: "Name"
|
||||||
fill_in guardian_phone_field, with: "001101"
|
fill_in guardian_phone_field, with: "001101"
|
||||||
|
fill_in guardian_email_field, with: "valid@email.com"
|
||||||
|
fill_in_guardian_address_fields
|
||||||
fill_in person_first_name_field, with: "Jane"
|
fill_in person_first_name_field, with: "Jane"
|
||||||
fill_in person_last_name_field, with: "Doe"
|
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_field, with: "123 Test Lane, New York, NY 10000"
|
||||||
@@ -88,6 +108,9 @@ feature "User managing talent releases" do
|
|||||||
fill_in guardian_first_name_field, with: "Guardian"
|
fill_in guardian_first_name_field, with: "Guardian"
|
||||||
fill_in guardian_last_name_field, with: "Name"
|
fill_in guardian_last_name_field, with: "Name"
|
||||||
fill_in guardian_phone_field, with: "001101"
|
fill_in guardian_phone_field, with: "001101"
|
||||||
|
fill_in guardian_email_field, with: "valid@email.com"
|
||||||
|
|
||||||
|
fill_in_guardian_address_fields
|
||||||
|
|
||||||
fill_in guardian_2_first_name_field, with: "Second"
|
fill_in guardian_2_first_name_field, with: "Second"
|
||||||
fill_in guardian_2_last_name_field, with: "Guardian"
|
fill_in guardian_2_last_name_field, with: "Guardian"
|
||||||
@@ -387,10 +410,30 @@ feature "User managing talent releases" do
|
|||||||
"talent_release[guardian_2_last_name]"
|
"talent_release[guardian_2_last_name]"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def guardian_address_street1_field
|
||||||
|
"talent_release[guardian_address_street1]"
|
||||||
|
end
|
||||||
|
|
||||||
|
def guardian_address_city_field
|
||||||
|
"talent_release[guardian_address_city]"
|
||||||
|
end
|
||||||
|
|
||||||
|
def guardian_address_state_field
|
||||||
|
"talent_release[guardian_address_state]"
|
||||||
|
end
|
||||||
|
|
||||||
|
def guardian_address_zip_field
|
||||||
|
"talent_release[guardian_address_zip]"
|
||||||
|
end
|
||||||
|
|
||||||
def guardian_phone_field
|
def guardian_phone_field
|
||||||
"Guardian phone"
|
"Guardian phone"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def guardian_email_field
|
||||||
|
"talent_release[guardian_email]"
|
||||||
|
end
|
||||||
|
|
||||||
def guardian_photo_field
|
def guardian_photo_field
|
||||||
"talent_release[guardian_photo]"
|
"talent_release[guardian_photo]"
|
||||||
end
|
end
|
||||||
@@ -505,4 +548,11 @@ feature "User managing talent releases" do
|
|||||||
def contract_field
|
def contract_field
|
||||||
"talent_release[contract]"
|
"talent_release[contract]"
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user