Skip to content

Commit

Permalink
Merge pull request #12576 from kaltura/Tucana-20.6.0-PLAT-24609
Browse files Browse the repository at this point in the history
PLAT-24609 add additional dynamic email contents
  • Loading branch information
salma2222 authored Feb 14, 2024
2 parents 3ee7f54 + 8db0af7 commit bf35067
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 12 deletions.
46 changes: 42 additions & 4 deletions alpha/apps/kaltura/lib/authenticationUtils.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,51 @@ public static function addAuthMailJob($partner, $kuser, $mailType)
public static function addSsoMailJob($partner, $kuser, $mailType)
{
$partnerId = $partner->getId();
$puserId = $kuser->getPuserId();
$userName = $kuser->getFullName();
$loginEmail = $kuser->getEmail();
$publisherName = $partner->getName();
$roleNames = $kuser->getUserRoleNames();

$roleNameToUseDynamicEmailTemplate = kEmails::getDynamicEmailUserRoleName($roleNames);
if ($roleNameToUseDynamicEmailTemplate)
{
$appLink = kEmails::getDynamicTemplateBaseLink($roleNames, 'dynamic_email_app_link');
$loginLink = kEmails::getDynamicTemplateBaseLink($roleNames, 'dynamic_email_login_link');
$dynamicLink = kEmails::getDynamicTemplateBaseLink($roleNames);

$resetPasswordLink = UserLoginDataPeer::getPassResetLink($kuser->getLoginData()->getPasswordHashKey(), null, $dynamicLink);

$associativeBodyParams = array(
kEmails::TAG_ROLE_NAME => $roleNameToUseDynamicEmailTemplate,
kEmails::TAG_USER_NAME => $userName,
kEmails::TAG_PUBLISHER_NAME => $publisherName,
kEmails::TAG_LOGIN_EMAIL => $loginEmail,
kEmails::TAG_PARTNER_ID => $partnerId,
kEmails::TAG_PUSER_ID => $puserId,
kEmails::TAG_APP_LINK => $appLink,
kEmails::TAG_LOGIN_LINK => $loginLink,
kEmails::TAG_RESET_PASSWORD_LINK => $resetPasswordLink
);

$dynamicEmailContents = kEmails::getDynamicEmailData($mailType, $roleNameToUseDynamicEmailTemplate);
$dynamicEmailContents->setEmailBody(kEmails::populateCustomEmailBody($dynamicEmailContents->getEmailBody(), $associativeBodyParams));

return kJobsManager::addDynamicEmailJob(
$partnerId,
$mailType,
kMailJobData::MAIL_PRIORITY_NORMAL,
$loginEmail,
'partner_registration_confirmation_email',
'partner_registration_confirmation_name',
$dynamicEmailContents
);
}

$loginLink = kConf::get('login_link','sso');
$bodyParams = array($kuser->getFullName(), $partnerId, $loginLink, $kuser->getEmail(), $partnerId, $publisherName, $publisherName, $kuser->getUserRoleNames(), $publisherName, $kuser->getPuserId());
$bodyParams = array($userName, $partnerId, $loginLink, $loginEmail, $partnerId, $publisherName, $publisherName, $roleNames, $publisherName, $puserId);

$job = kJobsManager::addMailJob(
return kJobsManager::addMailJob(
null,
0,
$kuser->getPartnerId(),
Expand All @@ -84,8 +124,6 @@ public static function addSsoMailJob($partner, $kuser, $mailType)
$kuser->getEmail(),
$bodyParams
);

return $job;
}

public static function verify2FACode($loginData, $otp)
Expand Down
12 changes: 9 additions & 3 deletions alpha/apps/kaltura/lib/kAuthManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,16 @@ public function objectChanged(BaseObject $object, array $modifiedColumns)

protected static function handleSsoMail($object, $adminKuser)
{
$job = authenticationUtils::addSsoMailJob($object, $adminKuser, kuserPeer::KALTURA_EXISTING_USER_ENABLE_SSO_EMAIL);
if(!$job)
try
{
if(!authenticationUtils::addSsoMailJob($object, $adminKuser, kuserPeer::KALTURA_EXISTING_USER_ENABLE_SSO_EMAIL))
{
KalturaLog::warning('SSO Mail Job was not added');
}
}
catch(Exception $e)
{
KalturaLog::warning('Mail Job was not added');
KalturaLog::err('Error adding SSO Mail Job ' . $e->getMessage());
}
}

Expand Down
11 changes: 6 additions & 5 deletions alpha/lib/model/kuserPeer.php
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,8 @@ public static function sendNewUserMail(kuser $user, $existingUser)
$quickStartGuideLink);
if ($roleNameToUseDynamicEmailTemplate)
{
$appLink = kEmails::getDynamicTemplateBaseLink($roleNames, 'dynamic_email_app_link');
$loginLink = kEmails::getDynamicTemplateBaseLink($roleNames, 'dynamic_email_login_link');
$associativeBodyParams = array(
kEmails::TAG_AUTH_TYPE => $authType,
kEmails::TAG_EXISTING_USER => $existingUser,
Expand All @@ -674,13 +676,12 @@ public static function sendNewUserMail(kuser $user, $existingUser)
kEmails::TAG_ROLE_NAME => $roleNameToUseDynamicEmailTemplate,
kEmails::TAG_PUSER_ID => $puserId,
kEmails::TAG_KMC_LINK => $kmcLink,
kEmails::TAG_APP_LINK => $appLink,
kEmails::TAG_CONTACT_LINK => $contactLink,
kEmails::TAG_BEGINNERS_GUID_LINK => $beginnersGuideLink,
kEmails::TAG_QUICK_START_GUID_LINK => $quickStartGuideLink);
if ($authType == PartnerAuthenticationType::SSO)
{
$associativeBodyParams[kEmails::TAG_LOGIN_LINK] = $bodyParams[3];
}
kEmails::TAG_QUICK_START_GUID_LINK => $quickStartGuideLink,
kEmails::TAG_LOGIN_LINK => $loginLink
);
}
}

Expand Down
1 change: 1 addition & 0 deletions infra/general/kEmails.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class kEmails
const TAG_PARTNER_ID = '@partnerId@';
const TAG_PUSER_ID = '@puserId@';
const TAG_KMC_LINK = '@kmcLink@';
const TAG_APP_LINK = '@appLink@';
const TAG_CONTACT_LINK = '@contactLink@';
const TAG_BEGINNERS_GUID_LINK = '@beginnersGuideLink@';
const TAG_QUICK_START_GUID_LINK = '@quickStartGuideLink@';
Expand Down

0 comments on commit bf35067

Please sign in to comment.