Small changes for Pipedrive and uploaded the Chubb CISA CSV.

This commit is contained in:
Norm Rasmussen
2025-10-16 14:27:48 -04:00
parent 464886fcd0
commit 7414b2e22e
25 changed files with 118 additions and 86 deletions

View File

@ -24,7 +24,7 @@
/>
<img
alt="avatar"
class="np-account-avatar-image"
class="np-account-avatar-image fs-exclude"
src="{% if form.secure_custom_avatar_url contains "https://secure.gravatar.com/avatar" %}https://s3.amazonaws.com/static.northpass.com/pipedrive/Avatar.png{% else %}{{ form.secure_custom_avatar_url }}{% endif %}"
id="{{version}}_custom_avatar_img"
{% if form.use_gravatar? %}style="display: none"{% endif %}

View File

@ -120,7 +120,7 @@
<script>
{% if current_school.properties.sandbox == false %}
const deletionInput = document.getElementById('account-deletion-confirmation-input');
deletionInput.addEventListener('input', () => {
const button = document.querySelector('#confirm-deletion');
if (deletionInput.value.toLowerCase() !== 'delete') {
@ -129,7 +129,7 @@
button.classList.remove('button-deletion-disabled');
}
});
function sendDeleteRequest() {
document.querySelector('.account-deletion-popup-confirmation').classList.add('np-hidden');
document.querySelector('.account-deletion-popup-goodbye').classList.remove('np-hidden');
@ -137,7 +137,7 @@
const personEmail = '{{ current_person.email }}'
const personTime = '{{ current_person.created_at | replace_first: " ", "T" | replace_first: " +0000", ".000000+00:00" }}';
const xhr = new XMLHttpRequest();
{% if current_school.sso_active? %}
var url = 'https://webhooks.workato.com/webhooks/rest/bd1a1eb7-7e79-4208-a1db-8e9c7440bcc9/pipedrive-sso-delete-myself'
{% else %}

View File

@ -17,7 +17,7 @@
<span class="lang-fr">Trouvez les meilleures formations, vidéos tutoriels et webinaires pour maîtriser votre CRM et vos compétences commerciales.</span>
<span class="lang-br">Encontre os melhores cursos de treinamento, tutoriais em vídeo e webinars para dominar seu CRM e suas habilidades em vendas.</span>
</div>
<div class="green-banner-search">
<div class="green-banner-search" data-fs-element="academy | embedded-search" data-location="academy/banner" data-fs-properties-schema='{"data-location":"str"}'>
<form action="{% route search %}" method="get" data-test="desktop-search" class="banner-search-form">
<input aria-label="{% t .search %}" class="banner-search-input" type="text" name="q" placeholder="Search Pipedrive Academy">
<i class="banner-search-icon fal fa-search" aria-hidden="true"></i>

View File

@ -4,8 +4,9 @@
{% endfor %}
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
{% assign scaled_image_url = "" | append: course.image_url | replace: "resize=width:819,height:503", "resize=width:912,height:503" %}
{% assign ribbon_value = course.ribbon | default: 'none' %}
<div class="course-card col-xs-12 col-sm-6 col-lg-4" language="{{course.properties.course_language}}" item-categories="{{ course.categories | map: 'id' | join: " " }}">
<div data-fs-element="academy | course-card" data-fs-properties-schema='{"data-course-language":"str", "data-course-ribbon":"str", "data-course-id":"str", "data-course-categories":"str"}' data-course-ribbon="{{ ribbon_value | upcase }}" data-course-language="{{course.properties.course_language}}" data-course-id="{{course.id}}" data-course-categories="{{ course.categories | map: 'id' | join: ' ' }}" class="course-card col-xs-12 col-sm-6 col-lg-4" language="{{course.properties.course_language}}" item-categories="{{ course.categories | map: 'id' | join: " " }}">
<a class="course-card-wrapper" href="{{ course_path }}">
{% if course.ribbon and course.ribbon.size > 0 %}
{% assign course_ribbon_uppercase = course.ribbon | upcase %}

View File

@ -4,8 +4,9 @@
{% endfor %}
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
{% assign scaled_image_url = "" | append: course.image_url | replace: "resize=width:819,height:503", "resize=width:912,height:503" %}
{% assign ribbon_value = course.ribbon| default: 'none' %}
<div data-fs-element="academy | course-card" data-fs-properties-schema='{"data-course-language":"str", "data-course-id":"str", "data-course-categories":"str"}' data-course-language="{{course.properties.course_language}}" data-course-id="{{course.id}}" data-course-categories="{{ course.categories | map: 'id' | join: ' ' }}" class="course-card video-card col-xs-12 col-sm-6 col-lg-4" language="{{course.properties.course_language}}">
<div data-fs-element="academy | course-card" data-fs-properties-schema='{"data-course-language":"str", "data-course-ribbon":"str", "data-course-id":"str", "data-course-categories":"str"}' data-course-ribbon="{{ribbon_value | upcase}}" data-course-language="{{course.properties.course_language}}" data-course-id="{{course.id}}" data-course-categories="{{ course.categories | map: 'id' | join: ' ' }}" class="course-card video-card col-xs-12 col-sm-6 col-lg-4" language="{{course.properties.course_language}}">
<a class="course-card-wrapper" href="{{ course_path }}">
{% if course.properties.course_time != 'NULL' %}
<div class="video-card-ribbon">

View File

@ -7,7 +7,7 @@
</p>
</div>
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-value">
<p class="np-certificate-metadata-value fs-mask">
{{certificate.learner_name}}
</p>
</div>

View File

@ -27,7 +27,7 @@
<iframe
id="previewIframe"
onload="resizeIframe()"
class="np-certificate-iframe-preview"
class="np-certificate-iframe-preview fs-exclude"
srcdoc="{{ certificate.certificate_template_html }}"
></iframe>
</div>

View File

@ -8,7 +8,8 @@
<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"
class="np-button np-certificate-button np-certificate-button-secondary fs-mask"
data-fs-element="academy | certificate-linkedin-share"
href="{{certificate.linkedin_share_url}}"
target="_blank"
>
@ -19,6 +20,7 @@
<button
id="print"
type="button"
data-fs-element="academy | certificate-print"
class="np-button np-certificate-button np-certificate-button-secondary np-certificate-button-print"
>
{% t .print %}
@ -32,9 +34,10 @@
href="{{ certificate.download_url }}"
aria-label="{% t .download %}"
target="_blank"
data-fs-element="academy | certificate-download"
rel="noopener noreferrer"
download
class="np-button np-certificate-button np-certificate-button-primary np-button-font-color"
class="np-button np-certificate-button np-certificate-button-primary np-button-font-color fs-mask"
>
{% t .download %}
</a>

View File

@ -218,7 +218,7 @@
<p class="footer-button-link-separator">
|
</p>
<a id="ot-sdk-btn" class="footer-bottom-link">
<a id="pd-sdk-btn" class="pd-cookie-settings-link footer-bottom-link">
<span class="pd-ot-settings lang-en">Cookie Settings</span>
<span class="pd-ot-settings lang-de">Cookie-Richtlinie</span>
<span class="pd-ot-settings lang-es">Configuración de cookies</span>
@ -374,3 +374,17 @@
document.querySelector('.footer-language-dropdown').classList.toggle('show');
});
</script>
<script>
document.addEventListener('click', function(event) {
const cookieLink = event.target.closest('.pd-cookie-settings-link');
if (cookieLink) {
event.preventDefault();
OneTrust.ToggleInfoDisplay();
}
});
</script>

