I am in desperate need of a solution to a rather simple problem. This is causing hours of additional manual work, that should not be needed. As a School, we are legally required to hold contact details for both the Mother and Father. So, on our Leer más
Thank you for the suggestion - it's given me a few ideas, but I don't think it will work in the long term. Parent 1 won't always be parent 1, and...Leer más
I am in desperate need of a solution to a rather simple problem. This is causing hours of additional manual work, that should not be needed. As a School, we are legally required to hold contact details for both the Mother and Father. So, on our Leer más
Thank you for the suggestion - it's given me a few ideas, but I don't think it will work in the long term. Parent 1 won't always be parent 1, and...Leer más
I am in desperate need of a solution to a rather simple problem. This is causing hours of additional manual work, that should not be needed. As a School, we are legally required to hold contact details for both the Mother and Father. So, on our Leer más
Thank you for the suggestion - it's given me a few ideas, but I don't think it will work in the long term. Parent 1 won't always be parent 1, and...Leer más
I am in desperate need of a solution to a rather simple problem. This is causing hours of additional manual work, that should not be needed. As a School, we are legally required to hold contact details for both the Mother and Father. So, on our Leer más
Thank you for the suggestion - it's given me a few ideas, but I don't think it will work in the long term. Parent 1 won't always be parent 1, and...Leer más
For context: We are a school and use HubSpot forms for our applications. On the applications we ask for 2 contacts - usually mum and dad - and use a workflow to create the 2nd contact based on the form submission. We then associate the 2nd contact w Leer más
We use HubSpot as an admissions system, with the intent to export data and import into another system for an entirely different process. The reporting function only allows me to export 20 columns of data, but I need to export approx. 100 columns Leer más
No, I didn't mark them as accepted and no, they're not a suitable solution. Being an EU based company, hosted on EU servers, the apps are not sui...Leer más
A quick bit of context. We are a school, using HubSpot for enquiries and admissions. A contact (parent) submits 'tickets' as a way of enquiring for basic info, then they submit 'deals' by completing a formal application form. However, as we Leer más
Thanks for the reply again @jolle . We have to have seperate deals. They could enquire about a child aged 9, to start in 2025, and a child aged ...Leer más
I am in desperate need of a solution to a rather simple problem. This is causing hours of additional manual work, that should not be needed. As a School, we are legally required to hold contact details for both the Mother and Father. So, on our Leer más
Thank you for the suggestion - it's given me a few ideas, but I don't think it will work in the long term. Parent 1 won't always be parent 1, and...Leer más
For context: We are a school and use HubSpot forms for our applications. On the applications we ask for 2 contacts - usually mum and dad - and use a workflow to create the 2nd contact based on the form submission. We then associate the 2nd contact w Leer más
We use HubSpot as an admissions system, with the intent to export data and import into another system for an entirely different process. The reporting function only allows me to export 20 columns of data, but I need to export approx. 100 columns Leer más
No, I didn't mark them as accepted and no, they're not a suitable solution. Being an EU based company, hosted on EU servers, the apps are not sui...Leer más
A quick bit of background to help with this: We are a school, and we want to see numbers of applications (deals) on 1st May 2023 vs 1st May 2022. The deal stages are the same, but property field values are different. To help us determine whi Leer más
Hi all I am new to using HubSpot, and I am running into a couple of problems with the Custom Report builder, that I am hoping someone can help with. I have, successfully, built a report that shows the number of deals and at which stage they Leer más
Thank you, again, for the quick response. Unfortunately this only affects the KPI graph (first picture), and does not affect the report details (sec...Leer más
//
//
//
//
//
(function($) {
//START END-USER CONFIGURATION
//------------------------------
//selectors for hover card triggers
var allHoverCardTriggers = '.author-name-link,.friend-list .friend a,.username a,.avatar,.user-avatar,.author-img, .authors a, .messageauthorusername a, a.lia-user-name-link, .js-latest-post-by-from a, .user-online-list li a, a.UserAvatar, .customUsersOnline a, #authors a,.dashboard-followers a.user-name, .dashboard-following a.user-name,.author-login-wrapper a, .hb-leaderboard a, .author-img-floated';
// Forward calling page's URL params to endpoint URL as well, helps with testing!
var params = (new URL(location.href)).searchParams;
var userApiUrl = '/plugins/custom/hubspot/hubspot/hovercardendpoint?' + ((params.set('user_id', '') == []._) && params.toString());
if($('.hover-card-container').length<1){
$('body').append('');
}
var cardWrapper = $('.hover-card-container');
var error = false;
var thisUserID = '';
var thisUserLogin = '';
var userLink ='';
var cardTimer;
var leaveTimer;
function mouseenter(Elem) {
var thisEl = Elem;
cardTimer = setTimeout(function(){
var docWidth = $(document).width();
var rightSide = false;
var userLink = thisEl.attr('href');
if($('.ViewProfilePage').length && $('img.lia-user-avatar-profile',thisEl).length){thisUserID = '501927';}
else if(thisEl.attr('href')=='#' || thisEl.attr('href')=='' || !userLink.match('viewprofilepage')){
return false;}
else{
var thisLen = (userLink).split('/');
thisUserID = (thisLen)[thisLen.length-1];
}
var thisCard = $('.profileCard[data-user='+thisUserID+']',cardWrapper);
var cardId = 'userProfileCard-'+ thisUserID;
var addAttr = thisEl.attr('aria-describedby',cardId);
var thisElTopOffset = Math.round(thisEl.offset().top+(thisEl.height()/2)+30);
var thisElbottomoffset = "auto";
var className = "";
var winHeight = $(window).height();
var elOffset = thisEl.offset();
var scrollTop = $(window).scrollTop();
var elementOffset = thisEl.offset().top;
var distanceTop = (elementOffset - scrollTop);
var distanceBottom = (winHeight + scrollTop) - (elOffset.top + thisEl.outerHeight(true));
var distanceLeft = Math.round(thisEl.offset().left);
var bodyHight = $('body').height();
var topParam = '';
var bottomparam = '';
var position = '';
var className = 'topArrow';
cardId
if(distanceBottom < 300 ){
if(distanceLeft < 59){
thisCard.removeClass('bottomArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
var thisElTopOffset = (thisElTopOffset)-(301); var className = 'bottomArrow'; thisCard.removeClass('topArrow');
thisCard.removeClass('leftArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
else{
if(distanceLeft < 59){
thisCard.removeClass('topArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
thisCard.removeClass('leftArrow');
thisCard.removeClass('bottomArrow').addClass('topArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
if(thisCard.length && $('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length<1){
$('.profileCard',cardWrapper).hide();
thisCard.addClass(className);
rightSide?thisCard.addClass('rightArrow'):thisCard.removeClass('rightArrow');
thisCard.delay(0).css({'top':(thisElTopOffset),'left':distanceLeft,'bottom':thisElbottomoffset}).fadeIn();
} else {
var ajaxReturn = '';
//just in case
thisCard.remove();
//hover card wrapper markup
var rightArrowClass = rightSide?'rightArrow':'';
if(thisElTopOffset != "auto"){
topParam = 'px';
}
if(thisElbottomoffset != "auto"){
bottomparam = 'px';
}
var profileCardHtml = '';
$.when(
//get the background
$.ajax({
type: 'GET',
url: userApiUrl+thisUserID,
dataType: 'html',
success: function(data) {
$('.profileCard',cardWrapper).hide();
ajaxReturn = data;
}
})
)
.done(function(){
cardWrapper.append(profileCardHtml);
$('.profileCard[data-user='+thisUserID+']',cardWrapper).eq(0).empty().html(ajaxReturn);
if($('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length){
$('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).parents('div.profileCard').remove();
}
})
.fail(function(){
//uh oh - bail out!
$('.profileCard',cardWrapper).hide();
});
}
}, 360);
}
function mouseleave(e) {
clearTimeout(cardTimer);
// glowingblue: When the user leaves the hovercard trigger, wait because the leaving could be
// to interact with the hovercard, if we don't wait it will just disappear...because
// we left the trigger, right...so we'll have another handler that check if the mouse is
// over the hovercard and if so clears this timer, so the card doesn't close here
leaveTimer = setTimeout(function() {
if ($('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).length) {
$('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).fadeOut('fast');
} else {
$(".profileCard").fadeOut('fast');
}
}, 2400);
}
$(document).on("mouseenter focusin", allHoverCardTriggers, function(event) {
if(!($(this).parents().hasClass('custom-header'))&& !($(this).parents().hasClass('green-wrap'))){
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseenter($(this));
event.stopPropagation();
}
});
$(document).on("mouseleave focusout", allHoverCardTriggers, function(event) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseleave(event);
event.stopPropagation();
});
// glowingblue: Add handlers for when the users interacts with the hovercard, no closing!
$('.hover-card-container').on('mouseenter', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
});
$('.hover-card-container').on('mouseleave', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
if ( $(e.target).is('.profileCard[style*="block"]') ) {
leaveTimer = setTimeout(function() {
$(e.target).fadeOut('fast');
}, 2400);
}
});
// glowingblue: add one global root level click handler to also close any visible hovercards
// if the user taps/clicks outside the hovercard
$(document).on('mousedown', function(e) {
if ( !$(e.target).parents('.hover-card-container').length ) {
(leaveTimer != []._) && clearTimeout(leaveTimer);
$('.hover-card-container .profileCard[style*="block"]').each(function() {
$(this).fadeOut('fast');
});
}
});
})(LITHIUM.jQuery);
(function($) {
$(document).ready(function(){
var originalElementId;
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function errorDisplay(errType) {
var errAuth = '
Para acceder a esta zona de la Comunidad, inicia sesión.
';
var errAuthLogin = '
To access HubFans and complete challenges, confirm you are logged in by clicking here. Find additional troubleshooting steps here
';
var noBadges = '
To start earning advocacy badges go to the HubFan advocacy program page and start completing advocacy challenges.
';
var noAsks = '
Hooray! No more challenges for you to complete today. Check back in for more challenges tomorrow.