backedup cin7 templates. Cloned more courses. Domains to csv for anthology was completed. new GAS script for cin7 courses within a google sheet.

This commit is contained in:
Norm Rasmussen
2024-03-26 17:28:59 -04:00
parent 299fda0696
commit 30f5cfd5e4
30 changed files with 640 additions and 56 deletions

Binary file not shown.

View File

@ -1,4 +1,4 @@
<div class="card" categories="{%for category in course.categories%}{{category.name}},{%endfor%}" duration="{{course.properties.course_duration}}">
<div class="card" categories="{%for category in course.categories%}{{category.name}}[$]{%endfor%}" duration="{{course.properties.course_duration}}">
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
<a class="lp-link" href="{{ course_path }}">
<div class="card-image">
@ -16,7 +16,7 @@
{% endif %}
</div>
<div class="card-content">
<div class="card-type">COURSE <i class="far fa-graduation-cap"></i></div>
<div class="card-type"><i class="far fa-graduation-cap"></i> COURSE </div>
<h3 class="card-content-title course-name">
{{ course.name }}
</h3>
@ -30,10 +30,10 @@
{{course.properties.course_duration}} min
</div>
{% endif %}
{% unless course.properties.audience == 'missing property: audience' %}
{% unless course.properties.recommended_for_group == 'missing property: audience' %}
<div class="recommended">
<i class="far fa-users"></i>
{{course.properties.audience}}
{{course.properties.recommended_for_group}}
</div>
{% endunless %}
</div>

View File

@ -1,11 +1,13 @@
<div class="np-card np-no-horizontal-padding">
<div class="np-card np-no-horizontal-padding lp-card" categories="{%for category in learning_path.categories%}{{category.name}}[$]{%endfor%}">
<div class="np-card-container">
<div class="np-learning-path">
<div class="lp-image-container">
<img
alt="{{ learning_path.name }}"
class="np-card-image np-learning-path-image"
src="{{ learning_path.image_url }}"
/>
</div>
<div class="np-card-text-wrapper">
<div class="np-hidden-desktop np-card-header">
<i class="np-card-header-icon far fa-road"></i>

View File

@ -6,6 +6,7 @@
class="learning-path-card-image"
src="{{ learning_path.image_url }}"
/>
{% if learning_path.name contains "Omni" or learning_path.name contains "Core"%}
<div class="np-card-ribbon" {% if learning_path.name contains "Omni" %} style="background: #0026b2;"{% endif %}>
{% if learning_path.name contains "Omni" %}
Omni
@ -13,9 +14,10 @@
Core
{% endif %}
</div>
{%endif%}
</div>
<div class="card-content">
<div class="card-type">LEARNING PATH <i class="far fa-road"></i></div>
<div class="card-type"><i class="far fa-road"></i> LEARNING PATH</div>
<h3 class="card-content-title">
{{ learning_path.name }}
</h3>

View File

@ -0,0 +1,25 @@
<a class="card category-card" href="/app/learning_paths?category={{category.name}}&category=Deep Dive: Core">
<div class="core-category-wrapper">
<div class="card-category card-category-core">
<img class="badge-card-image card-category-image-core"
{% if category.name == 'Warehouse Operations: Core' %}
src="{{category_images[4]}}" alt=""
{% elsif category.name == 'Admin: Core' %}
src="{{category_images[1]}}" alt=""
{% elsif category.name == 'Product Management: Core' %}
src="{{category_images[2]}}" alt=""
{% elsif category.name == 'Accounting: Core' %}
src="{{category_images[0]}}" alt=""
{% elsif category.name == 'Simple Manufacturing: Core' %}
src="{{category_images[3]}}" alt=""
{% endif %}
>
</div>
<div class="card-content card-content-core">
<h3 class="card-content-title">{{category.name | replace: ": Core", " Deep Dives"}}</h3>
<div class="course-desc course-desc-category-core">Level up your expertise and enhance your operations with {{category.name | replace: ": Core", " Deep Dives"}}.</div>
</div>
</div>
</a>

View File

