Merge pull request #2981 from ywarnier/career_name

Fix career names in CSV import of events
pull/2990/head
Yannick Warnier 6 years ago committed by GitHub
commit e9a331ec9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 35
      main/cron/import_csv.php

@ -1429,20 +1429,39 @@ class ImportCsv
$courseTitle = $courseInfo['title'];
// Get the value of the "careerid" extra field of this
// session
$sessionExtraFieldValue = new ExtraFieldValue('session');
$values = $sessionExtraFieldValue->get_values_by_handler_and_field_variable(
$externalCareerIdList = $sessionExtraFieldValue->get_values_by_handler_and_field_variable(
$event['session_id'],
$this->extraFieldIdNameList['session_career']
'careerid'
);
$externalCareerIdList = $externalCareerIdList['value'];
$externalCareerIds = [];
if (substr($externalCareerIdList, 0, 1) === '[') {
$externalCareerIdList = substr($externalCareerIdList, 1, -1);
$externalCareerIds = preg_split('/,/',$externalCareerIdList);
} else {
$externalCareerIds = [$externalCareerIdList];
}
$careerExtraFieldValue = new ExtraFieldValue('career');
$career = new Career();
$careerName = '';
if (!empty($values)) {
foreach ($values as $value) {
if (isset($value['value'])) {
$careerName = $value['value'];
}
}
// Concat the names of each career linked to this session
foreach ($externalCareerIds as $externalCareerId) {
// Using the external_career_id field (from above),
// find the career ID
$careerValue = $careerExtraFieldValue->get_item_id_from_field_variable_and_field_value(
'external_career_id',
$externalCareerId
);
$career = $career->find($careerValue['item_id']);
$careerName .= $career['name'].', ';
}
// Remove trailing comma
$careerName = substr($careerName, 0, -2);
$subject = sprintf(
get_lang('WelcomeToPortalXInCourseSessionX'),

Loading…
Cancel
Save