Commit a2f2ca06 by Nilu

C003 HT019

Need  to  use  unchecked  by  default.  Link  to  Privacy  policy.  Use  wording  that  makes  it  clear  that  data  captured  will  be  shared  with  participants  to  the  recruitment  process  including  the  Employer.  Plus  T&C.  Need  to  review  how  the  App  actually  implements  the  policies.  Need  2x  explicit  consent  =  Privacy  +  T&C.
parent 310276b8
......@@ -43,6 +43,8 @@ public class SendVerificationMailFP extends SaveFP
SecUser secUser = companyUser.getUser();
BusinessObjectParser.assertFieldCondition(!Utils.emailExists(process.getTransaction(), secUser.getEmail(), false), secUser, SecUser.FIELD_Email, "emailExists", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(companyUser.isTrue(companyUser.getPrivacyPolicyAgreed()), companyUser, CompanyUser.FIELD_PrivacyPolicyAgreed, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(companyUser.isTrue(companyUser.getConditionsAgreed()), companyUser, CompanyUser.FIELD_ConditionsAgreed, "mandatory", exceptions, true, request);
}
else
{
......
......@@ -41,6 +41,8 @@ public class VerifyIdentityFP extends SaveFP
BusinessObjectParser.assertFieldCondition(secUser.getFirstName() != null, secUser, SecUser.FIELD_FirstName, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(secUser.getLastName() != null, secUser, SecUser.FIELD_LastName, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(candidate.isTrue(candidate.getPrivacyPolicyAgreed()), candidate, Candidate.FIELD_PrivacyPolicyAgreed, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(candidate.isTrue(candidate.getConditionsAgreed()), candidate, Candidate.FIELD_ConditionsAgreed, "mandatory", exceptions, true, request);
return super.validate(submission, exceptions);
}
......
......@@ -153,4 +153,14 @@ public class Candidate extends BaseCandidate
return null;
}
public boolean showPrivacyPolicyAgreed()
{
return isTrue(getPrivacyPolicyAgreed());
}
public boolean showConditionsAgreed()
{
return isTrue(getConditionsAgreed());
}
}
\ No newline at end of file
......@@ -11,6 +11,9 @@
<MULTIPLEREFERENCE name="CultureCriteriaAnswers" type="CultureCriteriaAnswer" backreferenceName="Candidate" />
<MULTIPLEREFERENCE name="ProfileAssessmentAnswers" type="Answer" backreferenceName="Candidate" />
<TRANSIENT name="PrivacyPolicyAgreed" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="ConditionsAgreed" type="Boolean" defaultValue="Boolean.FALSE"/>
<TABLE name="oneit_sec_user_extension" tablePrefix="object" polymorphic="TRUE">
<ATTRIB name="Phone" type="String" dbcol="phone" length="30"/>
......
......@@ -198,4 +198,15 @@ public class CompanyUser extends BaseCompanyUser
{
return super.getSelectedTeam() == null ? getDefaultHiringTeam() : super.getSelectedTeam();
}
public boolean showPrivacyPolicyAgreed()
{
return isTrue(getPrivacyPolicyAgreed());
}
public boolean showConditionsAgreed()
{
return isTrue(getConditionsAgreed());
}
}
\ No newline at end of file
......@@ -12,6 +12,8 @@
<TRANSIENT name="Email" type="String" validators="Email" />
<TRANSIENT name="Password" type="String"/>
<TRANSIENT name="ConfirmPassword" type="String"/>
<TRANSIENT name="PrivacyPolicyAgreed" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="ConditionsAgreed" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENTSINGLE name="SelectedTeam" type="HiringTeam" />
......
......@@ -6355,3 +6355,8 @@ input{
}
.blue-label {color: #03a0e7;}
.privacy-link{
text-decoration: underline;
color: #03A0E7
}
\ No newline at end of file
......@@ -5,6 +5,11 @@
<%@ page import="oneit.security.SecUser"%>
<oneit:dynIncluded>
<script type="text/javascript">
$(document).ready(function() {
recalcFunction = setupRecalc ($("form#sign_up"), {'recalcOnError':true});
});
</script>
<%
CompanyUser companyUser = (CompanyUser) getData(request, "CompanyUser");
......@@ -62,4 +67,30 @@
}
%>
</div>
<div class="form-group text-left">
<div class="styled_checkboxes">
<div class="checkbox checkbox-primary">
<oneit:ormInput obj="<%= companyUser %>" id="privacy-policy-agreed" attributeName="PrivacyPolicyAgreed" type="checkbox" required="true"/>
<oneit:recalcClass htmlTag="span" classScript="companyUser.showPrivacyPolicyAgreed() ? 'checked': 'unchecked'" companyUser="<%= companyUser %>">
<label for="privacy-policy-agreed">
<oneit:label GUIName="I have read and agree to the " />
<a href="https://www.talentology.com/privacy/" target="_blank" class="privacy-link">Privacy Policy</a>
</label>
</oneit:recalcClass>
</div>
</div>
</div>
<div class="form-group text-left">
<div class="styled_checkboxes">
<div class="checkbox checkbox-primary">
<oneit:ormInput obj="<%= companyUser %>" id="conditions-agreed" attributeName="ConditionsAgreed" type="checkbox" required="true"/>
<oneit:recalcClass htmlTag="span" classScript="companyUser.showConditionsAgreed() ? 'checked': 'unchecked'" companyUser="<%= companyUser %>">
<label for="conditions-agreed">
<oneit:label GUIName="I have read and agree to the " />
<a href="https://www.talentology.com/terms-of-service/" target="_blank" class="privacy-link">Terms & Conditions</a>
</label>
</oneit:recalcClass>
</div>
</div>
</div>
</oneit:dynIncluded>
......@@ -78,6 +78,8 @@
$(document.body).addClass('bg-color');
$(document).ready(function() {
recalcFunction = setupRecalc ($("form#signIn"), {'recalcOnError':true});
validate();
$('input').on('change keyup', function() { validate() });
interval = setInterval(function() { validate(); }, 500);
......@@ -156,20 +158,40 @@
<%
}
%>
<div class="form-group text-left">
<div class="styled_checkboxes">
<div class="checkbox checkbox-primary">
<oneit:ormInput obj="<%= candidate %>" id="privacy-policy-agreed" attributeName="PrivacyPolicyAgreed" type="checkbox" required="true"/>
<oneit:recalcClass htmlTag="span" classScript="candidate.showPrivacyPolicyAgreed() ? 'checked': 'unchecked'" candidate="<%= candidate %>">
<label for="privacy-policy-agreed">
<oneit:label GUIName="I have read and agree to the " />
<a href="https://www.talentology.com/privacy/" target="_blank" class="privacy-link">Privacy Policy</a>
</label>
</oneit:recalcClass>
</div>
</div>
</div>
<div class="form-group text-left">
<div class="styled_checkboxes">
<div class="checkbox checkbox-primary">
<oneit:ormInput obj="<%= candidate %>" id="conditions-agreed" attributeName="ConditionsAgreed" type="checkbox" required="true"/>
<oneit:recalcClass htmlTag="span" classScript="candidate.showConditionsAgreed() ? 'checked': 'unchecked'" candidate="<%= candidate %>">
<label for="conditions-agreed">
<oneit:label GUIName="I have read and agree to the " />
<a href="https://www.talentology.com/terms-of-service/" target="_blank" class="privacy-link">Terms & Conditions</a>
</label>
</oneit:recalcClass>
</div>
</div>
</div>
<div class="text-center">
<oneit:button value="Create my account" name="verifyIdentity" cssClass="box-btn verify-btn"
<oneit:button value="Verify and proceed" name="verifyIdentity" cssClass="box-btn verify-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Job",job)
.mapEntry("Candidate",candidate)
.mapEntry("isVerify",isVerify)
.toMap() %>"/>
</div>
<div class="box-label" style="padding-top: 20px;">
By selecting 'Create my account' I agree to Talentology's
<a href="https://www.talentology.com/privacy/" target="_blank">privacy policy</a> and
<a href="https://www.talentology.com/terms-of-service/" target="_blank">terms of service</a>
</div>
</div>
</div>
</oneit:form>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment