HowardHanna header, DeepL languages, Tasks, Pipedrive templates, Chubb script.

This commit is contained in:
Norm Rasmussen
2025-06-10 15:06:56 -04:00
parent f3631cf2d9
commit d82db4e6ca
89 changed files with 821 additions and 36 deletions

Binary file not shown.

View File

@ -22,7 +22,7 @@
body {
background: #fff;
}
.lang-en, .lang-fr, .lang-de, .lang-es {
.lang-en, .lang-fr, .lang-de, .lang-es, .lang-jp {
display: none !important;
}
@ -30,6 +30,10 @@ body[data-lang="en"] .lang-en {
display: block !important;
}
body[data-lang="jp"] .lang-jp {
display: block !important;
}
body[data-lang="fr"] .lang-fr {
display: block !important;
}
@ -288,13 +292,13 @@ section {
}
#loader-overlay {
display: none;
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
background: rgba(0, 0, 0, 0.5);
z-index: 9999;
align-items: center;
justify-content: center;
@ -318,7 +322,7 @@ section {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
@media only screen and (max-width: 900px) {
@media only screen and (max-width: 900px) {
.filters-container {
flex-wrap: wrap;
}

View File

@ -1,20 +0,0 @@
{% assign rand_realty_groups = "8f637c703ec45ac5dec70ee9517155aa0d9775c2,613932dbeb1595c00b78de8d1860a3bfdb479b22,176629fa82da1d03f3d58c81e751e61b9836a46d,91ee3a2db2f3f8b71a9d6a2d664781c8ed10e5cb,e9d26fef9adb61c4b523a273aba18c35d40b7a94,a468fb6f64f5af9757d7f60891d2240c7ea43c1e,9a70c58d13cabfc6a1b3bf63f14caaaf097fc43e,32ada17825448e171287f0c7625e2ad1ed051b0f" | split:","%}
{% assign isAllenTate = false %}
{% assign isHowardHanna = false %}
{% assign isRandRealty = false %}
{% for group in current_person.groups %}
{% if group.enrollment_code == "1817d8c96780f13abbf0f2023e3b26b3bd43d248" %}
{% assign isAllenTate = true %}
{% elsif group.enrollment_code == "ccd2aa2f1e41ebbac8fa878f806e3ccc20ae3f38" or
group.enrollment_code == "aa6fe8d22ec1e75d2e8c54c6d5452dcd585e415d" %}
{% assign isHowardHanna = true %}
{% elsif rand_realty_groups contains group.enrollment_code %}
{% assign isRandRealty = true %}
{% endif %}
{% endfor %}
{% if custom_page.content contains "this is calendar" %}
{% include "calendar_custom_page" %}
{% elsif custom_page.content contains "these are workshops and events" %}
{% include "workshops_and_events_custom_page" %}
{% endif %}

View File

@ -112,7 +112,7 @@
title: "Winner's Edge Annual Calendar",
description: "See the Winner's Edge dates for this year",
link_description: "View",
link: "https://docs.google.com/presentation/d/1WIkbg9llt9juhSsYqTL53Z4Nt_HKnFMv_YqH0fiwjQ4/edit?usp=sharing"
link: "https://docs.google.com/presentation/d/1W45YgEY_ZnnynvDthkgICv1r6yek0n4q62ujzl5R3Ys/edit?usp=sharing"
%}
{%

View File

@ -0,0 +1,24 @@
{% if current_school.filtering_enabled? and current_person.filterable_catalog_categories.count > 0 %}
<div class="uk-width-medium-1-6 uk-block uk-padding">
{% t .filter_by_category %}:
<ul class="uk-list uk-list-space">
<li class="uk-margin-top">
{% if query_parameter_value %}
{% capture reset_filters_route %}{{ routes.school_website_catalog_search_path }}?q={{ query_parameter_value }}{% endcapture %}
{% else %}
{% assign reset_filters_route = routes.school_website_catalog_path %}
{% endif %}
<a href="{{ reset_filters_route }}" class="{% unless filter_parameter_value %}uk-text-bold{% endunless %}" data-test="catalog-filter-all">
{% t .all %}
</a>
</li>
{% for filterable_category in current_person.filterable_catalog_categories %}
<li>
<a href="{{ filterable_category.catalog_link }}" class="{% if filterable_category.active? %}uk-text-bold{% endif %}" data-test="catalog-filter-category">
{{ filterable_category.name }}
</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}

View File

@ -0,0 +1,4 @@
<div class="col-xs-12 col-md-4 spacing-clear">
{% include "certificates_verification" %}
{% include "certificates_metadata" %}
</div>

View File

@ -0,0 +1,59 @@
<div class="np-card spacing-clear">
<div class="np-card-container padding-spacing-8">
<div class="row np-certificate-metadata-row">
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-title" >
{% t .learner %}
</p>
</div>
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-value">
{{certificate.learner_name}}
</p>
</div>
</div>
<div class="line"></div>
{% if certificate.issuer_name_enabled? %}
<div class="row np-certificate-metadata-row">
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-title">
{% t .issued_by %}
</p>
</div>
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-value">
{{ certificate.issuer_name }}
</p>
</div>
</div>
<div class="line"></div>
{% endif %}
<div class="row np-certificate-metadata-row">
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-title" >
{% t .issued_on %}
</p>
</div>
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-value">
{{ certificate.issue_date }}
</p>
</div>
</div>
<div class="line"></div>
<div class="row np-certificate-metadata-row">
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-title" >
{% t .expires_on %}
</p>
</div>
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-value">
{{ certificate.expiration_date_translation }}
</p>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,35 @@
<script type="text/javascript">
const resizeIframe = () => {
const combinedPadding = 16;
const previewIframe = document.getElementById("previewIframe");
const previewIFrameCard = document.getElementById("previewIFrameCard");
const templateInPreviewContainer = previewIframe.contentWindow.document.querySelector('.np-certificate-container');
const previewIframeContentHeight = templateInPreviewContainer.offsetHeight;
const previewIframeContentWidth = templateInPreviewContainer.offsetWidth;
const certificateRatio = previewIframeContentHeight / previewIframeContentWidth;
templateInPreviewContainer.style.margin = 0;
previewIFrameCard.style.height = `${previewIFrameCard.offsetWidth * certificateRatio}px`;
const scaledIframeWidth = previewIFrameCard.offsetWidth - combinedPadding;
const scaledIframeHeight = scaledIframeWidth * certificateRatio;
const scale = scaledIframeHeight / previewIframeContentHeight;
previewIframe.style.transform = `scale(${scale})`;
}
window.onresize = resizeIframe;
</script>
<div class="col-xs-12 col-md-8 np-certificate-iframe-container">
<div class="np-card spacing-clear">
<div id="previewIFrameCard" class="np-card-container np-certificate-card">
<iframe
id="previewIframe"
onload="resizeIframe()"
class="np-certificate-iframe-preview"
srcdoc="{{ certificate.certificate_template_html }}"
></iframe>
</div>
</div>
</div>

View File

@ -0,0 +1,60 @@
<div class="top-bar np-certificate-top-bar-spacing">
<div class="top-bar__container uk-container uk-container-center uk-padding-horizontal np-max-width">
<div class="top-bar__col">
<h2 class="np-certificate-title" >
{{certificate.certificate_name}}
</h2>
</div>
<div class="button-container np-certificate-button-container">
{% if certificate.linkedin_sharing_enabled and current_person.signed_in? and certificate.learner_uuid == current_person.id %}
<a
class="np-button np-certificate-button np-certificate-button-secondary"
href="{{certificate.linkedin_share_url}}"
target="_blank"
>
<i class="fab fa-linkedin np-certificate-share-icon"></i>
{% t .share %}
</a>
{% endif %}
<button
id="print"
type="button"
class="np-button np-certificate-button np-certificate-button-secondary np-certificate-button-print"
>
{% t .print %}
</button>
{% if certificate.generating_pdf %}
<div class="np-button np-certificate-button np-certificate-button-primary np-certificate-spinner-container np-load-button">
<i class="loader fad fa-spinner-third fa-spin np-certificate-spinner-icon np-button-font-color np-load-icon"></i>
</div>
{% else %}
<a
href="{{ certificate.download_url }}"
aria-label="{% t .download %}"
target="_blank"
rel="noopener noreferrer"
download
class="np-button np-certificate-button np-certificate-button-primary np-button-font-color np-download-button"
>
{% t .download %}
</a>
{% endif %}
</div>
</div>
</div>
<style>
.np-download-button
{
background-color: {{ color_palette.button_color }} !important;
color: {{ color_palette.button_font_color }} !important;
}
.np-load-button
{
background-color: {{ color_palette.button_color }} !important;
}
.np-load-icon
{
color: {{ color_palette.button_font_color }} !important;
}
</style>

View File

@ -0,0 +1,15 @@
<div class="np-card spacing-clear np-certificate-verification-card">
<div class="np-card-container np-certificate-verification-container">
<div class="np-certificate-verification-icon-container np-certificate-verification-icon-container-{{certificate.verification_status}}">
<i class="far fa-{{certificate.verification_icon}} np-certificate-verification-icon"></i>
</div>
<div class="np-certificate-verification-info-container">
<h2 class="np-certificate-verification-info-status spacing-clear">
{{certificate.verification_title}}
</h2>
<p class="np-certificate-verification-info-description spacing-clear">
{{certificate.verification_description}}
</p>
</div>
</div>
</div>

View File

@ -0,0 +1,7 @@
{% if courses.include_courses_to_restart? %}
<div role="alert" class="np-alert np-alert-global np-alert-info">
<div class="np-alert-container uk-container uk-container-center">
{% t .content %}
</div>
</div>
{% endif %}

View File

@ -0,0 +1,33 @@
<div class="np-course-version-outdated-popup np-popup">
<div class="np-popup-positioner">
<i
class="np-course-version-outdated-popup-trigger fas fa-exclamation-circle"
data-toggle-class-on-target="np-popup-tooltip--visible"
data-toggle-target-parent=".np-popup-tooltip"
data-toggle-outside
></i>
<div
class="np-popup-tooltip"
role="tooltip"
aria-hidden="true"
>
<header class="np-popup-header">
<i class="np-popup-header-icon fas fa-exclamation-circle"></i>
<h3 class="np-popup-header-title">
{% t .title %}
</h3>
</header>
<div class="np-popup-body">
<h4>{% t .body.header %}</h4>
<p>{% t .body.content %}</p>
<a
class="np-popup-body-button"
href="{{ path }}"
>
{% t .body.button %}
</a>
</div>
<div class="np-popup-tail"></div>
</div>
</div>
</div>

View File

@ -0,0 +1,24 @@
{% if current_school.filtering_enabled? and current_person.filterable_categories.count > 0 %}
<div class="uk-width-medium-1-6 uk-block uk-padding">
{% t .filter_by_category %}:
<ul class="uk-list uk-list-space">
<li class="uk-margin-top">
{% if query_parameter_value %}
{% capture reset_filters_route %}{{ routes.school_website_search_path }}?q={{ query_parameter_value }}{% endcapture %}
{% else %}
{% assign reset_filters_route = routes.my_content_path %}
{% endif %}
<a href="{{ reset_filters_route }}" class="{% unless filter_parameter_value %}uk-text-bold{% endunless %}">
{% t .all %}
</a>
</li>
{% for filterable_category in current_person.filterable_categories %}
<li>
<a href="{{ filterable_category.link }}" class="{% if filterable_category.active? %}uk-text-bold{% endif %}">
{{ filterable_category.name }}
</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}

View File

@ -0,0 +1,6 @@
<link rel="stylesheet" media="all" href="{{ routes.schoolkeep_v3_styles_url }}">
<link rel="stylesheet" media="all" href="{{ routes.color_scheme_path }}">
{% if current_school.has_custom_styles? %}
<link rel="stylesheet" media="all" href="{{ routes.custom_styles_path }}">
{% endif %}

View File

@ -1,4 +1,4 @@
{%- comment -%}
{%- comment -%}
BHG Rand Realty - Mortgage 8f637c703ec45ac5dec70ee9517155aa0d9775c2
Howard Hanna | Rand Realty 613932dbeb1595c00b78de8d1860a3bfdb479b22
Howard Hanna Rand Realty 176629fa82da1d03f3d58c81e751e61b9836a46d
@ -17,7 +17,7 @@
{% for group in current_person.groups %}
{% if group.enrollment_code == "1817d8c96780f13abbf0f2023e3b26b3bd43d248" %}
{% assign isAllenTate = true %}
{% elsif group.enrollment_code == "ccd2aa2f1e41ebbac8fa878f806e3ccc20ae3f38" or
{% elsif group.enrollment_code == "ccd2aa2f1e41ebbac8fa878f806e3ccc20ae3f38" or
group.enrollment_code == "aa6fe8d22ec1e75d2e8c54c6d5452dcd585e415d" %}
{% assign isHowardHanna = true %}
{% elsif rand_realty_groups contains group.enrollment_code %}
@ -34,4 +34,4 @@
{% elsif isRandRealty %}
{% include "header_rand" %}
{% endif %}
{% endfor %}
{% endfor %}

View File

@ -174,6 +174,9 @@
<div class="white-background">
<a href="https://www.hannauniversity.com/courses/a99f3fe7-f395-4a32-a29f-ed565906e7fb/cover" target="_blank">Hoby's Town Halls</a>
</div>
<div class="white-background">
<a href="https://www.hannauniversity.com/courses/07544807-2a28-43b1-82cf-3d849a048308/cover" target="_blank">Wednesday Webinars</a>
</div>
<div class="white-background">
<a href="https://www.hannauniversity.com/courses/96f82b1d-5904-4c99-8fa1-5eba64787834/cover" target="_blank">Tate Talk Live</a>
</div>

View File

@ -105,7 +105,7 @@
<a href="" class="marketing-nav__item marketing-nav__item--user" itemprop="name">
Affiliated Learning Links
</a>
<div class="survey-tooltip">
<div class="survey-tooltip">
<div class="white-background">
<a href="https://sso.moxiworks.com/saml/0469dfc6-6b26-42ab-9d3d-266a7748852d/initiate" target="_blank">Institute by LeadingRE</a>
</div>
@ -150,7 +150,7 @@
</div>
</div>
</li>
{%- comment -%}
{%- comment -%}
<li class="live-workshops">
<a href="https://www.hannauniversity.com/#ChecklistResources" class="marketing-nav__item marketing-nav__item--user" itemprop="name">
Checklists & Resources
@ -373,7 +373,7 @@
}
.live-workshops:hover .survey-tooltip {
visibility: visible;
visibility: visible;
}
.survey-tooltip:hover {
@ -397,5 +397,5 @@
line-height: 2;
padding: 10px 20px;
}
</style>
</style>

View File

@ -0,0 +1,38 @@
<li class="uk-width-large-1-3 uk-width-medium-1-2 uk-width-small-1-1 uk-margin-large-bottom school-website-course-tile my-dashboard__tile">
<div class="uk-panel uk-panel-box uk-panel-box-secondary uk-border">
<div class="uk-panel-teaser">
{% if current_person.enrolled_in_learning_path? %}
<a href="{{ learning_path.cover_path }}" class="main-link">
<img src="{{ learning_path.list_image_url }}" class="uk-responsive-width uk-width-1-1">
</a>
{% else %}
<a href="{{ learning_path.details_path }}" class="main-link">
<img src="{{ learning_path.list_image_url }}" class="uk-responsive-width uk-width-1-1">
</a>
{% endif %}
</div>
{% if current_school.filtering_enabled? and current_school.learning_paths_enabled? %}
<span>
{{ learning_path.learning_path_category_names }}
</span>
{% endif %}
<h3 class="uk-panel-title uk-margin-bottom-remove">
{% if current_person.enrolled_in_learning_path? %}
<a href="{{ learning_path.cover_path }}" data-test="learning-path-name">{{ learning_path.name }}</a>
{% else %}
<a href="{{ learning_path.details_path }}" data-test="learning-path-name">{{ learning_path.name }}</a>
{% endif %}
</h3>
<p class="uk-margin-small-top uk-margin-large-bottom">{{ learning_path.instructor_names }}</p>
<p class="uk-margin-small-bottom">{{ learning_path.progress_text }}</p>
{% if current_person.enrolled_in_learning_path? %}
<a href="{{ learning_path.cover_path }}" class="uk-button uk-button-primary my-dashboard__tile-action uk-position-bottom-right" data-test="go-to-path">
{{ learning_path.go_to_label }}
</a>
{% else %}
<a href="{{ learning_path.details_path }}" class="uk-button uk-button-outline my-dashboard__tile-action uk-position-bottom-right" data-test="go-to-path">
{{ learning_path.view_label }}
</a>
{% endif %}
</div>
</li>

View File

@ -0,0 +1,5 @@
{% if learning_path.new_content_available? %}
{% include "learning_path_new_content_banner" %}
{% else %}
{% include "learning_path_completed_banner" %}
{% endif %}

View File

@ -0,0 +1,17 @@
{% if learning_path.has_certificate? %}
{% if learning_path.certificate_completed? %}
<div class="np-learning-path-outline-bar np-hidden-mobile"></div>
<a
class="np-learning-path-certificate-link"
href="{{ learning_path.certificate_link }}"
>
<div class="np-learning-path-certificate">
{% include "learning_path_certificate_content" %}
</div>
</a>
{% else %}
<div class="np-learning-path-certificate np-learning-path-certificate--inactive">
{% include "learning_path_certificate_content" %}
</div>
{% endif %}
{% endif %}

View File

@ -0,0 +1,19 @@
<div class="np-learning-path-certificate-content">
<div class="np-learning-path-certificate-avatar" role="img">
<i class="np-learning-path-certificate-avatar-icon fal fa-award"></i>
<h5 class="np-learning-path-certificate-avatar-title">
{% t .avatar_title %}
</h5>
</div>
<h4 class="np-learning-path-certificate-name">
{{ learning_path.certificate_name }}
</h4>
{% if learning_path.certificate_completed? %}
<time
class="np-learning-path-certificate-issue-date"
datetime="{{ learning_path.certificate_issue_date }}"
>
{{ learning_path.certificate_issue_date | date: "%B %d, %Y" }}
</time>
{% endif %}
</div>

View File

@ -0,0 +1,13 @@
<div class="np-learning-path-completed-banner np-learning-path-banner">
<img class="np-learning-path-banner-image" src="https://s3.amazonaws.com/static.northpass.com/images/stars-completed.svg"/>
<div class="np-learning-path-banner-content">
<h3 class="np-learning-path-banner-headline">{% t .headline %}</h3>
<p class="np-learning-path-banner-description">{% t .description %}</p>
<div class="np-learning-path-banner-actions">
{% if learning_path.certificate_link %}
<a href="{{ learning_path.certificate_link }}" class="np-learning-path-banner-action np-learning-path-banner-action--primary">{% t .actions.certificate %}</a>
{% endif %}
<a href="/courses" class="np-learning-path-banner-action np-learning-path-banner-action--secondary">{% t .actions.more_courses %}</a>
</div>
</div>
</div>

View File

@ -0,0 +1,59 @@
<h4 class="uk-text-muted uk-margin-remove">{% t .title %}</h4>
{% learning_path_next_step_button learning_path, class: "uk-button uk-float-right completion-button" %}
<h1 class="uk-margin-remove" data-test="learning-path-name">{{ learning_path.name }}</h1>
<hr class="uk-article-divider uk-margin-top">
<div class="uk-grid uk-grid-large">
<div class="uk-width-medium-1-3 uk-margin-bottom uk-container-center">
<article class="uk-article">
<img src="{{ learning_path.featured_image_url }}" />
</article>
</div>
<div class="uk-width-medium-2-3">
<h3>{% t .about_label %}</h3>
<p>{{ learning_path.description }}</p>
{% if learning_path.has_instructors? %}
<h3>{{ learning_path.instructors_title }}</h3>
<div class="uk-grid uk-grid-large">
{% for instructor in learning_path.instructors %}
<div class="uk-width-medium-1-2 uk-margin-top">
<div class="uk-comment-header">
<img
src="{{ instructor.image_url }}"
alt="{{ instructor.name }}"
class="uk-comment-avatar"
width="80">
<h4 class="uk-comment-title">{{ instructor.name }}</h4>
<div class="uk-comment-meta">{{ instructor.title }}</div>
</div>
<div class="wysiwyg">{{ instructor.bio }}</div>
</div>
{% endfor %}
</div>
{% endif %}
</div>
<div class="uk-width-medium">
<h3>{{ learning_path.progress_text }}</h3>
{{ learning_path.progress_bar }}
<h3><strong>{% t .outline_label %}</strong></h3>
<ol class="uk-list cover-outline learning-path-items uk-margin-large-bottom" data-test="learning-path-items">
{% for item in learning_path.items %}
<li class="{% if item.completed? %}completed{% endif %} {% if item.locked? %}locked{% endif %}" data-test="learning-path-item">
{{ item.progress_icon }}
{% learning_path_item item %}
{{ item.type_icon }}
{{ item.name }}
{% if item.optional? %}
<span class="sk-badge uk-margin-small-left">optional</span>
{% endif %}
{% endlearning_path_item %}
</li>
{% endfor %}
</ol>
{% include "learning_path_certificate" %}
</div>
</div>

View File

@ -0,0 +1,16 @@
<header class="uk-navbar uk-navbar-attached uk-border-bottom learning-header slide">
<div class="uk-navbar-flip">
<ul class="uk-navbar-nav">
<li>
<a href="{{ routes.my_content_path }}" class="uk-border-left uk-button-small">{% t .exit %}</a>
</li>
</ul>
</div>
<div class="uk-navbar-content uk-text-center sk-float-remove">
{% if current_school.logo_url %}
<img src="{{ current_school.logo_url }}" class="uk-responsive-height">
{% else %}
{{ current_school.name }}
{% endif %}
</div>
</header>

View File

@ -0,0 +1,24 @@
{% if current_school.filtering_enabled? and current_school.learning_paths_enabled? and current_person.filterable_learning_path_categories.count > 0 %}
<div class="uk-width-medium-1-6 uk-block uk-padding">
{% t .filter_by_category %}:
<ul class="uk-list uk-list-space">
<li class="uk-margin-top">
{% if query_parameter_value %}
{% capture reset_filters_route %}{{ routes.school_website_search_path }}?q={{ query_parameter_value }}{% endcapture %}
{% else %}
{% assign reset_filters_route = routes.my_content_path %}
{% endif %}
<a href="{{ reset_filters_route }}" class="{% unless lp_filter_parameter_value %}uk-text-bold{% endunless %}">
{% t .all %}
</a>
</li>
{% for filterable_category in current_person.filterable_learning_path_categories %}
<li>
<a href="{{ filterable_category.learning_path_link }}" class="{% if filterable_category.lp_filter_active? %}uk-text-bold{% endif %}">
{{ filterable_category.name }}
</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}

View File

@ -0,0 +1,12 @@
<div class="np-learning-path-new-content-banner np-learning-path-banner">
<div class="np-learning-path-banner-content">
<h3 class="np-learning-path-banner-headline">{% t .headline %}</h3>
<p class="np-learning-path-banner-description">{% t .description %}</p>
<div class="np-learning-path-banner-actions">
{% learning_path_next_step_button learning_path, class: "np-learning-path-banner-action np-learning-path-banner-action--primary" %}
{% if learning_path.certificate_link %}
<a href="{{ learning_path.certificate_link }}" class="np-learning-path-banner-action np-learning-path-banner-action--secondary">{% t .actions.view_certificate %}</a>
{% endif %}
</div>
</div>
</div>

View File

@ -0,0 +1,22 @@
<div class="uk-padding-large-vertical uk-padding-horizontal uk-border-bottom">
<h2 data-test="my-paths">{{ my_content.learning_paths_headline }}</h2>
<h3 class="uk-margin-top-remove">{{ my_content.learning_paths_subheadline }}</h3>
</div>
<div class="uk-grid uk-grid-flex uk-margin-left-remove">
{% include "learning_path_filters" with "" %}
{% if current_school.filtering_enabled? and current_school.learning_paths_enabled? and current_person.filterable_learning_path_categories.count > 0 %}
<div class="uk-width-medium-5-6 uk-padding">
{% else %}
<div class="uk-width-1-1 uk-padding">
{% endif %}
<ul class="uk-grid uk-grid-medium my-dashboard__list learning-paths__list uk-grid-match" data-uk-grid-match="{target:'.uk-panel'}">
{% if my_content.learning_paths.any? %}
{% for learning_path in my_content.learning_paths %}
{% include "learning_path" %}
{% endfor %}
{% else %}
<p>{{ my_content.empty_learning_paths }}</p>
{% endif %}
</ul>
</div>
</div>

View File

@ -0,0 +1,97 @@
<div class="uk-container uk-container-center uk-margin-top uk-margin-bottom uk-padding-large-top">
<h1 class="uk-text-center page-header uk-padding-horizontal">{{ course.name }}</h1>
</div>
<div class="uk-block uk-block-muted uk-margin-large-bottom uk-border-top uk-border-bottom">
<div class="uk-container uk-container-center">
<div class="uk-grid uk-padding-horizontal">
<div class="uk-width-medium-6-10 uk-margin-bottom">
{% if course.promo_video_embed %}
<div class="video-container course-promo-video" data-behavior="scaleEmbed">
{{ course.promo_video_embed }}
</div>
{% else %}
<img src="{{ course.featured_image_url }}" alt="{{ course.name }}" class="course-image uk-responsive-width uk-width-1-1">
{% endif %}
</div>
<div class="uk-width-medium-4-10">
<div class="uk-margin-large-bottom uk-text-large uk-text-muted">
{{ course.short_description }}
</div>
{% if current_person.enrolled_in_course? %}
<a href="{{ course.cover_path }}" class="uk-button uk-button-primary uk-button-large">{{ course.go_to_label }}</a>
{% elsif course.payment_required? %}
<a href="{{ course.new_order_path }}" class="uk-button uk-button-primary uk-button-large">
{{ course.buy_label }} - {{ course.formatted_price }}
</a>
{% else %}
<form action="{{ course.enrollment_url }}" method="POST">
<button class="enroll-button uk-button uk-button-primary uk-button-large">
{% if current_school.apps.commerce.active? %}
{{ course.buy_label }} - {{ course.formatted_price }}
{% else %}
{% t .enroll %}
{% endif %}
</button>
</form>
{% endif %}
{% unless current_school.disable_social_share? %}
<div class="uk-padding-large-top uk-margin-top">
{{ course.social_links }}
</div>
{% endunless %}
</div>
</div>
</div>
</div>
<div class="uk-container uk-container-center uk-padding-large-bottom uk-pargin-large-bottom">
<div class="uk-grid uk-grid-reverse uk-padding-horizontal">
<div class="uk-width-medium-4-10 uk-push-6-10 school-website-course-meta">
<h2>{{ course.outline_label }}</h2>
<div class="course-syllabus uk-panel uk-panel-box uk-border uk-margin-large-bottom">
{% for section in course.published_sections %}
<div class="uk-margin-bottom">
<h4 class="uk-margin-small-bottom"><strong>{{ section.name }}</strong></h4>
<ol class="uk-list uk-margin-small-top">
{% for activity in section.activities %}
<li>
<i class="uk-icon-{{ activity.list_class }} uk-margin-small-right"></i> {{ activity.title }}
</li>
{% endfor %}
</ol>
</div>
{% endfor %}
</div>
</div>
<div class="uk-width-medium-6-10 uk-pull-4-10">
<h2>{{ course.about_label }}</h2>
<div class="school-website-course-description uk-margin-large-bottom uk-padding-large-right">
{{ course.full_description }}
</div>
{% if course.instructors.count > 0 %}
<h2>{% pluralize course.instructors.count, .instructor_bio_title %}</h2>
{% for instructor in course.instructors %}
<div class="uk-grid uk-grid-small uk-margin-large-bottom">
<div class="uk-width-medium-1-6 uk-width-1-3">
<figure class="uk-thumbnail">
<img src="{{ instructor.image_url }}" alt="{{ instructor.name }}">
</figure>
</div>
<div class="uk-width-medium-5-6 uk-width-2-3">
<div class="uk-padding-left">
{% if instructor.name or instructor.title %}
<h4 class="uk-margin-top-remove uk-margin-small-bottom">{% if instructor.name %}<strong>{{ instructor.name }}</strong>{% endif %}{% if instructor.title %}, <span class="uk-text-muted">{{ instructor.title }}</span>{% endif %}</h4>
{% endif %}
{{ instructor.bio }}
</div>
</div>
</div>
{% endfor %}
{% endif %}
</div>
</div>
</div>

View File

@ -0,0 +1,22 @@
<div class="uk-container uk-container-center uk-margin-top uk-margin-large-bottom">
{% if course_catalog.headline or course_catalog.subheadline %}
<div class="uk-text-center uk-padding-large-vertical uk-padding-horizontal">
{% if courses %}
<h2>{{ course_catalog.headline }}</h2>
<h3 class="page-header uk-margin-top-remove">{{ course_catalog.subheadline }}</h3>
{% else %}
<h1>{{ course_catalog.headline_empty_collection }}</h1>
<h2 class="page-header">
{{ course_catalog.subheadline_empty_collection }}
</h2>
{% endif %}
</div>
{% endif %}
<div class="uk-width-small-1-1 uk-width-medium-1-1 uk-padding-horizontal uk-container-center uk-padding-top uk-margin-large-bottom">
<ul class="uk-grid school-website-course-list" data-behavior="listResize">
{% for course in courses %}
{% include "course" %}
{% endfor %}
</ul>
</div>
</div>

View File

@ -0,0 +1,9 @@
{% include "learning_path_cover_header" %}
{% if preview_banner %}
{{ preview_banner }}
{% endif %}
<div class="uk-container uk-container-center uk-padding-large uk-margin-large-top learning-path-cover">
{% include "learning_path_cover_content" %}
</div>

View File

@ -0,0 +1,64 @@
<div class="uk-container uk-container-center uk-margin-top uk-margin-bottom uk-padding-large-top">
<h1 class="uk-text-center page-header uk-padding-horizontal" data-test="learning-path-name">
{{ learning_path.name }}
</h1>
</div>
<div class="uk-block uk-block-muted uk-margin-large-bottom uk-border-top uk-border-bottom">
<div class="uk-container uk-container-center">
<div class="uk-grid uk-padding-horizontal">
<div class="uk-width-medium-6-10 uk-margin-bottom">
<img src="{{ learning_path.featured_image_url }}" alt="{{ learning_path.name }}" class="course-image uk-responsive-width uk-width-1-1">
</div>
<div class="uk-width-medium-4-10">
<div class="uk-margin-large-bottom uk-text-large uk-text-muted">
{{ learning_path.description }}
</div>
{% learning_path_next_step_button learning_path, class: "uk-button uk-button-primary uk-button-large" %}
</div>
</div>
</div>
</div>
<div class="uk-container uk-container-center uk-padding-large-bottom uk-pargin-large-bottom">
<div class="uk-grid uk-grid-reverse uk-padding-horizontal">
<div class="uk-width-medium-4-10 uk-push-6-10 school-website-course-meta">
<h2>{{ learning_path.outline_label }}</h2>
<div class="course-syllabus uk-panel uk-panel-box uk-border uk-margin-large-bottom">
{% for item in learning_path.items %}
<div class="uk-margin-bottom">
<h4 class="uk-margin-small-bottom"><strong>{{ item.name }}</strong></h4>
</div>
{% endfor %}
</div>
</div>
<div class="uk-width-medium-6-10 uk-pull-4-10">
<h2>{{ learning_path.about_label }}</h2>
<div class="school-website-course-description uk-margin-large-bottom uk-padding-large-right">
{{ learning_path.description }}
</div>
{% if learning_path.instructors.count > 0 %}
<h2>{% pluralize learning_path.instructors.count, .instructor_bio_title %}</h2>
{% for instructor in learning_path.instructors %}
<div class="uk-grid uk-grid-small uk-margin-large-bottom">
<div class="uk-width-medium-1-6 uk-width-1-3">
<figure class="uk-thumbnail">
<img src="{{ instructor.image_url }}" alt="{{ instructor.name }}">
</figure>
</div>
<div class="uk-width-medium-5-6 uk-width-2-3">
<div class="uk-padding-left">
{% if instructor.name or instructor.title %}
<h4 class="uk-margin-top-remove uk-margin-small-bottom">{% if instructor.name %}<strong>{{ instructor.name }}</strong>{% endif %}{% if instructor.title %}, <span class="uk-text-muted">{{ instructor.title }}</span>{% endif %}</h4>
{% endif %}
{{ instructor.bio }}
</div>
</div>
</div>
{% endfor %}
{% endif %}
</div>
</div>
</div>

View File

@ -0,0 +1,10 @@
{% include "learning_path_cover_header" %}
{% if preview_banner %}
{{ preview_banner }}
{% endif %}
<div class="uk-container uk-container-center uk-padding-large uk-margin-large-top learning-path-cover">
{% include "learning_path_banners" %}
{% include "learning_path_cover_content" %}
</div>

View File

@ -0,0 +1,16 @@
<div class="uk-container uk-container-center uk-margin-top uk-margin-large-bottom">
<div class="uk-width-small-1-1 uk-width-medium-1-1 uk-margin-vertical">
<h2 class="uk-padding-horizontal uk-margin-large-bottom" data-test="discover-learning-paths-header">
{% t .discover_learning_paths %}
</h2>
<hr/>
</div>
<div class="uk-width-small-1-1 uk-width-medium-1-1 uk-padding-horizontal uk-container-center uk-padding-top uk-margin-large-bottom">
<ul class="uk-grid school-website-course-list" data-behavior="listResize">
{% for learning_path in learning_paths %}
{% include "learning_path" %}
{% endfor %}
</ul>
</div>
</div>

View File

@ -0,0 +1,41 @@
<section class="uk-container uk-container-center uk-margin-large-top uk-padding-large-top uk-margin-large-bottom uk-padding-large-bottom">
<div class="uk-width-small-8-10 uk-width-medium-4-10 uk-container-center">
<h2 class="uk-text-center uk-margin-large-bottom">{% t .title %}</h2>
<div class="uk-panel uk-panel-box uk-panel-box-secondary uk-padding-large-top uk-padding-large-right uk-padding-large-bottom uk-padding-large-left uk-margin-large-bottom">
<form class="simple_form uk-form uk-form-stacked new_learner" id="new_learner" novalidate="novalidate" action="{{ routes.log_in_path }}" accept-charset="UTF-8" method="post">
{% form_authenticity_token %}
<div class="uk-form-row email optional learner_email">
<div class="uk-form-controls">
<input class="uk-width-1-1 string email optional" autofocus="autofocus" placeholder="{% t .placeholders.email %}" type="email" name="learner[email]" id="learner_email">
</div>
</div>
<div class="uk-form-row password optional learner_password">
<div class="uk-form-controls">
<input class="uk-width-1-1 password optional" placeholder="{% t .placeholders.password %}" type="password" name="learner[password]" id="learner_password">
</div>
</div>
<div class="uk-form-row uk-nbfc">
<input type="submit" name="commit" value="{% t .placeholders.submit %}" class="button uk-button uk-button-primary uk-width-1-1" data-disable-with="Create Person">
</div>
<div class="uk-form-row uk-nbfc">
<p class="uk-text-center">
<a class="forgot-pass" href="{{ routes.forgot_password_path }}">{% t .reset_password %}</a>
{% if current_school.account_creation_enabled? %}
<span class="uk-text-muted">&nbsp;|&nbsp;</span>
<a href="{{ routes.sign_up_path }}">{% t .create_account %}</a>
{% endif %}
</p>
</div>
<div class="uk-form-row uk-nbfc">
<p class="uk-text-center">
{% if current_school.request_access_enabled? %}
<a target="_blank" href="{{ current_school.request_access_link }}">{{ current_school.request_access_label }}</a>
{% endif %}
</p>
</div>
</form>
</div>
</div>
</section>

View File

@ -0,0 +1,12 @@
<div class="uk-container uk-container-center uk-padding-large-horizontal uk-margin-large-top uk-margin-bottom">
<hgroup class="uk-text-center vertical-align uk-padding-large-top">
<h1 class="page-header">{% t .headline %}</h1>
</hgroup>
<div class="uk-width-small-1-1 uk-width-medium-1-2 uk-container-center uk-padding-large-top">
<div class="school-website-custom-page-content uk-text-center uk-padding-large-bottom uk-margin-large-bottom">
<h3 class="uk-margin-top-remove uk-margin-large-bottom">{% t .subheadline %}</h3>
<p><a href="/" class="uk-button uk-button-primary">{% t .home %}</a></p>
</div>
</div>
</div>

View File

@ -0,0 +1,9 @@
{% include "certificates_top_bar" %}
<main class="np-main np-certificate np-max-width np-page-container clear-main-spacings">
<section class="np-certificate-content-spacing">
<div class="row">
{% include "certificates_preview" %}
{% include "certificates_info_column" %}
</div>
</section>
</main>

View File

@ -0,0 +1,9 @@
{% include "certificates_top_bar" %}
<main class="np-main np-certificate np-max-width np-page-container clear-main-spacings">
<section class="np-certificate-content-spacing">
<div class="row">
{% include "certificates_preview" %}
{% include "certificates_info_column" %}
</div>
</section>
</main>

View File

@ -0,0 +1,12 @@
<div class="uk-container uk-container-center uk-padding-large-horizontal uk-margin-large-top uk-margin-bottom">
<hgroup class="uk-text-center vertical-align uk-padding-large-top">
<h1 class="page-head">{% t .headline %}</h1>
</hgroup>
<div class="uk-width-small-1-1 uk-width-medium-1-2 uk-container-center uk-padding-large-top">
<div class="school-website-custom-page-content uk-text-center uk-padding-large-bottom uk-margin-large-bottom">
<h3 class="uk-margin-top-remove uk-margin-large-bottom">{% t .subheadline %}</h3>
<p><a href="/" class="uk-button uk-button-primary">{% t .home %}</a></p>
</div>
</div>
</div>

View File

@ -1,7 +1,9 @@
<script>
const courseDefaultPageTitle = document.title
// const courseDefaultPageTitle = document.title
const splitDefaultPageTitle = document.title.split(" | ")
const courseName = '{{course.name}}'
document.title = `${courseName} | ${courseDefaultPageTitle[1]}`
document.title = `${courseName} | ${splitDefaultPageTitle[1]}`
const courseDescription = '{{course.short_description}}'
$('head').append( `<meta name="description" content="${courseDescription}">` );
</script>

View File

@ -11,7 +11,7 @@ HEADERS = {
"X-Api-Key": APIKEY,
}
BASEURL = "https://api.northpass.com/v2/"
IMPORTFILE = "/Users/normrasmussen/Downloads/cisa-060225.csv"
IMPORTFILE = "/Users/normrasmussen/Downloads/cisa-61025.csv"
def bulk_invite_and_group():

View File

@ -15,6 +15,9 @@
- [X] Send Daniela instructions on how to update languages in templates. - 04-22-2025
## Notes
DeepL - Had 5k target for new users in academy and are already at 7k. 1k certs awarded goal - currently at 740
Need to create pipeline for connecting these metrics to dollars.
"Value Add" Service. Segmentation will help better understanding these metrics.
## Other Admin
- [X] Await Lukasz direction on changing the Artera and Hanna University Looks once the new explores are created. - 04-24-2025