@ -24,7 +24,7 @@
$('.category-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 5,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
@ -58,7 +58,7 @@
padding: 1rem 0;
height: auto;
}
.my-courses-carousel {
.category-carousel {
margin: 0 1rem;
}
</style>

View File

@ -0,0 +1,64 @@
{% assign unique_category = "" %}
{% assign category_images = 'https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Accounting+Deep+Dives+-+Thumbnails.png, https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Administrative+Deep+Dives+-+Thumbnail.png, https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Product+Management+Deep+Dives+-+Thumbnail.png, https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Simple+Manufacturing+Deep+Dives+-+Thumbnail.png, https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Warehouse+Operations+Deep+Dives+-+Thumbnail.png' | split: ', ' %}
{% assign category_counter = 0 %}
{% assign core_categories = 'Warehouse Operations: Core, Admin: Core, Product Management: Core, Accounting: Core, Simple Manufacturing: Core' | split: ", " %}
<div class="category-carousel-core">
{% for learning_path in learning_paths.available %}
{% for category in learning_path.categories %}
{% if core_categories contains category.name %}
{% unless unique_category contains category.name %}
{% include 'category_cards_core' counter: category_counter %}
{% assign unique_category = unique_category | append: category.name %}
{% assign category_counter = category_counter | plus: 1 %}
{% if category_counter > 3 %}
{% assign category_counter = 0 %}
{% endif %}
{% endunless %}
{% endif %}
{% endfor %}
{% endfor %}
</div>
<script>
$('.category-carousel-core').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
infinite: true
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.category-carousel-core {
margin: 0 1rem;
}
</style>

View File

@ -1,3 +1,27 @@
{% assign omni = false %}
{% assign core = false %}
{% assign redirect = false %}
{% if current_person.signed_in? %}
{% for group in current_person.groups %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endfor %}
{% endif %}
{% if core and course.name contains 'Omni' %}
{% assign redirect = true %}
{% elsif omni and course.name contains 'Core' %}
{% assign redirect = true %}
{% endif %}
{% if redirect %}
<script>window.location.replace('/app')</script>
{% endif %}
<div class="np-card-container">
<div class="lp-header-container">
<div class="lp-heading lora course-name"> {{ course.name }}</div>

View File

@ -23,6 +23,13 @@
{% t .retake, key: current_school.course_vocabulary %}
</button>
</form>
{% else %}
{% if current_person.signed_in? == false%}
<a
class="lp-button" href="/learners/sign_in"
>
Sign In
</a>
{% else %}
<a
class="lp-button"
@ -43,4 +50,5 @@
{% endif %}
</a>
{% endif %}
{% endif %}

View File

@ -44,7 +44,7 @@
$('.feature-courses-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 5,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
@ -78,7 +78,7 @@
padding: 1rem 0;
height: auto;
}
.my-courses-carousel {
.feature-courses-carousel {
margin: 0 1rem;
}
</style>

View File

@ -150,15 +150,17 @@ document.addEventListener("DOMContentLoaded", function() {
});
var urlParams = new URLSearchParams(window.location.search);
var categoryFromUrl = urlParams.get('category');
var categoriesFromUrl = urlParams.getAll('category');
var durationFromUrl = urlParams.get('duration');
if (categoryFromUrl) {
var categoryCheckbox = document.getElementById(categoryFromUrl);
if (categoriesFromUrl.length > 0) {
categoriesFromUrl.forEach(function(category) {
var categoryCheckbox = document.getElementById(category);
if (categoryCheckbox) {
categoryCheckbox.click();
}
}
});
}
if (durationFromUrl) {
var durationCheckbox = document.getElementById(durationFromUrl);
@ -210,7 +212,7 @@ function getSelectedDurations() {
}
function matchesCategories(courseCategories, selectedCategories) {
var courseCategoriesArray = courseCategories.split(',').map(function (category) {
var courseCategoriesArray = courseCategories.split('[$]').map(function (category) {
return category.trim();
});

View File

@ -154,7 +154,6 @@
</div>
</div>
{% else %}
{% unless log_out %}
<a
class="np-header-sign-in np-header-desktop-nav-link np-header-font-color"
aria-label="{% t shared.sign_in %}"
@ -162,7 +161,6 @@
>
{% t shared.sign_in %}
</a>
{% endunless %}
{% endif %}
</div>
</header>

View File

@ -25,26 +25,26 @@
</div>
</div>
</div>
{% elsif core %}
{% elsif core or log_out%}
<div class="heading lora info-section-heading">Transformative education for Connected Inventory Performance</div>
<div class="section-content section-content-info">
<div class="info-wrapper">
<div class="info">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/in+depth+learning.png" alt="">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Dynamic+Courses.png" alt="">
<div class="info-content">
<div class="info-heading">Dynamic courses</div>
<div class="info-desc">Developed by our product education professionals</div>
</div>
</div>
<div class="info">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Always+available.png" alt="">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Results+Driven.png" alt="">
<div class="info-content">
<div class="info-heading">Results-driven education</div>
<div class="info-desc">Designed for you to meet your business goals</div>
</div>
</div>
<div class="info">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Designed+for+everyone.png" alt="">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Customer+Centered.png" alt="">
<div class="info-content">
<div class="info-heading">Customer-centered</div>
<div class="info-desc">Supporting you through all stages of your journey</div>

View File

@ -0,0 +1,49 @@
{% assign counter = 0 %}
{% assign learning_paths_core = '50e59300-af4f-40c5-8731-ee88284d8f0d, 3793a1a2-3efa-4cea-afa9-077585520476, a67a07df-f153-4dce-ae93-90f3d76e77df, cdb26bc8-cd06-48dc-b5c4-57349c27b03d, d7d7ff88-3419-4999-b209-13faea260939' | split: ', ' %}
<div class="carousel-wrapper">
<div class="learning-path-carousel-core">
{% for learning_path in learning_paths.available %}
{% if learning_paths_core contains learning_path.id%}
<div class="card-wrapper">
{% include "cards_learning_path_homepage" with learning_path %}
</div>
{% assign counter = counter | plus: 1 %}
{% endif %}
{% endfor %}
</div>
{% if counter == 0 %}
<div class="zero-state-wrapper">
<img class="zero-img" src="https://s3.amazonaws.com/static.northpass.com/Cin7/zero+state/no+courses+or+lps+(no+button).png" alt="">
<div class="zero-button-wrapper">
<a class="lp-button" href="/app/catalog">Continue learning now!</a>
</div>
</div>
{% endif %}
</div>
<script>
$('.learning-path-carousel-core').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>"
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.learning-path-carousel-core {
margin: 0 1rem;
}
</style>

View File

@ -1,3 +1,27 @@
{% assign omni = false %}
{% assign core = false %}
{% assign redirect = false %}
{% if current_person.signed_in? %}
{% for group in current_person.groups %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endfor %}
{% endif %}
{% if core and learning_path.name contains 'Omni' %}
{% assign redirect = true %}
{% elsif omni and learning_path.name contains 'Core' %}
{% assign redirect = true %}
{% endif %}
{% if redirect %}
<script>window.location.replace('/app')</script>
{% endif %}
<div class="lp-desktop-wrapper">
<div class="row">
<div class="col-xs-12 col-sm-6">

View File

@ -7,5 +7,10 @@
</div>
</div>
{% endif %}
{% learning_path_next_step_button learning_path, class: "lp-button" %}
{% if current_person.signed_in? == false %}
<a class="lp-button" href="/learners/sign_in">
Sign In
</a>
{% else %}
{% learning_path_next_step_button learning_path, class: "lp-button" %}
{% endif %}

View File

@ -1,21 +1,50 @@
{% if result.type == 'course' %}
<div class="np-card np-search-result">
<div class="np-card-container">
<div class="np-card-content">
<img
class="np-search-result-image"
alt="{{ result.name }}"
src="{{ result.image_url }}"
/>
<div class="np-search-result-content">
<div>
<a class="np-search-result-title" href="{{ result.path }}">
{{ result.name }}
</a>
{% if omni %}
{% if result.name contains 'Omni' %}
<div class="np-card np-search-result">
<div class="np-card-container">
<div class="np-card-content">
<img
class="np-search-result-image"
alt="{{ result.name }}"
src="{{ result.image_url }}"
/>
<div class="np-search-result-content">
<div>
<a class="np-search-result-title" href="{{ result.path }}">
{{ result.name }}
</a>
</div>
<div class="np-search-result-snippet">{{ result.description }}</div>
</div>
<div class="np-search-result-snippet">{{ result.description }}</div>
</div>
</div>
</div>
</div>
{% endif %}
{% elsif core %}
{% if result.name contains 'Core' %}
<div class="np-card np-search-result">
<div class="np-card-container">
<div class="np-card-content">
<img
class="np-search-result-image"
alt="{{ result.name }}"
src="{{ result.image_url }}"
/>
<div class="np-search-result-content">
<div>
<a class="np-search-result-title" href="{{ result.path }}">
{{ result.name }}
</a>
</div>
<div class="np-search-result-snippet">{{ result.description }}</div>
</div>
</div>
</div>
</div>
{% endif %}
{% endif %}
{%endif%}

View File

@ -35,21 +35,29 @@
<div class="page-content">
<div class="section np-max-width">
{% if core %}
<div class="heading lora">New to Cin7 Core? Start learning here!</div>
<div class="heading lora">Learn Cin7 Core by your function with Learning Paths</div>
<div class="section-content">
{% include 'learning_path_carousel' %}
</div>
{% include 'learning_path_carousel_core' %}
</div>
<div class="heading lora">Grow and broaden your Cin7 Core expertise with Deep Dives</div>
<div class="section-content">
{% include "category_carousel_core"%}
</div>
{% elsif omni %}
<div class="heading lora">New to Cin7 Omni? Start learning here!</div>
<div class="section-content">
{% include "category_carousel"%}
</div>
{% elsif log_out %}
<div class="heading lora">New to Cin7 Core? Start learning here!</div>
<div class="heading lora">Learn Cin7 Core by your function with Learning Paths</div>
<div class="section-content">
{% include 'learning_path_carousel' %}
{% include 'learning_path_carousel_core' %}
</div>
<div class="heading lora">New to Cin7 Omni? Start learning here!</div>
<div class="heading lora">Grow and broaden your Cin7 Core expertise with Deep Dives</div>
<div class="section-content">
{% include "category_carousel_core"%}
</div>
<div class="heading lora">Learn Omni by module and features</div>
<div class="section-content">
{% include "category_carousel"%}
</div>

View File

@ -13,6 +13,12 @@
{% endfor %}
{% endif %}
{% if log_out %}
<script>
window.location.replace('https://academy.cin7.com/learners/sign_in');
</script>
{% endif %}
{% include "header" %}
<div class="hero-homepage">
<div class="np-max-width">
@ -30,3 +36,33 @@
</div>
</main>
{% include "footer" %}
<script>
document.addEventListener('DOMContentLoaded', function() {
const urlParams = new URLSearchParams(window.location.search);
const categoriesFromURL = urlParams.getAll('category');
if (categoriesFromURL.length === 0) {
return;
}
const cards = document.querySelectorAll('.lp-card');
const cardMatchesCategories = (card, categories) => {
const cardCategories = card.getAttribute('categories').split('[$]');
return categories.every(category => cardCategories.includes(category));
};
const filterCards = () => {
cards.forEach(card => {
if (cardMatchesCategories(card, categoriesFromURL)) {
card.style.display = 'block';
} else {
card.style.display = 'none';
}
});
};
filterCards();
});
</script>

View File

@ -34,9 +34,9 @@
{% t .forgot_password %}
</a>
{% if features.account_creation? %}
<a class="np-form-link np-button-color" href="{% route sign_up %}">
{% comment %} <a class="np-form-link np-button-color" href="{% route sign_up %}">
{% t shared.sign_up %}
</a>
</a> {% endcomment %}
{% endif %}
{% if features.request_access? %}
<a

View File

@ -13,7 +13,7 @@
{% form_authenticity_token %}
<div class="np-form-field">
<label class="np-input-label" for="learner_password">
{% t .new_password %}
{% t .new_password %} * <br> Password must be a minimum of 8 characters, with at least 1 capital letter, 1 number, and 1 special character.
</label>
<input
class="np-input"

View File

@ -1,3 +1,19 @@
{% assign omni = false %}
{% assign core = false %}
{% assign log_out = true %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endfor %}
{% endif %}
{% include "header" %}
<main class="np-main np-search np-subpage-container np-max-width">
<div class="np-resource-title">
@ -6,13 +22,13 @@
<div class="np-search-header">
<div class="np-resource-subtitle">
{% t .showing %}
<span class="np-resource-subtitle-number">{{ results.count }}</span>
{% comment %} <span class="np-resource-subtitle-number">{{ results.count }}</span> {% endcomment %}
{% t .results_for %}
<span class="np-button-color">"{{ results.term }}"</span>
</div>
</div>
{% if results.items.any? %}
{% render "search_result" for results.items as result %}
{% render "search_result" for results.items as result, core: core , omni: omni %}
{% else %}
{% include "search_zero_state" %}
{% endif %}

View File

@ -134,7 +134,11 @@ body {
.card-image {
position: relative;
}
.np-optional-ribbon {
background: #05CBBF;
color: #fff;
}
.np-card-ribbon {
top: 0;
right: 0;
@ -143,6 +147,7 @@ body {
font-size: 0.85rem;
font-weight: 600;
padding: 5px 12.5px;
background: #05CBBF;
}
.lp-progress-text {
@ -302,6 +307,8 @@ body {
.np-learning-path-image {
border-bottom-left-radius: 20px;
border-top-left-radius: 20px;
width: 100% !important;
height: 100%;
}
.card-content {
background: #fff;
@ -528,6 +535,15 @@ body {
transform: translateY(-0.125rem);
}
.card-category-core {
background: none;
padding: 0;
}
.card-category-image-core {
width: 100%;
border-radius: 20px 20px 0 0;
}
@media only screen and (max-width: 768px) {
.hero-text {
font-size: 2.5rem;
@ -561,3 +577,21 @@ body {
margin-bottom: 20px;
}
}
.core-category-wrapper {
display: flex;
flex-direction: column;
height: 100%;
}
.course-desc-category-core {
margin-top: 15px;
color: #002f6f;
height: 100%;
display: flex;
align-items: end;
}
.card-content-core {
display: flex;
flex-direction: column;
justify-content: space-between;
}

View File

@ -1,4 +1,8 @@
import pandas as pd
import Domains_W_Names
print(Domains_W_Names.DOMAINDICT)
domains = Domains_W_Names.DOMAINDICT
df = pd.DataFrame()
data = df.from_dict(domains, orient='index')
csv = data.to_csv("~/Downloads/Anthology_Domains_w_Names.csv")

View File

@ -0,0 +1 @@
{"scriptId":"1e5nYT5B2NyD5UQdJvgC9Dh5fBkaF6-BBwD2X26iV-6VwB0bt8OCbMEzY","rootDir":"/Users/normrasmussen/Documents/Work/Scripts/GAS_GS/Cin7-Courses-List"}

View File

@ -0,0 +1,26 @@
const apiKey = "51BNlRsLYKQxSu1q1UQq7F63j"
function getCourses() {
let page = 0
while (page >= 0) {
page++
Logger.log(page)
var apiURL = 'https://api.northpass.com/v2/courses?limit=100&page='+page;
const settings = {
async: true,
crossDomain: true,
method: 'GET',
headers: {
accept: 'application/json',
'X-Api-Key': apiKey
}
};
const sendMsg = UrlFetchApp.fetch(apiURL, settings);
var txtResponse = sendMsg.getContentText();
var parseProps = JSON.parse(txtResponse);
if (parseProps["links"]["next"] == null) {
break;
}
}
}

View File

@ -0,0 +1,7 @@
{
"timeZone": "America/New_York",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}

View File

@ -8,9 +8,163 @@ const rl =
})
var userEmail= 'nrasmussen@northpass.com';
var userPassword= 'ecx5pmy!MAN2vgh2knc';
var otp = '143266';
var otp = '215972';
var schoolUUID = '5692537e-4921-40e8-9c8d-1218b0ffa2da'
var courseUUIDs = [
'dd8547a8-b3fd-402c-845b-8ced68de7d90',
'a79b23c6-9287-40cb-9f18-73ced757a145',
'19f228d8-707b-4899-a612-f779e0582ca3',
'b91e68f2-b493-4a80-b8fb-0f08471145e4',
'3a46d179-e833-411d-9fc9-65f99193e74e',
'a0d1f033-20da-4e1c-ba46-dad71b4420af',
'98fdcc99-985c-4deb-8a2a-074f80027ef6',
'a2d18a42-a961-45ae-b75d-5e9011a0458e',
'efdd20d5-0f7c-4cf2-9922-c207021ac902',
'6c4ed66c-d240-49ab-963b-c7096854eca4',
'd885aaa3-d845-4116-b2cd-6ce4c03ffc7b',
'429c8a3e-e4b7-4557-9969-862d7e2261e6',
'a754a767-56c0-4a99-98f2-8e9594312bbd',
'9d23662c-4855-4b19-892c-f101ef2ab39c',
'a48f746e-7ec1-4f77-8350-ba75b1144222',
'fe43a7ac-f06a-47f5-aecb-d46f07e285d5',
'cd105354-ff0a-4ad2-8425-e99e2326f3bd',
'87d6dfed-b0e4-4c7f-b025-f80b2d90d251',
'e63675bd-db65-402c-aa2f-7109f8e8cc6f',
'98ab2040-4646-4a89-a23f-e4ef7d6f4e2e',
'2ab52b30-3fa5-491a-80a9-a48e9a5f122c',
'7a95dbd2-7cfa-4bf7-8151-b97154014d00',
'2a58b9fb-6c63-4d1d-90ff-bff744f36794',
'31915ca1-b445-4086-bac3-65f74f36d4de',
'a818c30b-1846-4996-a746-3c74a38a9de4',
'00163e87-bf1d-40ce-97a9-1fba4494168d',
'9f93cab8-0058-4f24-a2c7-ca8b9e3473e2',
'bd3ee6c2-01ef-4a4f-a410-2350251d83d0',
'68e0b4f7-512a-4424-96c5-5445351ce4ea',
'00f08787-e6f1-4ef8-8999-cd6f56f84b84',
'ae861af4-3635-453c-93ed-5f8621789608',
'e5669b77-5cd0-41ac-99b0-d0ebe4de0228',
'3f02f4d9-666b-4cd7-9282-e1d292d57e99',
'eab65a65-b150-4335-a2c0-4c853de2c734',
'58282cb8-c177-4273-8219-f14b8051c694',
'5f22a592-4045-42fd-8b88-8f68700fc17e',
'b707e716-8cac-434b-a851-962f18f4d84f',
'02732eea-a545-4616-ac94-d4b1b08380b0',
'a69a5762-b59f-4d4b-801f-64edc4ae2953',
'99f72da4-2e1f-4153-a4a9-71169f80ba65',
'57d90048-c798-4958-af2c-7b4b9c565b70',
'7b0ba52d-9ae2-4c3c-9646-067fe5650681',
'8b4cec51-56b4-4aca-aa6c-03199f997962',
'4329cf31-ceaf-45a2-87a8-8fedf0e77ff6',
'88dda481-bf64-4f8f-b32a-35141a6df121',
'3c3293f4-666b-48f5-9870-f053c766bb8e',
'e353e8eb-ad53-4eaf-b889-51858b69e543',
'3c8ad087-16f8-48e4-8568-d644e79ad176',
'0a576996-4387-4e69-b849-4ce886d35a74',
'fa3387b7-9dec-4539-a98d-f6975f427754',
'2465ab2a-9928-47ce-b533-2db316311cf6',
'13b4ce9b-62f5-43d9-8159-0134c48326c3',
'a4010ef1-45a1-46c2-9e69-ad262e48b570',
'03fa9c71-d6d2-4600-b301-420c3a0aa39c',
'bf173b8e-d7ce-4f95-9258-e35641033eda',
'9c168f49-ae54-44e2-bbc2-54d899e1a18c',
'68287a12-2632-4d20-ae83-91ba291bdbed',
'e88033c4-10aa-4297-9603-07d572125a98',
'c2e80fcd-e315-4f46-ad4f-5fdefd85f32a',
'c4e94895-2adf-4196-9aac-3fa830d039c3',
'db1849a4-f850-4d14-873b-264c7a8f7148',
'f35ff483-f8a6-49ed-a053-2beba1b629c1',
'289ca66a-19ea-49e1-aa28-199e53b740ea',
'9cea7037-9f00-4d12-88b8-59e15b79b7d4',
'baa8adc3-5c88-4ef3-bca5-98467f22f779',
'a220e92f-c437-48b4-b19d-665f60a23cf6',
'c1a15bdb-c67f-4bab-9cf4-21fe43c29ba1',
'ee5bae86-6c5b-4389-bfe1-61fe988e70d5',
'fa8d1ec3-14c9-4968-851f-9ab8cce162c2',
'9b8cd23d-0b70-4fe3-afd6-96f54c159aa5',
'7060e51d-c5cb-4569-a6f5-e444b3acfece',
'20e2e746-4abb-4b7d-8723-fa028865efc5',
'6d398ea6-2727-4aba-9583-6aeedcf0d648',
'5253d85e-0915-4595-bcc9-9aa37f69e0ab',
'6b7604eb-7c0c-47a2-aeed-34cc97cb08e2',
'3845e89f-373b-4a49-b86d-b5fbe77aa678',
'493811b2-73c8-41cb-9d82-8c0003d112c6',
'ca0abc2d-d275-4a01-9973-1a43d39fd76d',
'440320b2-3e67-4965-a70f-f137267b5778',
'0e23ecf0-416a-40be-a63c-4b498a7bc5e9',
'06c8e5a5-26d9-4214-9f35-dbf3ea8da931',
'7fd0c3d8-0805-4deb-8e53-bf6b8ab4b0c9',
'9dd07d16-9687-461b-9d0e-e02a14e86249',
'b95a1912-863b-47f8-aedb-45b8ef02cff5',
'72583d21-ff2c-4a1e-a3c4-abe3e366c4a3',
'adbcfdd4-a11d-40fb-9499-79a4d13d22ff',
'046bfa23-f625-45f4-aa30-715f8b6f37a5',
'283807fc-82ec-4509-8873-dec932177e33',
'7d038271-b131-44bf-8d1e-75502ca18be8',
'021e5ac2-cf44-4f1f-a1cb-0c010327e552',
'c6f739c4-2970-4b98-a8a2-36dcfb52c4ca',
'70f626e5-46e6-47e5-b9ca-a31446ad014c',
'aaef1298-4b3b-4f72-a575-a130d49b1d11',
'2a4c8c5e-bc85-4a8a-967b-375815c2fed8',
'b222f236-6435-4483-a258-0c51cac9b65a',
'0b401958-853e-45c2-b492-3df2bd1deaa0',
'622d41ff-9643-4a5a-b1eb-a03998e8dc2c',
'85a14c5f-74de-4688-870b-00827787e341',
'345b8c0b-fc98-4134-b935-14965503e9a1',
'edc30c7e-8eee-4f9c-a492-79ad5a38a4c0',
'5c0f53fb-bf4d-4c67-a984-9b9204e8bff3',
'5ddb05fb-4f84-48d6-8da1-4ce0aabca643',
'e365ce57-520c-4e0b-9478-c897b193b7ff',
'08bae3cd-0262-487b-b98f-569d4d90fa96',
'020fab83-8723-49d8-9fb5-becd13d5c1de',
'8039efc8-86a3-44b9-99d2-6ba155690370',
'828603ec-27a2-48ee-8aff-6567ca1bf25f',
'96e0a71e-6e7c-422b-9759-7e5efce88646',
'26ade7bf-5192-4e95-a391-4412f32a2aad',
'94d51532-6547-4756-9d95-f91bf5d2ec8e',
'c1bc93e4-deff-4c53-9197-fae55299e596',
'a018dd13-9419-4176-b707-6ece39d31729',
'dd641db0-4a82-42b8-9477-c013e0a57dff',
'a7e8e682-aadf-4c92-88ab-bae0b912a4d3',
'6efadeb2-d270-461e-8847-6f53752b9fdf',
'c8b5b7b9-0ca8-4b00-a7ef-f70ab67be268',
'0747cc56-55ed-4273-9358-158e97ed177b',
'72a35764-6706-432f-9774-d4c396929929',
'0c970975-c370-41cd-8be3-0a46833a80b6',
'def8a3ec-68d5-498c-922b-a0676eaba124',
'0bbab6c7-4a6a-4583-942c-864a13721f01',
'52e32cfa-ce55-4317-8cb6-8bace841bfde',
'9a52756b-17a9-4129-969c-d96f8df6d671',
'5a19ad83-1e0d-4bff-97fc-777620f2e93f',
'a7c5f4c1-3326-4acc-b4b4-c724eeca1bc7',
'60fced38-854e-4cd5-afbe-bd5a7b97b935',
'048dd3ba-cd88-477a-916a-529ee936a5ff',
'96a9b7f5-ff0e-4260-a1bb-3fd31a263854',
'd9b18523-f0be-4d50-b070-e4f08366c709',
'472a99ba-05ad-4bd6-aa8c-789e61a66081',
'5eec0176-6e0e-453f-a50f-94059b2dd5c7',
'f0f2a959-4b53-4092-b354-b8371f8b7647',
'8a2ee08e-ad39-4fb7-8bc2-cbbd51b0f7f9',
'1d85460a-cfa5-4422-9c9b-0e73c07d719b',
'47efd48c-2e47-418a-9ed2-0b071f0e7843',
'd8f33a5d-6dc9-4aba-a04f-42791532e246',
'2a4aa380-f8ff-4823-bd58-36a3093beed0',
'a3f84bf1-ea6d-4500-bdda-10a25547eb3b',
'5538633b-1d78-4252-9836-85dcd4b67930',
'8805dfc7-50b8-4251-8334-0da3a2eaa6b2',
'a8520656-acb0-4868-badd-da1a3aa6719a',
'8422ea8e-64a8-405b-bed4-afcd5a841b95',
'69b538bb-8004-422d-ada5-a1a9eb9e7829',
'8c1d6c3c-ae7e-47fd-8089-d72cbbaca070',
'6f45495d-cbd7-42d7-8a4f-617bdeba392c',
'4d22e68a-2adf-4894-9f60-cc6a52fc978b',
'e8a97349-fa4d-42a7-9850-1c0486fafa3c',
'973b4eb7-7782-450f-9a59-786e6d353b88',
'9ead872c-629d-4dcd-921c-f2af91537218',
'08e0d1d4-666b-445c-b6f8-0a7e9ba23350',
'40fd2666-4b33-4d47-a331-9c4c60ebca7e',
'5c08cd9a-058f-4289-93b7-266aa51da1c1',
'9040176d-72d9-439c-a92b-1b265319d00b',
'e6fb1775-9a4c-4a73-a7ee-8098a520b924',
'024882c6-2e2a-474b-8b6c-6496f94311c3',
'0395d381-e772-483f-9579-bd8669d40887',
'58d8d732-0458-48a8-bdcb-287a4811c1d2',
@ -78,8 +232,69 @@ var courseUUIDs = [
'b0dbbe1d-07ea-48a9-b50b-88d63060d51c',
'c33cfd41-f6d1-48b0-bad9-b60cee55817f',
'86455b68-0b13-437a-8c94-e2f9b527b424',
'4ac669fc-8e01-489d-b327-cbcaa3b67975',
'd577ea44-661b-4b89-80bc-630a066dfcc1',
'77859990-e51a-41d7-939a-04f383c0c073',
'327cfac4-f494-44bf-aaf6-8a80e0def612',
'c26d9d69-06c8-42d0-9257-6852c56b1c7f',
'ccd7a749-2a78-4b13-b2f4-814573b5689f',
'9cc2586b-f827-49d7-b684-da7abd7ddc29',
'2d28e7e3-3e5d-42e1-b87c-1cc1b045d091',
'7afcf1bd-3100-4618-91f9-98dc31e91aa8',
'9afa158f-37e2-4c62-b576-0094e50ce02b',
'3af1f33c-b01f-4e01-a340-2610d6114143',
'c7c56608-4e2c-48e6-b356-194f4bbbbbc6',
'cbd96726-ae59-4a77-92cf-0f8d92e927f4',
'e3e0072d-b244-475b-baf2-b361811bb363',
'5ec2b7a7-5d63-4c5b-8eeb-88d73a9a48b9',
'd5352c96-999a-47c7-adac-01f389a278e1',
'7cbfb110-6ec2-4cf8-bbf9-beb02ff2d110',
'7c46b945-f565-47f7-9439-bbf3b505e62d',
'94e70a5e-faaa-4f37-be21-602a97db19b5',
'fbad0e38-bf11-47b4-ab13-51874459019b',
'e08b168e-28ea-4a9a-a12f-4d57c85ca1c3',
'902314bc-821b-4931-a84e-68402c52b8b9',
'0323460c-0c4b-4a0c-9126-6698f4865c87',
'62b09bed-b48c-4f81-8430-5826239487d5',
'da5c49d3-01f8-400e-9b28-a31ebd03a416',
'0a2f27bd-ead3-45ff-9fc7-cac77ccd7160',
'b57db417-7356-4bac-8c71-5600032d004b',
'02dca5d0-a6df-42ab-b26c-87d8779025e5',
'ee9aa66c-8584-4bab-9521-8d23a26df805',
'de04635c-eaf4-48d6-bc89-a6d1b3807de3',
'5358df6f-2bd0-4a59-92ca-a57a84e2404c',
'1d487a98-6c22-46e9-b855-3251cdf56f78',
'c72d9690-07f9-4b8a-9ce9-b124195c6342',
'b5f2dace-2b07-4327-852b-260446eb6100',
'f615c2fb-d99f-43ef-8aaa-e5fc2087e7a7',
'863671e1-2ba5-463e-9853-63dcd47a789d',
'5e6296ec-dafd-4199-862c-32028ef5e7ca',
'a57077de-e9eb-4f80-ae20-4d9011e45f39',
'6a8b920e-583d-45b1-ab4c-4878d4ea7b7b',
'f008b6bb-9a8b-4580-9335-fb025e4fbd70',
'5bcde7e9-66c5-422a-94d5-4d3b475c4460',
'be31bc42-ef66-47ea-a45d-6bb58803c855',
'228d2c69-43bb-4af6-b22f-12b805c2bbf6',
'fc7b5bb6-0044-46fc-9cfd-906cc5aa77cd',
'ce9b4857-9c39-43f2-9d0e-3fe3590fcd34',
'75a127aa-1fd5-43b3-ad67-d89c3ea813e5',
'cb4d4645-fea2-415e-8414-6c6533423187',
'14d788bc-fb20-4d3f-b1b7-d4ebe5021c86',
'b2a5ad9a-7a51-45be-840a-0b77e4ca8c07',
'4509c6aa-6160-48be-8069-07cf89815326',
'602de67f-1400-48e4-8639-d6f35da24f0d',
'588f62d0-7271-4ed1-ad06-1677f9b1ddd4',
'7076705a-ae1a-457c-b358-f07406712024',
'c65eb095-ce2a-4a3d-a96c-8fd0b3c77513',
'd7d83ddc-9527-4157-9a62-305473c0db9c',
'ed7b45eb-2287-46e8-baa7-5b62e547b3fa',
'891c5a4d-18b9-44d0-bd12-57a8f0b47525',
'e6adae9b-7517-4317-a3fb-879cf14e761d',
'749fbdc2-8987-4d4a-83dd-703867182e40',
'c29a1111-9e89-4f64-8752-12f1d1b80451',
'86da0efb-f7ea-403d-a7bd-48a087f72b7d',
]
var schoolNameToCloneTo = 'Cin7 Employee Academy';
var schoolNameToCloneTo = "Cin7 Partner's Academy";
function wait(ms) {
return new Promise(r => setTimeout(r, ms));

View File

@ -138,14 +138,18 @@ message](https://northpasshq.slack.com/archives/C04RER4PH09/p1709147957374999?th
## 03-22-2024
- [ ] Transfer Luminate templates & properties to Mexico School
- [ ] Transfer SSO Config from Luminate Prod to Mexico
- [X] Transfer Luminate templates & properties to Mexico School
- [X] Transfer SSO Config from Luminate Prod to Mexico
- [ ] Try and rip language picker from Pipedrive into Mexico
- [ ] Complete Downsell/Churn sheet by 3/29
## 03-25-2024
- [ ] Cin7 - Clone all courses from Customers to Partner instance
- [ ] Cin7 - Clone all templates from Customer to Partner instance
- [ ] Cin7 - Create Google Sheet & Script that pulls list of courses.
- [X] Cin7 - Clone all templates from Customer to Partner instance --> Had to change domain away from partneracademy.cin7.com
- [X] Cin7 - Create Google Sheet & Script that pulls list of courses.
## 03-26-2024
- [ ] Walmart - we _must_ get screenshots to them.