View File

@ -91,11 +91,11 @@
} else {
selectedLanguage = 'en';
}
changeLanguage(selectedLanguage, false);
}
}
addEventListener('DOMContentLoaded', () => {
setupInitialLanguage();
});
@ -128,22 +128,22 @@
videoTutorials: '/app/video-tutorials'
}
};
const currentUrl = window.location.pathname;
const currentLang = window.current_language || 'en';
let category = 'homepage';
if (currentUrl.includes('catalog')) {
category = 'catalog';
} else if (currentUrl.includes('video-tutorials')) {
category = 'videoTutorials';
}
const newUrl = languageMappings[currentLang][category] || '/app';
window.location.href = newUrl;
}
const academyLanguage = window.localStorage.getItem('academy-language');
console.log(academyLanguage);
@ -154,15 +154,15 @@
function filterCoursesByLanguage() {
var selectedLanguage = localStorage.getItem('academy-language');
var courses = document.querySelectorAll('.homepage-card-wrapper, .course-card');
if (!courses.length) {
return; // Nie ma żadnych kursów na stronie
}
for (var i = 0; i < courses.length; i++) {
var course = courses[i];
var courseLanguage = course.getAttribute('language');
if (selectedLanguage && courseLanguage !== selectedLanguage) {
course.style.display = 'none'; // Ukryj kursy o nieodpowiednim języku
} else {
@ -170,14 +170,14 @@
}
}
}
// Wywołanie funkcji po załadowaniu strony
window.addEventListener('DOMContentLoaded', filterCoursesByLanguage);
// Wywołanie funkcji po zmianie wartości w local storage
window.addEventListener('storage', filterCoursesByLanguage);
</script>
<!-- on SSO school redirect new users to setup their name -->
@ -190,7 +190,7 @@ window.addEventListener('storage', filterCoursesByLanguage);
{
window.location.replace('/app/profile-settings')
}
</script>
{% endunless %}
{% endif %}
@ -225,13 +225,3 @@ window.addEventListener('storage', filterCoursesByLanguage);
</script>
{% endif %}
{% endif %}
<script>
document.addEventListener('click', (event) => {
if (event.target.classList.contains('pd-ot-settings')) {
if(OneTrust && OneTrust.ToggleInfoDisplay){
OneTrust.ToggleInfoDisplay()
};
}
});
</script>

