From c31d74e9ba8c29246e2c781453144f7d0f73a0f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 8 Sep 2020 08:44:13 +0200 Subject: [PATCH] Added return value to Job to to avoid wrong logging Errors --- .../controllers/jobs/LehrauftragJob.php | 87 ++++++++++--------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/application/controllers/jobs/LehrauftragJob.php b/application/controllers/jobs/LehrauftragJob.php index 2f6b928c7..4ba327a2f 100644 --- a/application/controllers/jobs/LehrauftragJob.php +++ b/application/controllers/jobs/LehrauftragJob.php @@ -20,31 +20,31 @@ class LehrauftragJob extends JOB_Controller { const BERECHTIGUNG_LEHRAUFTRAG_ERTEILEN = 'lehre/lehrauftrag_erteilen'; const BERECHTIGUNG_LEHRAUFTRAG_AKZEPTIEREN = 'lehre/lehrauftrag_akzeptieren'; - + const LEHRAUFTRAG_ERTEILEN_URI = 'lehre/lehrauftrag/LehrauftragErteilen'; const LEHRAUFTRAG_AKZEPTIEREN_URI = '/lehre/lehrauftrag/LehrauftragAkzeptieren'; - + /** * Constructor */ public function __construct() { parent::__construct(); - + // Load models $this->load->model('accounting/Vertrag_model', 'VertragModel'); $this->load->model('accounting/Vertragvertragsstatus_model', 'VertragvertragsstatusModel'); $this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel'); $this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel'); $this->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel'); - + // Load libraries $this->load->library('PermissionLib'); - + // Load helpers $this->load->helper('hlp_sancho_helper'); } - + /** * This daily job sends information about all lehr-/projektauftraege ordered (and not approved) the day bofore. * Receivers: Department-/Kompetenzfeldleiter @@ -62,7 +62,7 @@ class LehrauftragJob extends JOB_Controller foreach ($vertrag_arr as $vertrag) { $result = $this->VertragModel->getLehreinheitData($vertrag->vertrag_id, 'lehrveranstaltung_id, studiensemester_kurzbz'); - + if (hasData($result)) { $obj = new StdClass(); @@ -72,7 +72,7 @@ class LehrauftragJob extends JOB_Controller } } } - + /** * Build the data array to be used in the email. Data array is clustered as follows: * Array @@ -90,7 +90,7 @@ class LehrauftragJob extends JOB_Controller foreach ($lehreinheit_data_arr as $lehreinheit_data) { $result = $this->_getLVData($lehreinheit_data->lehrveranstaltung_id); - + if (hasData($result)) { // Search if studiensemester exists in data_arr @@ -102,12 +102,12 @@ class LehrauftragJob extends JOB_Controller $data = array( 'studiensemester_kurzbz' => $lehreinheit_data->studiensemester_kurzbz ); - + $data []= array( 'oe_kurzbz' => $result->retval[0]->oe_kurzbz, 'oe_bezeichnung' => $result->retval[0]->lv_oe_bezeichnung ); - + // Add stg data to oe, start amount with 1 $data[0][] = array( 'stg_kz' => $result->retval[0]->studiengang_kz, @@ -115,7 +115,7 @@ class LehrauftragJob extends JOB_Controller 'stg_bezeichnung' => $result->retval[0]->lv_stg_bezeichnung, 'amount' => 1 ); - + // Push to final data_arr $data_arr []= $data; } @@ -124,7 +124,7 @@ class LehrauftragJob extends JOB_Controller { // Search if oe exists inside existing studiensemester of data_arr $oe_index = array_search($result->retval[0]->oe_kurzbz, array_column($data_arr[$ss_index], 'oe_kurzbz')); - + // If oe is new, add oe and stg to studiensemester if ($oe_index === false) { @@ -132,7 +132,7 @@ class LehrauftragJob extends JOB_Controller $data_arr[$ss_index][] = array( 'oe_kurzbz' => $result->retval[0]->oe_kurzbz, 'oe_bezeichnung' => $result->retval[0]->lv_oe_bezeichnung, - + // Add stg data to oe, start amount with 1 array( 'stg_kz' => $result->retval[0]->studiengang_kz, @@ -147,7 +147,7 @@ class LehrauftragJob extends JOB_Controller { // Search if stg exists inside existing oe of data_arr $stg_index = array_search($result->retval[0]->studiengang_kz, array_column($data_arr[$ss_index][$oe_index], 'stg_kz')); - + // If stg is new, add stg to oe, start amount with 1 if ($stg_index === false) { @@ -168,7 +168,7 @@ class LehrauftragJob extends JOB_Controller } } } - + /** * Cluster data by uid of entitled mail receivers. * Returning array is clustered as follows: @@ -186,7 +186,7 @@ class LehrauftragJob extends JOB_Controller * [amount] // amount of new ordered lehrauftraege of that stg */ $data_arr = $this->_clusterData_byReceiver($data_arr); - + // Send email if(!$this->_sendMail_toApprove($data_arr)) { @@ -197,7 +197,7 @@ class LehrauftragJob extends JOB_Controller $this->logError('Error when sending emails in job MailLehrauftragToApprove'); } } - + /** * This daily job sends information about all lehr-/projektauftraege approved the day bofore. * Receivers: lectors @@ -208,7 +208,7 @@ class LehrauftragJob extends JOB_Controller $this->VertragvertragsstatusModel->addSelect('vertrag_id, uid'); $this->VertragvertragsstatusModel->addOrder('uid'); $result = $this->VertragvertragsstatusModel->getApproved_fromDate('YESTERDAY'); - + /** * Build the data array to be used in the email. Data array is clustered as follows: * Array @@ -228,10 +228,10 @@ class LehrauftragJob extends JOB_Controller { $studiensemester = $studiensemester[0]->vertragsstunden_studiensemester_kurzbz; } - + // Search if uid exists in data_arr $uid_index = array_search($vertrag->uid, array_column($data_arr, 'uid')); - + // If uid is new, add uid, studiensemester and start amount with 1 if ($uid_index === false) { @@ -249,7 +249,7 @@ class LehrauftragJob extends JOB_Controller { $data_arr[$uid_index]['studiensemester'] .= ' und '. $studiensemester; } - + // Increase amount +1 $data_arr[$uid_index]['amount']++; } @@ -266,11 +266,11 @@ class LehrauftragJob extends JOB_Controller $this->logError('Error when sending emails in job MailLehrauftragToAccept'); } } - + //****************************************************************************************************************** // PRIVATE FUNCTIONS //****************************************************************************************************************** - + /** * Get data of given lehrveranstaltung. * @param $lehrveranstaltung_id @@ -286,7 +286,7 @@ class LehrauftragJob extends JOB_Controller stg.typ AS "stg_typ", stg.kurzbz AS "stg_kurzbz" '); - + $this->LehrveranstaltungModel->addJoin('lehre.tbl_studienplan_lehrveranstaltung stpllv', 'lehrveranstaltung_id'); $this->LehrveranstaltungModel->addJoin('lehre.tbl_studienplan stpl', 'studienplan_id'); $this->LehrveranstaltungModel->addJoin('lehre.tbl_studienordnung sto', 'studienordnung_id'); @@ -294,10 +294,10 @@ class LehrauftragJob extends JOB_Controller $this->LehrveranstaltungModel->addJoin('public.tbl_organisationseinheit oe', 'ON oe.oe_kurzbz = tbl_lehrveranstaltung.oe_kurzbz'); $this->LehrveranstaltungModel->addOrder('stpllv.insertamum', 'DESC'); $this->LehrveranstaltungModel->addLimit(1); - + return $this->LehrveranstaltungModel->load($lehrveranstaltung_id); } - + /** * Send Sancho eMail about ordered Lehrauftraege. * @param $data_arr @@ -310,12 +310,12 @@ class LehrauftragJob extends JOB_Controller // Set mail recipients (department assistance/leader) $to = $data['uid']. '@'. DOMAIN; $html_table = $this->_renderData_LehrauftraegeToApprove($data); - + // Prepare mail content $content_data_arr = array( 'table' => $html_table ); - + sendSanchoMail( 'LehrauftragNeueBestellungen', $content_data_arr, @@ -326,7 +326,7 @@ class LehrauftragJob extends JOB_Controller ); } } - + /** * Cluster the data array by entitled mail receiver. * Returning array is clustered as follows: @@ -409,7 +409,7 @@ class LehrauftragJob extends JOB_Controller return $mail_data_arr; } - + /** * Render the data array for the mail template returing a HTML table. * @param $data_arr Data to be used in HTML table @@ -425,11 +425,11 @@ class LehrauftragJob extends JOB_Controller if (isset($studiensemester_container['studiensemester_kurzbz'])) { $studiensemester = $studiensemester_container['studiensemester_kurzbz']; - + // Link to LehrauftragErteilen $url = site_url(self::LEHRAUFTRAG_ERTEILEN_URI).'?studiensemester='. $studiensemester; } - + // HTML table header $html .= '
@@ -446,7 +446,7 @@ class LehrauftragJob extends JOB_Controller ' ; - + // HTML table body foreach ($studiensemester_container as $oe_container) { @@ -456,7 +456,7 @@ class LehrauftragJob extends JOB_Controller { $oe_bezeichnung = $oe_container['oe_bezeichnung']; } - + foreach ($oe_container as $stg_data) { if (is_array($stg_data)) // is_array 'trims' the outer associative keys [oe_kurzbz] and [oe_bezeichnung] @@ -473,7 +473,7 @@ class LehrauftragJob extends JOB_Controller } } } - + // HTML table body end and link $html .= ' @@ -484,10 +484,10 @@ class LehrauftragJob extends JOB_Controller '; } } - + return $html; } - + /** * Send Sancho eMail about ordered Lehrauftraege. * @param $data_arr @@ -499,24 +499,24 @@ class LehrauftragJob extends JOB_Controller { // Set mail recipient (lector) $to = $data['uid']. '@'. DOMAIN; - + // Link to LehrauftragAkzeptieren $url = CIS_ROOT. 'cis/index.php?menu='. CIS_ROOT. 'cis/menu.php?content_id=&content='. CIS_ROOT. index_page(). self::LEHRAUFTRAG_AKZEPTIEREN_URI; - + // Get first name $first_name = ''; $this->load->model('person/Benutzer_model', 'BenutzerModel'); $this->BenutzerModel->addSelect('vorname'); $this->BenutzerModel->addJoin('public.tbl_person', 'person_id'); $result = $this->BenutzerModel->loadWhere(array('uid' => $data['uid'])); - + if (hasData($result)) { $first_name = $result->retval[0]->vorname; } - + // Prepare mail content $content_data_arr = array( 'vorname' => $first_name, @@ -524,7 +524,7 @@ class LehrauftragJob extends JOB_Controller 'anzahl' => $data['amount'], 'link' => anchor($url, 'Lehraufträge Übersicht') ); - + sendSanchoMail( 'LehrauftragNeueErteilte', $content_data_arr, @@ -532,5 +532,6 @@ class LehrauftragJob extends JOB_Controller 'Neu erteilte Lehraufträge zum Annehmen bereit' ); } + return true; } }