Chubb sandbox backup. Still working on Supplier grouping script. Completed the Buildertrend templates work.

This commit is contained in:
Norm Rasmussen
2025-03-12 16:42:52 -04:00
parent 388e111e9b
commit 4addc47565
119 changed files with 4389 additions and 62 deletions

View File

@ -151,7 +151,7 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
}
.np-header-font-background-color {
background: #ffffff;
}
.fa-search:before {
content: "\f002";
@ -160,4 +160,4 @@ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
.np-header-avatar-button {
width: 50px;
}
</style>
</style>

View File

@ -8,10 +8,10 @@
</div>
<div class="np-homepage-subheadline np-header-font-color">
{{ homepage.subheadline }}
</div>
<div class="quizz" data-toggle-outside data-toggle-outside-event="click" data-toggle-class-on-target data-backdrop="static" data-toggle-target="#divModelPage1" data-toggle-escape data-toggle-modal>
Take a quiz to help guide your education &nbsp;<i class="far fa-regular fa-arrow-right"></i>
Take a quiz to help guide your education &nbsp;<i class="far fa-regular fa-arrow-right"></i>
</div>
</div>
<div class="np-masthead-hero-image" style="padding: 20px 20px; max-width: 400px;">
@ -27,7 +27,7 @@
</div>
</div>
</div>
{% else %}
{% else %}
<div class="np-allpage-hero" style="background-color: #001a43;">
<div class="np-container">
<div class="np-homepage-headline np-header-font-color" style="font-size: 3rem; color:white;">
@ -40,7 +40,7 @@
<style>
.quizz {
font-family: 'GT Walsheim', sans-serif;
color: #00d8d9;
font-size: 20px !important;
line-height: 24px;
@ -141,4 +141,4 @@
bottom: -2px;
position: absolute;
}
</style>
</style>

View File

@ -30,12 +30,12 @@
<p id="errorPage1" class="errorText" style="display:none" ><i class="far fa-exclamation-triangle"></i> Select at least 1 answer !! <i class="far fa-exclamation-triangle"></i></p>
</div>
<div class="question" >1. How do you typically interact with Buildertrend?</div>
<div class="form-container">
<div class="form-container">
<div class="checkbox-wrapper">
<div class="round">
<div class="round">
<input type="checkbox" class="requiredgrp1" value="1a" id="interact_desktopview" />
<label for="interact_desktopview"></label>
</div>
<span class="chkLbl">In the office using the desktop version</span>
</div>
@ -43,7 +43,7 @@
<div class="round">
<input type="checkbox" class="requiredgrp1" value="1b" id="interact_mobileapp" />
<label for="interact_mobileapp"></label>
</div>
<span class="chkLbl">In the field using the mobile app</span>
</div>
@ -51,23 +51,23 @@
<div class="round">
<input type="checkbox" class="requiredgrp1" value="1c" id="interact_webbrowser" />
<label for="interact_webbrowser"></label>
</div>
<span class="chkLbl">In the field using the web browser (.net)</span>
</div>
<div class="checkbox-wrapper">
<div class="round">
<input type="checkbox" class="requiredgrp1" value="1d" id="interact_mobileappanddesktop" />
<label for="interact_mobileappanddesktop"></label>
<label for="interact_mobileappanddesktop"></label>
</div>
<span class="chkLbl">I use a combination of mobile app and desktop</span>
</div>
</div>
<div class="buttonwrapper">
<button type="button" onclick="validate('#errorPage1','.requiredgrp1')" class="submit-btn" data-toggle-trigger-off="#divModelPage1"
data-toggle-class-on-target data-toggle-target="#divModelPage2"
<button type="button" onclick="validate('#errorPage1','.requiredgrp1')" class="submit-btn" data-toggle-trigger-off="#divModelPage1"
data-toggle-class-on-target data-toggle-target="#divModelPage2"
data-toggle-escape data-toggle-modal>Next</button>
</div>
</div>
</div>
</section>
</div>
@ -85,12 +85,12 @@
<p id="errorPage2" class="errorText" style="display:none" ><i class="far fa-exclamation-triangle"></i> Select at least 1 answer !! <i class="far fa-exclamation-triangle"></i></p>
</div>
<div class="question" >2. How do you typically engage with your company's financials?</div>
<div class="form-container">
<div class="form-container">
<div class="checkbox-wrapper">
<div class="round">
<input type="checkbox" class="requiredgrp2" value="2a" id="engagefinancials_integrationandbookkeeping" />
<label for="engagefinancials_integrationandbookkeeping"></label>
</div>
<span class="chkLbl">I handle accounting integration and bookkeeping</span>
</div>
@ -98,7 +98,7 @@
<div class="round">
<input type="checkbox" class="requiredgrp2" value="2b" id="engagefinancials_createestimatesandmanageproject" />
<label for="engagefinancials_createestimatesandmanageproject"></label>
</div>
<span class="chkLbl">I create estimates and manage the project budget</span>
</div>
@ -106,24 +106,24 @@
<div class="round">
<input type="checkbox" class="requiredgrp2" value="2c" id="engagefinancials_overseeprojectexpenses" />
<label for="engagefinancials_overseeprojectexpenses"></label>
</div>
<span class="chkLbl">I oversee project expenses</span>
</div>
<div class="checkbox-wrapper">
<div class="round">
<input type="checkbox" class="requiredgrp2" value="2d" id="engagefinancials_donotintractwithfinacials" />
<label for="engagefinancials_donotintractwithfinacials"></label>
<label for="engagefinancials_donotintractwithfinacials"></label>
</div>
<span class="chkLbl">I do not interact with the financials</span>
</div>
</div>
<div class="buttonwrapper">
<button type="button" class="submit-btn" data-toggle-trigger-off="#divModelPage2"
data-toggle-class-on-target data-toggle-target="#divModelPage1"
<button type="button" class="submit-btn" data-toggle-trigger-off="#divModelPage2"
data-toggle-class-on-target data-toggle-target="#divModelPage1"
data-toggle-escape data-toggle-modal>Back</button>
<button type="button" onclick="validate('#errorPage2','.requiredgrp2')" class="submit-btn" data-toggle-trigger-off="#divModelPage2"
data-toggle-class-on-target data-toggle-target="#divModelPage3"
<button type="button" onclick="validate('#errorPage2','.requiredgrp2')" class="submit-btn" data-toggle-trigger-off="#divModelPage2"
data-toggle-class-on-target data-toggle-target="#divModelPage3"
data-toggle-escape data-toggle-modal>Next</button>
</div>
</div>
@ -142,12 +142,12 @@
<p id="errorPage3" class="errorText" style="display:none" ><i class="far fa-exclamation-triangle"></i> Select at least 1 answer !! <i class="far fa-exclamation-triangle"></i></p>
</div>
<div class="question" >3. How do you typically engage with project management?</div>
<div class="form-container">
<div class="form-container">
<div class="checkbox-wrapper">
<div class="round">
<input type="checkbox" class="requiredgrp3" value="3a" id="engageprojectmanagment_buildandmanagescheduleandoverseeoperations" />
<label for="engageprojectmanagment_buildandmanagescheduleandoverseeoperations"></label>
</div>
<span class="chkLbl">I build and manage project schedule and oversee operations</span>
</div>
@ -155,7 +155,7 @@
<div class="round">
<input type="checkbox" class="requiredgrp3" value="3b" id="engageprojectmanagment_collaboratehomeownersondesignandcommunication" />
<label for="engageprojectmanagment_collaboratehomeownersondesignandcommunication"></label>
</div>
<span class="chkLbl">I collaborate with homeowners on project design and communication</span>
</div>
@ -163,29 +163,29 @@
<div class="round">
<input type="checkbox" class="requiredgrp3" value="3c" id="engageprojectmanagment_workinfield" />
<label for="engageprojectmanagment_workinfield"></label>
</div>
<span class="chkLbl">I work in the field and manage my own time and tasks</span>
</div>
<div class="checkbox-wrapper">
<div class="round">
<input type="checkbox" class="requiredgrp3" value="3d" id="engageprojectmanagment_donotengage" />
<label for="engageprojectmanagment_donotengage"></label>
<label for="engageprojectmanagment_donotengage"></label>
</div>
<span class="chkLbl">I do not engage with project management</span>
</div>
</div>
<div class="buttonwrapper">
<button type="button" class="submit-btn" data-toggle-trigger-off="#divModelPage3"
data-toggle-class-on-target data-toggle-target="#divModelPage2"
<button type="button" class="submit-btn" data-toggle-trigger-off="#divModelPage3"
data-toggle-class-on-target data-toggle-target="#divModelPage2"
data-toggle-escape data-toggle-modal>Back</button>
<button type="button" onclick="validate('#errorPage3','.requiredgrp3')" id="submitButton" data-toggle-target="#divModelPage3"
<button type="button" onclick="validate('#errorPage3','.requiredgrp3')" id="submitButton" data-toggle-target="#divModelPage3"
class="submit-btn" style="width: auto;">Submit Answers</button>
</div>
</div>
</div>
</section>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.3.min.js"
integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU=" crossorigin="anonymous"></script>
@ -193,7 +193,7 @@
$(document).ready(function(){
//blinker();
});
@ -215,7 +215,7 @@ $(document).ready(function(){
{
console.log(errorElement)
$(errorElement).show()
event.stopImmediatePropagation();
return;
}
@ -262,7 +262,7 @@ function submitAnswers() {
let userData = {
"uuid": '{{current_person.id}}',
"answers": strSelectedAnswers
"answers": strSelectedAnswers
}
@ -291,14 +291,10 @@ function submitAnswers() {
method: 'POST',
success: function (res) {
console.log(res)
setTimeout(function () {
document.querySelector(".info-form-trigger").click()
}, 1000)
window.location.reload();
$("body").removeClass("body_overlay");
$("#myloading").remove();
//hitEscapeKey();
},
error: function (xhr, status, error) {
console.error("Error posting to workato!");
@ -306,9 +302,12 @@ function submitAnswers() {
if (secondaryInfoStored == "true") {
console.log("secondary information completed and stored in local storage")
}
}
},
complete: function() {
setTimeout( function() {window.location.reload();}, 1000)
}
});
}
@ -400,7 +399,7 @@ font-size:14px;
opacity: 1;
}
/* Form Syyles */
.close {
@ -415,11 +414,11 @@ font-size:14px;
}
.errorText {
font-size: 18px;
font-family: "GT Walsheim", sans-serif;
font-family: "GT Walsheim", sans-serif;
font-weight: bold;
color: red;
color: red;
}
.buttonwrapper {
display: flex;
flex-direction: row;
@ -435,14 +434,14 @@ font-size:14px;
}
.form-container {
display: flex;
max-width: 100%;
margin: 0 auto;
background-color: #ffffff;
padding: 20px;
border-radius: 8px;
flex-wrap: wrap;
}
@ -482,7 +481,7 @@ font-size:14px;
border-radius: 4px;
cursor: pointer;
margin: 10px;
}
/* Popup Styles */
@ -569,4 +568,4 @@ font-size:14px;
margin-bottom: 22px;
}
}
</style>
</style>

View File

@ -4,3 +4,30 @@
{% endif %}
{{ training_session.status.label }}
</div>
<script>
document.addEventListener("DOMContentLoaded", () => {
const btn = document.querySelector('.event-status');
if (btn) {
const eventId = btn.getAttribute('data-event-id');
const statusKey = `eventStatus-${eventId}`;
const maxAttempts = 15;
let attempts = parseInt(sessionStorage.getItem(statusKey)) || 0;
if (btn.innerText.trim() === 'PENDING - WAITING APPROVAL' && attempts < maxAttempts) {
setTimeout(() => {
attempts++;
sessionStorage.setItem(statusKey, attempts);
window.location.reload();
}, 2000);
}
if (btn.innerText.trim() !== 'PENDING - WAITING APPROVAL') {
sessionStorage.removeItem(statusKey);
}
}
});
</script>