View File

@ -38,31 +38,52 @@
src="https://s3.us-east-1.amazonaws.com/static.northpass.com/pipedrive/Logo.png"
>
</a>
{% capture academy_nav_root %}
data-fs-element="academy-nav | link" data-link-location="header-menu" data-fs-properties-schema='{"data-link-location":"str", "data-link":"str"}'
{% endcapture %}
{% capture academy_nav_webinar %}
data-link="www/webinar" {{ academy_nav_root }}
{% endcapture %}
{% capture academy_nav_videos %}
data-link="app/video-tutorials" {{ academy_nav_root }}
{% endcapture %}
{% capture academy_nav_courses %}
data-link="app/courses" {{ academy_nav_root }}
{% endcapture %}
{% capture academy_nav_www_home %}
data-link="www/home" {{ academy_nav_root }}
{% endcapture %}
<div class="header-desktop-navigation header-desktop header-flex body-s">
<a class="header-navigation-item lang-en" href="/app/catalog">Courses</a>
<a class="header-navigation-item lang-en" href="/app/video-tutorials">Video Tutorials</a>
<a class="header-navigation-item lang-en" href="https://www.pipedrive.com/en/webinars" target="_blank">Webinars</a>
<a {{ academy_nav_courses }} class="header-navigation-item lang-en" href="/app/catalog">Courses</a>
<a {{ academy_nav_videos }} class="header-navigation-item lang-en" href="/app/video-tutorials">Video Tutorials</a>
<a {{ academy_nav_webinar }} class="header-navigation-item lang-en" href="https://www.pipedrive.com/en/webinars" target="_blank">Webinars</a>
<a class="header-navigation-item lang-es catalog-link" href="/app/es-catalog">Cursos</a>
<a class="header-navigation-item lang-es video-tutorials-link" href="/app/es-video-tutorials">Tutoriales en vídeo</a>
<a class="header-navigation-item lang-es" href="https://www.pipedrive.com/en/webinars" target="_blank">Seminarios en línea</a>
<a {{ academy_nav_courses }} class="header-navigation-item lang-es catalog-link" href="/app/es-catalog">Cursos</a>
<a {{ academy_nav_videos }} class="header-navigation-item lang-es video-tutorials-link" href="/app/es-video-tutorials">Tutoriales en vídeo</a>
<a {{ academy_nav_webinar }} class="header-navigation-item lang-es" href="https://www.pipedrive.com/en/webinars" target="_blank">Seminarios en línea</a>
<a class="header-navigation-item lang-de catalog-link" href="/app/de-catalog">Kurse</a>
<a class="header-navigation-item lang-de video-tutorials-link" href="/app/de-video-tutorials">Video-Tutorials</a>
<a class="header-navigation-item lang-de" href="https://www.pipedrive.com/en/webinars" target="_blank">Webinare</a>
<a {{ academy_nav_courses }} class="header-navigation-item lang-de catalog-link" href="/app/de-catalog">Kurse</a>
<a {{ academy_nav_videos }} class="header-navigation-item lang-de video-tutorials-link" href="/app/de-video-tutorials">Video-Tutorials</a>
<a {{ academy_nav_webinar }} class="header-navigation-item lang-de" href="https://www.pipedrive.com/en/webinars" target="_blank">Webinare</a>
<a class="header-navigation-item lang-fr catalog-link" href="/app/fr-catalog">Cours</a>
<a class="header-navigation-item lang-fr video-tutorials-link" href="/app/fr-video-tutorials">Tutoriels vidéo</a>
<a class="header-navigation-item lang-fr" href="https://www.pipedrive.com/en/webinars" target="_blank">Webinaires</a>
<a {{ academy_nav_courses }} class="header-navigation-item lang-fr catalog-link" href="/app/fr-catalog">Cours</a>
<a {{ academy_nav_videos }} class="header-navigation-item lang-fr video-tutorials-link" href="/app/fr-video-tutorials">Tutoriels vidéo</a>
<a {{ academy_nav_webinar }} class="header-navigation-item lang-fr" href="https://www.pipedrive.com/en/webinars" target="_blank">Webinaires</a>
<a class="header-navigation-item lang-br catalog-link" href="/app/br-catalog">Cursos</a>
<a class="header-navigation-item lang-br video-tutorials-link" href="/app/br-video-tutorials">Tutoriais em vídeo</a>
<a class="header-navigation-item lang-br" href="https://www.pipedrive.com/en/webinars" target="_blank">Webinars</a>
<a {{ academy_nav_courses }} class="header-navigation-item lang-br catalog-link" href="/app/br-catalog">Cursos</a>
<a {{ academy_nav_videos }} class="header-navigation-item lang-br video-tutorials-link" href="/app/br-video-tutorials">Tutoriais em vídeo</a>
<a {{ academy_nav_webinar }} class="header-navigation-item lang-br" href="https://www.pipedrive.com/en/webinars" target="_blank">Webinars</a>
</div>
</section>
<section class="header-right header-flex">
<div class="header-desktop header-flex">
<a class="header-navigation-item body-s" href="https://www.pipedrive.com">
<a {{ academy_nav_www_home }} class="header-navigation-item body-s" href="https://www.pipedrive.com">
<span class="lang-en">go to</span>
<span class="lang-de">Gehen Sie zu</span>
<span class="lang-es">ir a</span>
@ -71,7 +92,7 @@
</a>
{% if current_person.signed_in? %}
<div class="np-hidden-mobile np-header-search" id="headerSearch">
<div class="np-hidden-mobile np-header-search" data-fs-element="academy-nav | search" id="headerSearch">
<form action="{% route search %}" method="get" data-test="desktop-search" class="header-search-form">
<input
aria-label="{% t .search %}"
@ -107,19 +128,19 @@
{% if current_person.avatar_url contains "https://secure.gravatar.com/avatar" %}
<img class="header-profile-image" src="https://s3.amazonaws.com/static.northpass.com/pipedrive/Avatar.png" alt="profile image">
{% else %}
<img class="header-profile-image" src="{{ current_person.avatar_url }}" alt="profile image">
<img class="header-profile-image fs-exclude" src="{{ current_person.avatar_url }}" alt="profile image">
{% endif %}
<div class="header-profile-menu">
<div class="header-profile-menu-name body-s strong">
<div class="header-profile-menu" data-fs-element="academy-nav | user-profile">
<div class="header-profile-menu-name body-s strong fs-mask">
{{ current_person.name }}
</div>
<i class="far fa-chevron-down profile-arrow-down"></i>
<i class="far fa-chevron-up profile-arrow-up"></i>
<div class="profile-dropdown">
<div class="profile-dropdown-name body-s strong">
<div class="profile-dropdown-name body-s strong fs-mask">
{{ current_person.name }}
</div>
<div class="profile-dropdown-email body-s">
<div class="profile-dropdown-email body-s fs-mask">
{{ current_person.email }}
</div>
<a class="profile-dropdown-link body-s"
@ -145,7 +166,7 @@
</div>
</div>
{% else %}
<a class="header-navigation-item body-s" href="#sso-widget">
<a class="header-navigation-item body-s" href="#sso-widget" data-fs-element="academy-nav | login">
<span class="lang-en">Log in</span>
<span class="lang-de">Einloggen</span>
<span class="lang-es">Conectarse</span>

