Compare commits

..

2 Commits

Author SHA1 Message Date
Bilal
19abac01cc add ME Suite PRO image and option to the dropdown 2020-09-09 12:58:43 +03:00
Senad Uka
3db230de9b Upstream sync 2020-09-09 05:33:57 +02:00
11 changed files with 244 additions and 19 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -48,6 +48,10 @@ u {
margin-right: -30px;
}
.embed-person-photo {
text-align: right;
}
.do-not-copy-warning {
padding-right: 15px;
}

View File

@@ -3,7 +3,7 @@ class ContractsController < ApplicationController
respond_to do |format|
format.pdf { send_contract_pdf }
if Rails.env.development?
if Rails.env.development? || Rails.env.test?
format.html { render_sample_html }
end
end

View File

@@ -6,7 +6,7 @@
<%= form.email_field :email, class: "form-group" %>
<%= form.password_field :password %>
<%= form.text_field :account_name, label: 'Account Name' %>
<%= form.select :interested_product_name, options_for_select(["I'm interested in all products", "DirectME", "ReleaseME", "CastME", "EditME", "DeliverME", "ExpenseME"]), { label: "What product are you most interested in?" }, { class: "form-control custom-select" } %>
<%= form.select :interested_product_name, options_for_select(["I'm interested in all products", "ME Suite PRO", "DirectME", "ReleaseME", "CastME", "EditME", "DeliverME", "ExpenseME"]), { label: "What product are you most interested in?" }, { class: "form-control custom-select" } %>
<div class="pt-3">
<%= form.submit "Start Free Trial", class: "btn btn-block btn-danger font-weight-bold" %>
</div>

View File

@@ -4,6 +4,9 @@
<h3>Welcome To <%= suite_wordmark("d-inline-block") %></h3>
<div class="mt-4">
<p>Sign up for a <strong>14 Day Free Trial</strong> which includes full access to the following products. No credit card required!</p>
<div class="d-flex justify-content-between pb-2">
<div><%= image_tag "ME_PRO_black.png", width: "96.66%" %></div>
</div>
<div class="d-flex justify-content-between pb-2">
<div><%= image_tag "logo_directme.png", width: "90%" %></div>
<div><%= image_tag "logo_releaseme.png", width: "90%" %></div>

View File

@@ -4,19 +4,31 @@
</div>
<hr>
<% end %>
<% if preview %>
<h1>PREVIEW ONLY</h1>
<% end %>
<% if contract_template.body.present? %>
<%= contract_template.body %>
<br/>
<% end %>
<% if releasable.minor? && contract_template.guardian_clause.present? %>
<p class="text-left"><strong>Guardian Clause</strong></p>
<%= contract_template.guardian_clause %>
<% end %>
<% if releasable.respond_to?(:question_1_answer) %>
<div class="page">
<% if preview %>
<h1>PREVIEW ONLY</h1>
<% end %>
<% if releasable.model_name == "AppearanceRelease" && releasable.person_photo.attached? %>
<div class="embed-person-photo">
<%= image_tag releasable.photos.first.variant(auto_orient: true, resize: "200x200"), id: "top-person-photo" %>
</div>
<hr>
<% end %>
<% if contract_template.body.present? %>
<%= contract_template.body %>
<br/>
<% end %>
<% if releasable.minor? && contract_template.guardian_clause.present? %>
<p class="text-left"><strong>Guardian Clause</strong></p>
<%= contract_template.guardian_clause %>
<% end %>
</div>
<% if contract_template.present? && contract_template.has_questionnaire? %>
<div class="page">
<%= render "contracts/questionnaire", releasable: releasable, contract_template: contract_template, preview: preview %>
</div>

View File

@@ -19,6 +19,22 @@ FactoryBot.define do
amendment_clause "Amendment Legal Language"
end
trait :with_questionnaire_legal_text do
questionnaire_legal_text "Questionnaire Legal Text"
end
trait :with_one_question do
question_1_text "Is this a question?"
end
trait :with_exhibits do
exhibit_a_legal_text "Exhibit A legal text"
exhibit_b_legal_text "Exhibit B legal text"
exhibit_a_question_text "Exhibit A question text"
exhibit_b_question_text "Exhibit B question text"
end
factory :appearance_release_contract_template do
release_type "appearance"
end

View File

@@ -1,6 +1,13 @@
require "rails_helper"
feature "Guest account sign up" do
scenario "guest can select ME Suite PRO in 'interested in' dropdown" do
visit new_account_path
expect(page).to have_selector("img[src*='ME_PRO_black']")
select "ME Suite PRO", from: interested_in_product_dropdown
end
scenario "creates a new account and signs in successfully" do
visit new_account_path
@@ -38,4 +45,10 @@ feature "Guest account sign up" do
expect(page).to have_content "Sign Up"
end
private
def interested_in_product_dropdown
"user[interested_product_name]"
end
end

View File

@@ -544,7 +544,7 @@ feature 'User managing appearance releases' do
expect(pdf_body).to have_content('Guardian Email')
end
scenario "viewing the contract PDF when exhibit A is signed" do
scenario "viewing the contract PDF when exhibit A is signed and without questionnaire" do
contract_template = create(:appearance_release_contract_template, project: project, exhibit_a_legal_text: "Exhibit A legal text", exhibit_a_question_text: "Exhibit A question text")
appearance_release = create(:appearance_release,
:amendment_signed,
@@ -566,10 +566,122 @@ feature 'User managing appearance releases' do
expect(pdf_body).to have_content("John Doe")
expect(pdf_body).to have_content "Exhibit A"
expect(pdf_body).to have_content exhibit_a_heading
expect(pdf_body).to have_content "Exhibit A legal text"
expect(pdf_body).to have_content "Exhibit A question text"
expect(pdf_body).to have_content "Answer to exhibit A question"
expect(pdf_body).not_to have_content questionnaire_heading
expect(pdf_body).not_to have_content exhibit_b_heading
end
scenario "viewing the contract PDF when exhibit B is signed and without questionnaire" do
contract_template = create(:appearance_release_contract_template, project: project, exhibit_b_legal_text: "Exhibit B legal text", exhibit_b_question_text: "Exhibit B question text")
appearance_release = create(:appearance_release,
:amendment_signed,
:native,
contract_template: contract_template,
project: project,
person_first_name: "John",
person_last_name: "Doe",
exhibit_b_answer: "Answer to exhibit B question"
)
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-john")
expect(pdf_body).to have_content("John Doe")
expect(pdf_body).to have_content exhibit_b_heading
expect(pdf_body).to have_content "Exhibit B legal text"
expect(pdf_body).to have_content "Exhibit B question text"
expect(pdf_body).to have_content "Answer to exhibit B question"
expect(pdf_body).not_to have_content questionnaire_heading
expect(pdf_body).not_to have_content exhibit_a_heading
end
scenario "viewing the contract PDF with questionnaire and without exhibits" do
contract_template = create(:appearance_release_contract_template, :with_questionnaire_legal_text, :with_one_question, project: project)
appearance_release = create(:appearance_release,
:amendment_signed,
:native,
contract_template: contract_template,
project: project,
person_first_name: "John",
person_last_name: "Doe",
question_1_answer: "Yes"
)
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-john")
expect(pdf_body).to have_content questionnaire_heading
expect(pdf_body).to have_content contract_template.question_1_text
expect(pdf_body).to have_content appearance_release.question_1_answer
expect(pdf_body).not_to have_content exhibit_a_heading
expect(pdf_body).not_to have_content exhibit_b_heading
end
scenario "viewing the contract PDF with questionnaire and with exhibits" do
contract_template = create(:appearance_release_contract_template,
:with_questionnaire_legal_text,
:with_one_question,
:with_exhibits,
project: project)
appearance_release = create(:appearance_release,
:amendment_signed,
:native,
contract_template: contract_template,
project: project,
person_first_name: "John",
person_last_name: "Doe",
question_1_answer: "Yes",
exhibit_a_answer: "Exhibit A answer",
exhibit_b_answer: "Exhibit B answer"
)
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-john")
expect(pdf_body).to have_content questionnaire_heading
expect(pdf_body).to have_content contract_template.question_1_text
expect(pdf_body).to have_content appearance_release.question_1_answer
expect(pdf_body).to have_content exhibit_a_heading
expect(pdf_body).to have_content contract_template.exhibit_a_legal_text.to_plain_text
expect(pdf_body).to have_content contract_template.exhibit_a_question_text
expect(pdf_body).to have_content appearance_release.exhibit_a_answer
expect(pdf_body).to have_content exhibit_b_heading
expect(pdf_body).to have_content contract_template.exhibit_b_legal_text.to_plain_text
expect(pdf_body).to have_content contract_template.exhibit_b_question_text
expect(pdf_body).to have_content appearance_release.exhibit_b_answer
end
scenario "viewing the contract PDF - it shows person photo on first page if person photo is attached" do
appearance_release = create(:appearance_release_with_contract_template, :native, :minor_with_guardian_photo, project: project)
visit view_release_pdf_html_preview_link_for(appearance_release)
person_photo_url = url_for(appearance_release.person_photo.variant(auto_orient: true, resize: "200x200")).to_s
expect(page).to have_selector("#top-person-photo[src^='#{person_photo_url}']")
end
scenario 'deleting a release', js: true do
@@ -908,6 +1020,10 @@ feature 'User managing appearance releases' do
['Download', href: appearance_release_contracts_path(appearance_release, format: 'pdf')]
end
def view_release_pdf_html_preview_link_for(appearance_release)
appearance_release_contracts_path(appearance_release)
end
def successful_submission_message
'Your release was successfully submitted. Thank you.'
end
@@ -987,4 +1103,16 @@ feature 'User managing appearance releases' do
def amendment_signature_label
t 'contracts.amendment_page.description_labels.amendment_signature'
end
def questionnaire_heading
t 'contracts.questionnaire.heading.appearance_release'
end
def exhibit_a_heading
t 'contracts.exhibit_a_page.heading.appearance_release'
end
def exhibit_b_heading
t 'contracts.exhibit_b_page.heading.appearance_release'
end
end

View File

@@ -244,11 +244,32 @@ feature "User managing medical releases" do
expect(pdf_filename).to include("doe-john")
expect(pdf_body).to have_content("John Doe")
expect(pdf_body).to have_content "MEDICAL QUESTIONNAIRE"
expect(pdf_body).to have_content questionnaire_heading.upcase
expect(pdf_body).to have_content "Question 1 text"
expect(pdf_body).to have_content "Question 1 answer"
expect(pdf_body).to have_content "Questionnaire legal text"
end
scenario 'viewing contract PDF without medical questionnaire' do
contract_template = create(:medical_release_contract_template, project: project)
medical_release = create(:medical_release,
:native,
contract_template: contract_template,
project: project,
person_first_name: "John",
person_last_name: "Doe",
)
sign_in(current_user)
visit project_medical_releases_path(project)
click_link *view_release_pdf_link_for(medical_release)
expect(content_type).to eq("application/pdf")
expect(content_disposition).to include("inline")
expect(pdf_filename).to include("doe-john")
expect(pdf_body).not_to have_content questionnaire_heading.upcase
end
end
context "when the user is manager(project manager)" do
@@ -499,4 +520,8 @@ feature "User managing medical releases" do
def dummy_signature_legal_text
'Some signature legal language'
end
def questionnaire_heading
t 'contracts.questionnaire.heading.medical_release'
end
end

View File

@@ -80,7 +80,7 @@ feature "User managing misc releases" do
end
scenario 'viewing the contract PDF' do
scenario 'viewing the contract PDF with questionnaire' do
misc_release = create(:misc_release,
:native,
contract_template: build(:misc_release_contract_template, question_1_text: 'Q1'),
@@ -121,10 +121,30 @@ feature "User managing misc releases" do
expect(pdf_body).to have_content('Woman')
expect(pdf_body).to have_content('Brunette')
expect(pdf_body).not_to have_content('Guardian Email')
expect(pdf_body).to have_content('QUESTIONNAIRE')
expect(pdf_body).to have_content questionnaire_heading.upcase
expect(pdf_body).to have_content('Q1')
expect(pdf_body).to have_content('A1')
end
scenario 'viewing the contract PDF without questionnaire' do
misc_release = create(:misc_release,
:native,
contract_template: build(:misc_release_contract_template),
project: project,
person_first_name: 'Jane',
person_last_name: 'Doe'
)
sign_in(current_user)
visit project_misc_releases_path(project)
click_link *view_release_pdf_link_for(misc_release)
expect(content_type).to eq('application/pdf')
expect(content_disposition).to include('inline')
expect(pdf_filename).to include('doe-jane')
expect(pdf_body).not_to have_content questionnaire_heading.upcase
end
end
context "when the user is manager(project manager)" do
@@ -215,4 +235,8 @@ feature "User managing misc releases" do
def view_release_pdf_link_for(release)
['Download', href: misc_release_contracts_path(release, format: 'pdf')]
end
def questionnaire_heading
t 'contracts.questionnaire.heading.misc_release'
end
end