Enhanced code readability

This commit is contained in:
Cris
2022-12-06 14:03:22 +01:00
parent 21060b31dc
commit 8735318545
4 changed files with 57 additions and 95 deletions
@@ -212,9 +212,9 @@ class approveAnrechnungDetail extends Auth_Controller
*/
public function requestRecommendation()
{
$data = $this->input->post('data');
$anrechnung_id = $this->input->post('anrechnung_id');
if(isEmptyArray($data))
if(isEmptyString($anrechnung_id))
{
return $this->outputJsonError('Fehler beim Übertragen der Daten.');
}
@@ -227,32 +227,31 @@ class approveAnrechnungDetail extends Auth_Controller
$this->terminateWithJsonError('LV has no lector');
}
// Get Fachbereichsleitung or LV Leitung.
if($this->config->item('fbl') === TRUE)
{
$result = $this->anrechnunglib->getFachbereichleitung($anrechnung_id);
}
else
{
// If LV Leitung is not present, gets all LV lectors.
$result = $this->anrechnunglib->getLectors($anrechnung_id);
}
// Get Fachbereichsleitung or LV Leitung.
if($this->config->item('fbl') === TRUE)
{
$result = $this->anrechnunglib->getFachbereichleitung($anrechnung_id);
}
else
{
// If LV Leitung is not present, gets all LV lectors.
$result = $this->anrechnunglib->getLectors($anrechnung_id);
}
$empfehlungsanfrage_an = !isEmptyArray($result) ? implode(', ', array_column($result, 'fullname')) : '';
$empfehlungsanfrage_an = !isEmptyArray($result) ? implode(', ', array_column($result, 'fullname')) : '';
// Request Recommendation
if($this->anrechnunglib->requestRecommendation($item['anrechnung_id']))
{
$retval[]= array(
'anrechnung_id' => $item['anrechnung_id'],
'status_kurzbz' => self::ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR,
'status_bezeichnung' => $this->anrechnunglib->getStatusbezeichnung(self::ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR),
'empfehlung_anrechnung' => null,
'empfehlungsanfrageAm' => (new DateTime())->format('d.m.Y'),
'empfehlungsanfrageAn' => $empfehlungsanfrage_an
);
}
}
// Request Recommendation
if($this->anrechnunglib->requestRecommendation($anrechnung_id))
{
$retval[]= array(
'anrechnung_id' => $anrechnung_id,
'status_kurzbz' => self::ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR,
'status_bezeichnung' => $this->anrechnunglib->getStatusbezeichnung(self::ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR),
'empfehlung_anrechnung' => null,
'empfehlungsanfrageAm' => (new DateTime())->format('d.m.Y'),
'empfehlungsanfrageAn' => $empfehlungsanfrage_an
);
}
/**
* Send mails to lectors
@@ -278,7 +277,7 @@ class approveAnrechnungDetail extends Auth_Controller
);
}
return $this->outputJsonError($this->p->t('ui', 'errorNichtAusgefuehrt'));
$this->terminateWithJsonError($this->p->t('ui', 'errorNichtAusgefuehrt'));
}
/**
@@ -472,25 +471,13 @@ class approveAnrechnungDetail extends Auth_Controller
/**
* Send mail to lectors asking for recommendation. (first to LV-Leitung, if not present to all lectors of lv)
* @param $mail_params
* @param $anrechnung_id
* @return bool
*/
private function _sendSanchoMailToLectors($mail_params)
private function _sendSanchoMailToLectors($anrechnung_id)
{
// Get Lehrveranstaltungen
$anrechnung_arr = array();
foreach ($mail_params as $item)
{
$this->AnrechnungModel->addSelect('lehrveranstaltung_id, studiensemester_kurzbz');
$anrechnung_arr[]= array(
'lehrveranstaltung_id' => $this->AnrechnungModel->load($item['anrechnung_id'])->retval[0]->lehrveranstaltung_id,
'studiensemester_kurzbz' => $this->AnrechnungModel->load($item['anrechnung_id'])->retval[0]->studiensemester_kurzbz
);
}
$anrechnung_arr = array_unique($anrechnung_arr, SORT_REGULAR);
$lehrveranstaltung_id = $this->AnrechnungModel->load($anrechnung_id)->retval[0]->lehrveranstaltung_id;
$studiensemester_kurzbz = $this->AnrechnungModel->load($anrechnung_id)->retval[0]->studiensemester_kurzbz;
/**
* Get mail receivers.
@@ -548,35 +535,30 @@ class approveAnrechnungDetail extends Auth_Controller
* @param $anrechnung_arr
* @return array
*/
private function _getLectors($anrechnung_arr)
private function _getLectors($studiensemester_kurzbz, $lehrveranstaltung_id)
{
$lector_arr = array();
// Get lectors
foreach($anrechnung_arr as $anrechnung)
{
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
$result = $this->LehrveranstaltungModel->getLecturersByLv($anrechnung['studiensemester_kurzbz'], $anrechnung['lehrveranstaltung_id']);
$result = $this->LehrveranstaltungModel->getLecturersByLv($studiensemester_kurzbz, $lehrveranstaltung_id);
if (!$result = getData($result))
{
show_error('Failed retrieving lectors of Lehrveranstaltung');
}
if (!$result = getData($result))
{
show_error('Failed retrieving lectors of Lehrveranstaltung');
}
// Check if lv has LV-Leitung
$key = array_search(true, array_column($result, 'lvleiter'));
// Check if lv has LV-Leitung
$key = array_search(true, array_column($result, 'lvleiter'));
// If lv has LV-Leitung, keep only the one
if ($key !== false)
{
$lector_arr[]= $result[$key];
}
// ...otherwise keep all lectors
else
{
$lector_arr = array_merge($lector_arr, $result);
}
}
// If lv has LV-Leitung, keep only the one
if ($key !== false)
{
$lector_arr[]= $result[$key];
}
// ...otherwise keep all lectors
else
{
$lector_arr = array_merge($lector_arr, $result);
}
/**
* NOTE: This step is only done to make the array unique by uid, vorname and nachname in the following step
@@ -625,8 +607,5 @@ class approveAnrechnungDetail extends Auth_Controller
trim($empfehlungstext),
$this->_uid
);
}
}
}
@@ -231,9 +231,9 @@ class reviewAnrechnungUebersicht extends Auth_Controller
if($result = getData($result))
{
$entitled_lector_arr = array_column($result, 'uid');
$entitled_uid_arr = array_column($result, 'uid');
if (in_array($this->_uid, $entitled_lector_arr))
if (in_array($this->_uid, $entitled_uid_arr))
{
return;
}
@@ -194,17 +194,9 @@ $(function(){
// Get form data
let form_data = $('#form-empfehlung').serializeArray();
// Prepare data object for ajax call
let data = {
'data': [{
'anrechnung_id' : form_data[0].value
}]
};
FHC_AjaxClient.ajaxCallPost(
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/requestRecommendation",
data,
{anrechnung_id: form_data[0].value},
{
successCallback: function (data, textStatus, jqXHR)
{
@@ -556,12 +556,8 @@ $(function(){
}
}
selected_data.map(function(data){
// reduce to necessary fields
return {
'anrechnung_id' : data.anrechnung_id,
}
});
// Reduce to necessary fields
selected_data = selected_data.map(data => ({'anrechnung_id' : data.anrechnung_id}));
// Alert and exit if no anrechnung is selected
if (selected_data.length == 0)
@@ -570,14 +566,9 @@ $(function(){
return;
}
// Prepare data object for ajax call
let data = {
'data': selected_data
};
FHC_AjaxClient.ajaxCallPost(
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/requestRecommendation",
data,
{data: selected_data},
{
successCallback: function (data, textStatus, jqXHR)
{
@@ -604,8 +595,8 @@ $(function(){
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("ui", "empfehlungWurdeAngefordert"));
}
//Update status 'genehmigt'
$('#tableWidgetTabulator').tabulator('updateData', data);
//Update status 'genehmigt'
$('#tableWidgetTabulator').tabulator('updateData', data);
// Deselect rows
var indexesToDeselect = data.map(x => x.anrechnung_id);