View File

@ -2,7 +2,7 @@
<div class="green-banner width-limit">
<img class="green-banner-image" src="https://s3.us-east-1.amazonaws.com/static.northpass.com/pipedrive/images/1.webp" alt="banner">
<div class="green-banner-content">
<h1 class="green-banner-title">
<h1 class="green-banner-title fs-mask">
<span class="lang-en">Hi {{ current_person.first_name }}!</span>
<span class="lang-de">Hallo {{ current_person.first_name }}!</span>
<span class="lang-es">¡Hola {{ current_person.first_name }}!</span>
@ -17,7 +17,7 @@
<span class="lang-br">Encontre os melhores cursos de treinamento, tutoriais em vídeo e webinars para dominar suas habilidades de CRM e vendas.</span>
</div>
{% if current_person.signed_in? %}
<div class="green-banner-search">
<div class="green-banner-search" data-fs-element="academy | embedded-search" data-location="academy/homepage" data-fs-properties-schema='{"data-location":"str"}'>
<form action="{% route search %}" method="get" data-test="desktop-search" class="banner-search-form">
<input aria-label="{% t .search %}" class="banner-search-input" type="text" name="q" placeholder="Search Pipedrive Academy">
<i class="banner-search-icon fal fa-search" aria-hidden="true"></i>

