Skip to content

Commit 54d32ef

Browse files
committed
User: Plugin: Justification: add option to send notification to creator of the user - refs BT#21387
1 parent 8b49c4f commit 54d32ef

File tree

5 files changed

+33
-13
lines changed

5 files changed

+33
-13
lines changed

main/auth/justification.php

+26-13
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,32 @@
8383
$justificationContent = '';
8484
switch ($action) {
8585
case 'notify_justification':
86-
// notification to all admins action
87-
$userInfo = api_get_user_info();
88-
// get_all_administrators
89-
$adminList = UserManager::get_all_administrators();
90-
$link = api_get_path(WEB_PATH).'plugin/justification/justification_by_user.php?user_id='.api_get_user_id();
91-
$emailToAdminSubject = $plugin->get_lang('JustificationsCompleted').': '.$userInfo['complete_name'];
92-
$emailToAdminContent = $emailToAdminSubject.' <br /><br />'.'<a href="'.$link.'">'.$link.'</a>';
93-
foreach ($adminList as $adminId => $data) {
94-
MessageManager::send_message_simple(
95-
$adminId,
96-
$emailToAdminSubject,
97-
$emailToAdminContent,
98-
api_get_user_id());
86+
$link = api_get_path(WEB_PATH).'plugin/justification/justification_by_user.php?user_id='.api_get_user_id();
87+
$notificationEmailSubject = $plugin->get_lang('JustificationsCompleted').': '.$userInfo['complete_name'];
88+
$notificationEmailContent = $notificationEmailSubject.' <br /><br />'.'<a href="'.$link.'">'.$link.'</a>';
89+
if (api_get_plugin_setting('justification', 'notification_to_creator_only') === 'true') {
90+
$sql = "select creator_id from user where user_id = " . api_get_user_id();
91+
$result = Database::query($sql);
92+
if (Database::num_rows($result) > 0) {
93+
$row = Database::fetch_array($result);
94+
$sendToAllAdmins = false;
95+
MessageManager::send_message_simple(
96+
$row['creator_id'],
97+
$notificationEmailSubject,
98+
$notificationEmailContent,
99+
api_get_user_id());
100+
}
101+
}
102+
if ($sendToAllAdmins) {
103+
// get_all_administrators
104+
$adminList = UserManager::get_all_administrators();
105+
foreach ($adminList as $adminId => $data) {
106+
MessageManager::send_message_simple(
107+
$adminId,
108+
$notificationEmailSubject,
109+
$notificationEmailContent,
110+
api_get_user_id());
111+
}
99112
}
100113
Display::addFlash(Display::return_message(get_lang('MessageSent')));
101114
header('Location: '.api_get_self().'?a=notification_sent');

plugin/justification/Justification.php

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ protected function __construct()
1010
'Julio Montoya',
1111
[
1212
'tool_enable' => 'boolean',
13+
'notification_to_creator_only' => 'boolean',
1314
'default_course_id' => 'text',
1415
]
1516
);

plugin/justification/lang/english.php

+2
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,5 @@
2121
$strings['DocumentListForUserX'] = "Document list of user %s";
2222
$strings['JustificationsCompleted'] = "Justifications completed";
2323
$strings['SendNotificationToAllAdmins'] = "Send a notification to the administrator";
24+
$strings['notification_to_creator_only'] = "Send notification to user's creator only";
25+
$strings['notification_to_creator_only_help'] = "If activated then the notification will be sent only to the user who created the user who send the justifications and not to all admins";

plugin/justification/lang/french.php

+2
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,5 @@
2121
$strings['DocumentListForUserX'] = "Liste des documents pour %s";
2222
$strings['JustificationsCompleted'] = "Dossier complété";
2323
$strings['SendNotificationToAllAdmins'] = "Envoyer une notification à l'administrateur";
24+
$strings['notification_to_creator_only'] = "Envoyer la notification uniquement au créateur";
25+
$strings['notification_to_creator_only_help'] = "Si cette option est activée alors la notification est envoyée uniquement à l'utilisateur qui a créé l'utilisateur qui envoie les justificatifs et non à tous les admins de la plateforme";

plugin/justification/lang/spanish.php

+2
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,5 @@
2121
$strings['DocumentListForUserX'] = "Lista de documentos para %s";
2222
$strings['JustificationsCompleted'] = "justificativos completados";
2323
$strings['SendNotificationToAllAdmins'] = "Enviar una notificación al administrador";
24+
$strings['notification_to_creator_only'] = "Enviar la notificación solo al creador del usuario";
25+
$strings['notification_to_creator_only_help'] = "Si esta opción esta activada entonces la notificación sera enviada solo al usuario que ha creado el usuario quien envia sus justificativo";

0 commit comments

Comments
 (0)