Portfolio: Add course setting to allow send notification - refs BT#18201

pull/3883/head
Angel Fernando Quiroz Campos 4 years ago
parent 5b11f25e87
commit c0f4f5aa66
  1. 23
      main/course_info/infocours.php
  2. 31
      main/inc/lib/PortfolioController.php
  3. 1
      main/inc/lib/add_course.lib.inc.php
  4. 1
      main/inc/lib/course.lib.php

@ -50,6 +50,8 @@ if (api_get_setting('pdf_export_watermark_by_course') === 'true') {
}
}
$allowPortfolioTool = api_get_configuration_value('allow_portfolio_tool');
$categories = CourseCategory::getCategoriesCanBeAddedInCourse($_course['categoryCode']);
// Build the form
@ -493,6 +495,25 @@ $group[] = $form->createElement(
);
$form->addGroup($group, '', [get_lang("EmailToTeachersWhenNewWorkFeedback")]);
if ($allowPortfolioTool) {
$group = [];
$group[] = $form->createElement(
'radio',
'email_alert_teachers_new_post',
get_lang('EmailToTeachersWhenNewPost'),
get_lang('Yes'),
1
);
$group[] = $form->createElement(
'radio',
'email_alert_teachers_new_post',
null,
get_lang('No'),
2
);
$form->addGroup($group, '', [get_lang("EmailToTeachersWhenNewPost")]);
}
$form->addButtonSave(get_lang('SaveSettings'), 'submit_save');
$form->addHtml('
@ -922,7 +943,7 @@ $form->addPanelOption(
$globalGroup
);
if (api_get_configuration_value('allow_portfolio_tool')) {
if ($allowPortfolioTool) {
$globalGroup = [
get_lang('QualifyPortfolioItems') => [
$form->createElement('radio', 'qualify_portfolio_item', null, get_lang('Yes'), 1),

@ -311,6 +311,37 @@ class PortfolioController
$hook->setEventData(['portfolio' => $portfolio]);
$hook->notifyItemAdded();
if (1 == api_get_course_setting('email_alert_teachers_new_post')) {
if ($this->session) {
$messageCourseTitle = "{$this->course->getTitle()} ({$this->session->getName()})";
$teachers = SessionManager::getCoachesByCourseSession(
$this->session->getId(),
$this->course->getId()
);
$userIdListToSend = array_values($teachers);
} else {
$messageCourseTitle = $this->course->getTitle();
$teachers = CourseManager::get_teacher_list_from_course_code($this->course->getCode());
$userIdListToSend = array_keys($teachers);
}
$messageSubject = sprintf(get_lang('PortfolioAlertNewPostSubject'), $messageCourseTitle);
foreach ($userIdListToSend as $userIdToSend) {
$messageContent = sprintf(
get_lang('PortfolioAlertNewPostContent'),
$this->owner->getCompleteName(),
$messageCourseTitle,
$this->baseUrl.http_build_query(['action' => 'view', 'id' => $portfolio->getId()])
);
MessageManager::send_message_simple($userIdToSend, $messageSubject, $messageContent, 0, false, false, [], false);
}
}
Display::addFlash(
Display::return_message(get_lang('PortfolioItemAdded'), 'success')
);

@ -662,6 +662,7 @@ class AddCourse
'documents_default_visibility' => ['default' => 'visible', 'category' => 'document'],
'show_course_in_user_language' => ['default' => 2, 'category' => null],
'email_to_teachers_on_new_work_feedback' => ['default' => 1, 'category' => null],
'email_alert_teachers_new_post' => ['default' => 2, 'category' => 'portfolio'],
];
$counter = 1;

@ -5856,6 +5856,7 @@ class CourseManager
}
if (api_get_configuration_value('allow_portfolio_tool')) {
$courseSettings[] = 'email_alert_teachers_new_post';
$courseSettings[] = 'qualify_portfolio_item';
$courseSettings[] = 'qualify_portfolio_comment';
$courseSettings[] = 'portfolio_max_score';

Loading…
Cancel
Save