View File

@ -9,7 +9,7 @@
<span class="lang-es">Hola&nbsp</span>
<span class="lang-fr">Bonjour&nbsp</span>
<span class="lang-br">Oi&nbsp</span>
<span class="first-name-field">
<span class="first-name-field fs-mask">
{% if current_person.first_name %}
{{ current_person.first_name }}
{% else %}

View File

@ -7,28 +7,28 @@
{% if in_progress %}
<section class="homepage-courses-wrapper width-limit">
{% comment %} <div class="homepage-filter">
<div class="filter-item body-s strong filter-item-active" filter-items="latest" onclick='filterHomepage(this)'>
<div data-fs-element="academy | course-filter" data-fs-properties-schema='{"data-course-category-id":"str"}' data-course-category-id="latest" class="filter-item body-s strong filter-item-active" filter-items="latest" onclick='filterHomepage(this)'>
<span class="lang-en">Latest activity</span>
<span class="lang-de">Letzte Aktivität</span>
<span class="lang-es">Última actividad</span>
<span class="lang-fr">Dernière activité</span>
<span class="lang-br">Actividade mais recente</span>
</div>
<div class="filter-item body-s strong" filter-items="in-progress" onclick='filterHomepage(this)'>
<div data-fs-element="academy | course-filter" data-fs-properties-schema='{"data-course-category-id":"str"}' data-course-category-id="in_progress" class="filter-item body-s strong" filter-items="in-progress" onclick='filterHomepage(this)'>
<span class="lang-en">In progress</span>
<span class="lang-de">In Arbeit</span>
<span class="lang-es">En curso</span>
<span class="lang-fr">En cours</span>
<span class="lang-br">Em andamento</span>
</div>
<div class="filter-item body-s strong" filter-items="completed" onclick='filterHomepage(this)'>
<div data-fs-element="academy | course-filter" data-fs-properties-schema='{"data-course-category-id":"str"}' data-course-category-id="completed" class="filter-item body-s strong" filter-items="completed" onclick='filterHomepage(this)'>
<span class="lang-en">Completed</span>
<span class="lang-de">Abgeschlossen</span>
<span class="lang-es">Completado</span>
<span class="lang-fr">Complété</span>
<span class="lang-br">Concluído</span>
</div>
<div class="filter-item body-s strong" filter-items="my-list" onclick='filterHomepage(this)'>
<div data-fs-element="academy | course-filter" data-fs-properties-schema='{"data-course-category-id":"str"}' data-course-category-id="my_list" class="filter-item body-s strong" filter-items="my-list" onclick='filterHomepage(this)'>
<span class="lang-en">My list</span>
<span class="lang-de">Meine Liste</span>
<span class="lang-es">Mi lista</span>

