Send email to student boss if "children_auto_threshold" is set.

"children_auto_threshold" is a skill extra field see BT#13587
pull/2487/head
Julio 8 years ago
parent c6c13b9d10
commit dd7dacfe7f
  1. 48
      main/badge/assign.php

@ -270,6 +270,54 @@ if ($form->validate()) {
$entityManager->persist($skillUser);
$entityManager->flush();
// Send email depending of children_auto_threshold
$skillRelSkill = new SkillRelSkill();
$skillModel = new \Skill();
$parents = $skillModel->getDirectParents($skillToProcess);
$extraFieldValue = new ExtraFieldValue('skill');
foreach ($parents as $parentInfo) {
$parentId = $parentInfo['skill_id'];
$parentData = $skillModel->get($parentId);
$data = $extraFieldValue->get_values_by_handler_and_field_variable($parentId, 'children_auto_threshold');
if (!empty($data) && !empty($data['value'])) {
// Search X children
$requiredSkills = $data['value'];
$children = $skillRelSkill->getChildren($parentId);
$counter = 0;
foreach ($children as $child) {
if ($skillModel->userHasSkill($userId, $child['id'])) {
$counter++;
}
}
if ($counter >= $requiredSkills) {
$bossList = UserManager::getStudentBossList($userId);
if (!empty($bossList)) {
Display::addFlash(Display::return_message(get_lang('MessageSent')));
$url = api_get_path(WEB_CODE_PATH).'badge/assign.php?user='.$userId.'&id='.$parentId;
$link = Display::url($url, $url);
$subject = get_lang("StudentHadEnoughSkills");
$message = sprintf(
get_lang("StudentXHadEnoughSkillsToGetSkillXToAssignClickHereX"),
$user->getCompleteName(),
$parentData['name'],
$link
);
foreach ($bossList as $boss) {
MessageManager::send_message_simple(
$boss['boss_id'],
$subject,
$message
);
}
}
break;
}
}
}
Display::addFlash(
Display::return_message(
sprintf(

Loading…
Cancel
Save