View File

@ -1,6 +1,6 @@
{% if result.type == 'course' %}
<div class="course-card-search col-xs-12 col-sm-6 col-lg-4 search-result">
<div data-fs-element="academy | search-result" data-fs-properties-schema='{"data-course-id":"str", "data-card-type":"str"}' data-card-type="course" data-course-id="{{ result.course.id }}" class="course-card-search col-xs-12 col-sm-6 col-lg-4 search-result">
<a class="course-card-wrapper" href="{{ result.path }}">
<img class="course-card-image" src="{{ result.image_url }}" >
<div class="course-card-content">

View File

@ -10,7 +10,7 @@
<span class="lang-br">Aprenda de graça</span>
</h3>
<div style="display: flex; margin-bottom: 40px;">
<a class="button-1 button-large" href="/learners/sign_in">
<a data-fs-element="academy | login-with-pipedrive" data-button-location="sso-widget" data-fs-properties-schema='{"data-button-location":"str"}' class="button-1 button-large" href="/learners/sign_in">
<span class="lang-en">Log in with Pipedrive</span>
<span class="lang-de">Mit Pipedrive anmelden</span>
<span class="lang-es">Iniciar sesión con Pipedrive</span>
@ -18,6 +18,7 @@
<span class="lang-br">Faça login com o Pipedrive</span>
</a>
</div>
{% comment %}
<div class="login-text-wrapper">
<div class="login-text-strike"></div>
<div class="login-text body-s">
@ -29,7 +30,7 @@
</div>
</div>
<div style="display: flex">
<a class="button-2 button-large" id="redirect-between-academies" href="https://user-learn.pipedrive.com/sign_up">
<a data-fs-element="academy | login-or-register" class="button-2 button-large" id="redirect-between-academies" href="https://user-learn.pipedrive.com/learners/sign_in">
<span class="lang-en">Create account</span>
<span class="lang-de">Konto erstellen</span>
<span class="lang-es">Crear cuenta</span>
@ -37,6 +38,7 @@
<span class="lang-br">Criar conta</span>
</a>
</div>
{% endcomment %}
</div>
</div>
</div>
@ -110,13 +112,13 @@
window.onscroll = function () { window.scrollTo(0, 0); };
}
}
addEventListener('DOMContentLoaded', () => {
document.querySelector('.login-widget-background').addEventListener('click', () => {
toggleSsoWidget();
});
});
window.addEventListener('hashchange', () => {
if (window.location.hash === '#sso-widget') {
toggleSsoWidget();

View File

@ -48,7 +48,7 @@
{% if suggested_course.ribbon == "VIDEO" and suggested_course.id != course.id %}
{% for suggested_course_category in suggested_course.categories %}
{% if course_cateogries contains suggested_course_category.id %}
<a data-fs-element="academy | suggested-course" data-fs-properties='{"data-course-id":"str"}' data-course-id="{{suggested_course.id}}" class="video-suggested-course" href="{% route course, id: suggested_course.id %}">
<a data-fs-element="academy | suggested-course" data-fs-properties-schema='{"data-course-id":"str"}' data-course-id="{{suggested_course.id}}" class="video-suggested-course" href="{% route course, id: suggested_course.id %}">
<div class="video-suggested-course-image-wrapper">
<img class="video-suggested-course-image" img-src="{{ suggested_course.image_url }}" alt="{{ suggested_course.name }}">
</div>

View File

@ -2,7 +2,7 @@
{% if uuids.size > 0 %}
<div class="courses-filter-hidden np-hidden">
<div class="courses-filter-item courses-filter-item-active body-s strong" onclick="filterItems(this)" category-uuid="ALL" category-uuid="ALL" style="order: -1;">
<div data-fs-element="academy | course-filter" data-fs-properties-schema='{"data-course-category-id":"str"}' data-course-category-id="all" class="courses-filter-item courses-filter-item-active body-s strong" onclick="filterItems(this)" category-uuid="ALL" style="order: -1;">
<span class="lang-en">All topics</span>
<span class="lang-de">Alle Themen</span>
<span class="lang-es">Todos los temas</span>
@ -12,7 +12,7 @@
{% for x in (1..uuids.size) %}
{% assign y = x | minus: 1 %}
{% assign cat_name = names | slice: y %}
<div class="courses-filter-item body-s strong" onclick="filterItems(this)" category-uuid="{{ uuids | slice: y }}">
<div data-fs-element="academy | course-filter" data-fs-properties-schema='{"data-course-category-id":"str"}' data-course-category-id="{{ uuids | slice: y }}" class="courses-filter-item body-s strong" onclick="filterItems(this)" category-uuid="{{ uuids | slice: y }}">
{{ cat_name }}
</div>
{% endfor %}

View File

@ -1,3 +1,3 @@
<div class="fs-mask">
<div class="fs-unmask">
{% body %}
</div>

View File

@ -10,7 +10,7 @@
{% else %}
{% include 'profile_settings_initial' %}
{% endif %}
<style>
.np-account {
background: #F7F7FE;
@ -63,17 +63,17 @@
}
}
</style>
<script>
const form = document.getElementById('name-form');
form.addEventListener('input', () => {
const firstName = document.querySelector('#first-name').value;
const lastName = document.querySelector('#last-name').value;
const button = document.querySelector('button.np-form-action');
button.disabled = !(firstName.length > 0 && lastName.length > 0);
});
addEventListener('DOMContentLoaded', () => {
{% if current_person.first_name %}
document.querySelector('#first-name').setAttribute('value', '{{ current_person.first_name }}');

View File

@ -62,7 +62,7 @@
</div>
<span class="bad-password" style="color: red; display: none; font-size: 12px; line-height: 1.25;">Invalid Password! Make sure your password is 8+ characters long and includes at least one upper case letter, lower case letter, number, and special character!</span>
<span class="bad-password" style="color: red; display: none; font-size: 12px; line-height: 1.25;"></span>
<button data-fs-element="academy | signup" type="submit" class="button-1 button-large np-form-action">
<button type="submit" class="button-1 button-large np-form-action">
{% t shared.sign_up %}
</button>
<span class="np-form-terms">
@ -193,4 +193,4 @@
break;
}
})
</script>
</script>

View File

@ -53,7 +53,7 @@
</form>
</div>
</main>
<style>
.np-account {
background: #F7F7FE;
@ -106,17 +106,17 @@
}
}
</style>
<script>
const form = document.getElementById('name-form');
form.addEventListener('input', () => {
const firstName = document.querySelector('#first-name').value;
const lastName = document.querySelector('#last-name').value;
const button = document.querySelector('button');
button.disabled = !(firstName.length > 0 && lastName.length > 0);
});
addEventListener('DOMContentLoaded', () => {
let defaultLastName = "{{ current_person.last_name }}";
let splitName = defaultLastName.split(' ');
@ -129,7 +129,7 @@
document.querySelector('button').disabled = true;
}
})
form.addEventListener('submit', (event) => {
event.preventDefault();
const firstName = document.getElementById('first-name').value;

View File

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