diff --git a/application/config/studierendenantrag.php b/application/config/studierendenantrag.php
index 89b066d33..786256a82 100644
--- a/application/config/studierendenantrag.php
+++ b/application/config/studierendenantrag.php
@@ -2,7 +2,6 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
-// TODO(chris): review this!
$config['frist_rueckzahlung_studiengebuer_WS'] = '15.10.';
$config['frist_rueckzahlung_studiengebuer_SS'] = '15.03.';
diff --git a/application/controllers/components/Antrag/Abmeldung.php b/application/controllers/components/Antrag/Abmeldung.php
index 55435c1f6..f30de6803 100644
--- a/application/controllers/components/Antrag/Abmeldung.php
+++ b/application/controllers/components/Antrag/Abmeldung.php
@@ -57,7 +57,13 @@ class Abmeldung extends FHC_Controller
}
elseif ($result == -1)
{
- $result = $this->antraglib->getDetailsForLastAntrag($prestudent_id, [Studierendenantrag_model::TYP_ABMELDUNG, Studierendenantrag_model::TYP_ABMELDUNG_STGL]);
+ $result = $this->antraglib->getDetailsForLastAntrag(
+ $prestudent_id,
+ [
+ Studierendenantrag_model::TYP_ABMELDUNG,
+ Studierendenantrag_model::TYP_ABMELDUNG_STGL
+ ]
+ );
if (isError($result)) {
return $this->outputJsonError(getError($result));
}
@@ -94,6 +100,11 @@ class Abmeldung extends FHC_Controller
if ($data->typ !== Studierendenantrag_model::TYP_ABMELDUNG_STGL && $data->typ !== Studierendenantrag_model::TYP_ABMELDUNG)
return show_404();
+ $data->canCancel = (
+ $data->status == Studierendenantragstatus_model::STATUS_CREATED &&
+ $this->antraglib->isEntitledToCancelAntrag($data->studierendenantrag_id)
+ );
+
$this->outputJsonSuccess($data);
}
diff --git a/application/controllers/components/Antrag/Leitung.php b/application/controllers/components/Antrag/Leitung.php
index 54e5b65e6..6cc25f87d 100644
--- a/application/controllers/components/Antrag/Leitung.php
+++ b/application/controllers/components/Antrag/Leitung.php
@@ -2,6 +2,8 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
+use \stdClass as stdClass;
+
/**
*
*/
@@ -116,7 +118,7 @@ class Leitung extends FHC_Controller
'Studierenden Antrag',
'required|callback_isEntitledToReopenAntrag',
[
- 'isEntitledToReopenAntrag' => $this->p->t('studierendenantrag','error_no_right')
+ 'isEntitledToReopenAntrag' => $this->p->t('studierendenantrag', 'error_no_right')
]
);
@@ -146,8 +148,8 @@ class Leitung extends FHC_Controller
'Studierenden Antrag',
'required|callback_isEntitledToObjectAntrag|callback_canBeObjected',
[
- 'isEntitledToObjectAntrag' => $this->p->t('studierendenantrag','error_no_right'),
- 'canBeObjected' => $this->p->t('studierendenantrag','error_no_objection')
+ 'isEntitledToObjectAntrag' => $this->p->t('studierendenantrag', 'error_no_right'),
+ 'canBeObjected' => $this->p->t('studierendenantrag', 'error_no_objection')
]
);
@@ -177,8 +179,8 @@ class Leitung extends FHC_Controller
'Studierenden Antrag',
'required|callback_isEntitledToObjectAntrag|callback_isObjected',
[
- 'isEntitledToObjectAntrag' => $this->p->t('studierendenantrag','error_no_right'),
- 'isObjected' => $this->p->t('studierendenantrag','error_not_objected')
+ 'isEntitledToObjectAntrag' => $this->p->t('studierendenantrag', 'error_no_right'),
+ 'isObjected' => $this->p->t('studierendenantrag', 'error_not_objected')
]
);
@@ -208,8 +210,8 @@ class Leitung extends FHC_Controller
'Studierenden Antrag',
'required|callback_isEntitledToObjectAntrag|callback_isObjected',
[
- 'isEntitledToObjectAntrag' => $this->p->t('studierendenantrag','error_no_right'),
- 'isObjected' => $this->p->t('studierendenantrag','error_not_objected')
+ 'isEntitledToObjectAntrag' => $this->p->t('studierendenantrag', 'error_no_right'),
+ 'isObjected' => $this->p->t('studierendenantrag', 'error_not_objected')
]
);
@@ -265,7 +267,7 @@ class Leitung extends FHC_Controller
'Studierenden Antrag',
'required|callback_isEntitledToApproveAntrag',
[
- 'isEntitledToApproveAntrag' => $this->p->t('studierendenantrag','error_no_right')
+ 'isEntitledToApproveAntrag' => $this->p->t('studierendenantrag', 'error_no_right')
]
);
@@ -301,7 +303,7 @@ class Leitung extends FHC_Controller
'Studierenden Antrag',
'required|callback_isEntitledToApproveAntrag',
[
- 'isEntitledToApproveAntrag' => $this->p->t('studierendenantrag','error_no_right')
+ 'isEntitledToApproveAntrag' => $this->p->t('studierendenantrag', 'error_no_right')
]
);
@@ -332,7 +334,7 @@ class Leitung extends FHC_Controller
'Studierenden Antrag',
'required|callback_isEntitledToRejectAntrag',
[
- 'isEntitledToRejectAntrag' => $this->p->t('studierendenantrag','error_no_right')
+ 'isEntitledToRejectAntrag' => $this->p->t('studierendenantrag', 'error_no_right')
]
);
$this->form_validation->set_rules('grund', 'Grund', 'required');
@@ -365,7 +367,7 @@ class Leitung extends FHC_Controller
'Studierenden Antrag',
'required|callback_isEntitledToApproveAntrag',
[
- 'isEntitledToApproveAntrag' => $this->p->t('studierendenantrag','error_no_right')
+ 'isEntitledToApproveAntrag' => $this->p->t('studierendenantrag', 'error_no_right')
]
);
diff --git a/application/controllers/components/Antrag/Unterbrechung.php b/application/controllers/components/Antrag/Unterbrechung.php
index 78594fa65..f0c269617 100644
--- a/application/controllers/components/Antrag/Unterbrechung.php
+++ b/application/controllers/components/Antrag/Unterbrechung.php
@@ -69,7 +69,9 @@ class Unterbrechung extends FHC_Controller
$result = getData($result);
$this->output->set_status_header(400);
- return $this->outputJsonError($this->p->t('studierendenantrag', 'error_antrag_pending', ['typ' => $this->p->t('studierendenantrag','antrag_typ_' . $result->typ)]));
+ return $this->outputJsonError($this->p->t('studierendenantrag', 'error_antrag_pending', [
+ 'typ' => $this->p->t('studierendenantrag', 'antrag_typ_' . $result->typ)
+ ]));
}
elseif ($result == -3)
{
diff --git a/application/controllers/components/Antrag/Wiederholung.php b/application/controllers/components/Antrag/Wiederholung.php
index a2252a7f5..e7fde6031 100644
--- a/application/controllers/components/Antrag/Wiederholung.php
+++ b/application/controllers/components/Antrag/Wiederholung.php
@@ -67,7 +67,7 @@ class Wiederholung extends FHC_Controller
$result = $result->retval;
if (!$result) {
$this->output->set_status_header(REST_Controller::HTTP_FORBIDDEN);
- return $this->outputJsonError($this->p->t('studierendenantrag','error_no_student_no_failed_exam'));
+ return $this->outputJsonError($this->p->t('studierendenantrag', 'error_no_student_no_failed_exam'));
}
elseif ($result == -1)
{
@@ -97,7 +97,9 @@ class Wiederholung extends FHC_Controller
$result = getData($result);
$this->output->set_status_header(REST_Controller::HTTP_BAD_REQUEST);
- return $this->outputJsonError($this->p->t('studierendenantrag', 'error_antrag_pending', ['typ' => $this->p->t('studierendenantrag','antrag_typ_' . $result->typ)]));
+ return $this->outputJsonError($this->p->t('studierendenantrag', 'error_antrag_pending', [
+ 'typ' => $this->p->t('studierendenantrag', 'antrag_typ_' . $result->typ)
+ ]));
}
elseif ($result == -3)
{
@@ -217,7 +219,9 @@ class Wiederholung extends FHC_Controller
return [
'studierendenantrag_id' => $lv->studierendenantrag_id,
'lehrveranstaltung_id' => $lv->lehrveranstaltung_id,
- 'note' => $lv->zugelassen ? ($lv->zugelassen == 1 ? 0 : $this->config->item('wiederholung_note_angerechnet')) : $this->config->item('wiederholung_note_nicht_zugelassen'),
+ 'note' => $lv->zugelassen
+ ? ($lv->zugelassen == 1 ? 0 : $this->config->item('wiederholung_note_angerechnet'))
+ : $this->config->item('wiederholung_note_nicht_zugelassen'),
'anmerkung' => $lv->anmerkung,
'insertvon' => getAuthUID(),
'studiensemester_kurzbz' => $lv->studiensemester_kurzbz
diff --git a/application/controllers/components/Phrasen.php b/application/controllers/components/Phrasen.php
index 52de719f7..87516ce00 100644
--- a/application/controllers/components/Phrasen.php
+++ b/application/controllers/components/Phrasen.php
@@ -19,5 +19,4 @@ class Phrasen extends FHC_Controller
$this->load->library('PhrasesLib', [$module], 'pj');
$this->outputJsonSuccess(json_decode($this->pj->getJSON()));
}
-
}
diff --git a/application/controllers/jobs/AntragJob.php b/application/controllers/jobs/AntragJob.php
index e0c88ac3a..f932a420c 100644
--- a/application/controllers/jobs/AntragJob.php
+++ b/application/controllers/jobs/AntragJob.php
@@ -6,9 +6,7 @@ use \DateTime as DateTime;
class AntragJob extends JOB_Controller
{
- private $allPrestudentsWhereCommitteeExamFailed;
-
- /**
+ /**
* API constructor
*/
public function __construct()
@@ -21,7 +19,7 @@ class AntragJob extends JOB_Controller
// Loads SanchoHelper
$this->load->helper('hlp_sancho_helper');
- //Load Model
+ // Load Model
$this->load->model('education/Studierendenantrag_model', 'StudierendenantragModel');
$this->load->model('education/Studierendenantragstatus_model', 'StudierendenantragstatusModel');
$this->load->model('education/Pruefung_model', 'PruefungModel');
@@ -34,102 +32,144 @@ class AntragJob extends JOB_Controller
*/
public function sendStglSammelmail()
{
- $this->logInfo('Start Job sendStglSammelmail');
+ $this->load->model('person/Person_model', 'PersonModel');
- // TODO(chris): get all Abmeldung:Created, Unterbrechung:Created, Wiederholung:LvZugeordnet
- $this->load->model('organisation/Studiengang_model', 'StudiengangModel');
+ $this->logInfo('Start Job sendStglSammelmail');
- $this->StudierendenantragModel->addJoin('public.tbl_prestudent','prestudent_id');
- $this->db->group_start();
- $this->db->where('typ', Studierendenantrag_model::TYP_ABMELDUNG);
- $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED);
- $this->db->group_end();
+ $this->load->model('organisation/Studiengang_model', 'StudiengangModel');
- $this->db->or_group_start();
- $this->db->where('typ', Studierendenantrag_model::TYP_ABMELDUNG_STGL);
- $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED);
- $this->db->group_end();
+ $this->StudierendenantragModel->addJoin('public.tbl_prestudent', 'prestudent_id');
+ $this->db->group_start();
+ $this->db->where('typ', Studierendenantrag_model::TYP_ABMELDUNG);
+ $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED);
+ $this->db->group_end();
- $this->db->or_group_start();
- $this->db->where('typ', Studierendenantrag_model::TYP_UNTERBRECHUNG);
- $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED);
- $this->db->group_end();
+ $this->db->or_group_start();
+ $this->db->where('typ', Studierendenantrag_model::TYP_ABMELDUNG_STGL);
+ $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED);
+ $this->db->group_end();
- $this->db->or_group_start();
- $this->db->where('typ', Studierendenantrag_model::TYP_WIEDERHOLUNG);
- $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_LVSASSIGNED);
- $this->db->group_end();
+ $this->db->or_group_start();
+ $this->db->where('typ', Studierendenantrag_model::TYP_UNTERBRECHUNG);
+ $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_CREATED);
+ $this->db->group_end();
- $result = $this->StudierendenantragModel->load();
- if(isError($result))
- return $this->logError(getError($result));
+ $this->db->or_group_start();
+ $this->db->where('typ', Studierendenantrag_model::TYP_WIEDERHOLUNG);
+ $this->db->where('campus.get_status_studierendenantrag(studierendenantrag_id)', Studierendenantragstatus_model::STATUS_LVSASSIGNED);
+ $this->db->group_end();
- if(!hasData($result))
- return $this->logInfo('End Job sendStglSammelmail: 0 Mails sent');
+ $result = $this->StudierendenantragModel->load();
+ if(isError($result))
+ return $this->logError(getError($result));
- $antraege = getData($result);
+ if(!hasData($result))
+ return $this->logInfo('End Job sendStglSammelmail: 0 Mails sent');
- $stgs = array();
- $stgLeitungen = array();
+ $antraege = getData($result);
- foreach($antraege as $antrag)
- {
- if(!isset($stgs[$antrag->studiengang_kz]))
- {
- $result = $this->StudiengangModel->getLeitung($antrag->studiengang_kz);
- if(isError($result))
- {
- $this->logError(getError($result));
- continue;
- }
- if(!hasData($result))
- {
- $this->logError('Keine Leitung für Studiengang ' . $antrag->studiengang_kz . ' gefunden!');
- continue;
- }
+ $stgs = array();
+ $stgLeitungen = array();
- $leitung = current(getData($result));
- if(!isset($stgLeitungen[$leitung->uid]))
- {
- $stgLeitungen[$leitung->uid] = [ 'Details' => $leitung, 'stgs' => [] ];
- }
- $stgLeitungen[$leitung->uid] ['stgs'][] = $antrag->studiengang_kz;
+ foreach ($antraege as $antrag)
+ {
+ if (!isset($stgs[$antrag->studiengang_kz]))
+ {
+ $result = $this->StudiengangModel->getLeitung($antrag->studiengang_kz);
+ if (isError($result))
+ {
+ $this->logError(getError($result));
+ continue;
+ }
+ if (!hasData($result))
+ {
+ $this->logError('Keine Leitung für Studiengang ' . $antrag->studiengang_kz . ' gefunden!');
+ continue;
+ }
- $result = $this->StudiengangModel->load($antrag->studiengang_kz);
- if(isError($result))
- {
- $this->logError(getError($result));
- continue;
- }
- if(!hasData($result))
- {
- $this->logError('Keine Details für Studiengang ' . $antrag->studiengang_kz . ' gefunden!');
- continue;
- }
- $details = current(getData($result));
+ $leitung = current(getData($result));
+ if (!isset($stgLeitungen[$leitung->uid]))
+ {
+ $stgLeitungen[$leitung->uid] = [ 'Details' => $leitung, 'stgs' => [] ];
+ }
+ $stgLeitungen[$leitung->uid]['stgs'][] = $antrag->studiengang_kz;
- $stgs[$antrag->studiengang_kz] = [ 'Abmeldung' => [], 'Unterbrechung' => [], 'Wiederholung' => [], 'Details' => $details ];
- }
- $stgs[$antrag->studiengang_kz] [$antrag->typ] = $antrag;
- }
+ $result = $this->StudiengangModel->load($antrag->studiengang_kz);
+ if (isError($result))
+ {
+ $this->logError(getError($result));
+ continue;
+ }
+ if (!hasData($result))
+ {
+ $this->logError('Keine Details für Studiengang ' . $antrag->studiengang_kz . ' gefunden!');
+ continue;
+ }
+ $details = current(getData($result));
-/* var_dump($stgs);
- var_dump($stgLeitungen);*/
+ $stgs[$antrag->studiengang_kz] = [
+ 'Abmeldung' => [],
+ 'Unterbrechung' => [],
+ 'Wiederholung' => [],
+ 'Details' => $details
+ ];
+ }
+ $stgs[$antrag->studiengang_kz][str_replace('Stgl', '', $antrag->typ)] = $antrag;
+ }
- $count = 0;
- foreach($stgLeitungen as $leitung)
- {
- $data = array();
- if(sendSanchoMail("Sancho_Mail_Antrag_Stgl",$data,$leitung['Details']->email, 'Anträge - Aktion(en) erforderlich'))
- $count++;
- }
+ $this->load->model('system/Sprache_model', 'SpracheModel');
+ $result = $this->SpracheModel->loadWhere(['content' => true]);
+ if (isError($result)) {
+ $this->logError(getError($result));
+ $languages = [DEFAULT_LANGUAGE];
+ } elseif (!hasData($result)) {
+ $languages = [DEFAULT_LANGUAGE];
+ } else {
+ $languages = array_map(function ($row) {
+ return $row->sprache;
+ }, getData($result));
+ }
- $this->logInfo($count . " Emails erfolgreich versandt");
+ $count = 0;
+ foreach ($stgLeitungen as $leitung)
+ {
+ $data = [
+ 'name' => trim($leitung['Details']->vorname . ' ' . $leitung['Details']->nachname)
+ ];
- // TODO(chris): Emailadresse stg
- // TODO(chris): data Fertig
+ foreach ($languages as $lang) {
+ unset($this->p);
+ $this->loadPhrases(['studierendenantrag'], $lang);
- $this->logInfo('End Job sendStglSammelmail');
+ $table = '';
+ foreach ($leitung['stgs'] as $studiengang_kz) {
+ $rows = '';
+ $stg = $stgs[$studiengang_kz];
+ foreach (['Abmeldung', 'Unterbrechung', 'Wiederholung'] as $typ) {
+ $c = count($stg[$typ]);
+ if ($c) {
+ $rows .= $this->p->t('studierendenantrag', 'mail_part_x_new_' . $typ, ['count' => $c]);
+ }
+ }
+ $table .= $this->p->t('studierendenantrag', 'mail_part_table', [
+ 'stg_bezeichnung' => $stg['Details']->bezeichnung,
+ 'stg_orgform_kurzbz' => $stg['Details']->orgform_kurzbz,
+ 'rows' => $rows
+ ]);
+ }
+ $data['table_' . $lang] = $table;
+ }
+
+ $data['table'] = $data['table_' . DEFAULT_LANGUAGE];
+
+ // NOTE(chris): Sancho mail
+ if (sendSanchoMail("Sancho_Mail_Antrag_Stgl", $data, $leitung['Details']->uid . '@' . DOMAIN, 'Anträge - Aktion(en) erforderlich'))
+ $count++;
+ }
+
+ $this->logInfo($count . " Emails erfolgreich versandt");
+
+ $this->logInfo('End Job sendStglSammelmail');
}
/**
@@ -210,22 +250,22 @@ class AntragJob extends JOB_Controller
return;
}
- $digi_start= $this->config->item('digitalization_start');
- if($digi_start)
- $digi_start = new DateTime($digi_start);
+ $digi_start= $this->config->item('digitalization_start');
+ if($digi_start)
+ $digi_start = new DateTime($digi_start);
$dateDeadline = new DateTime();
$dateDeadline->sub(DateInterval::createFromDateString($modifier_deadline));
- $result = $this->PruefungModel->getAllPrestudentsWhereCommitteeExamFailed(
- [
- null,
- Studierendenantragstatus_model::STATUS_REQUESTSENT_1,
- Studierendenantragstatus_model::STATUS_REQUESTSENT_2
- ],
- $dateDeadline,
- $digi_start
- );
+ $result = $this->PruefungModel->getAllPrestudentsWhereCommitteeExamFailed(
+ [
+ null,
+ Studierendenantragstatus_model::STATUS_REQUESTSENT_1,
+ Studierendenantragstatus_model::STATUS_REQUESTSENT_2
+ ],
+ $dateDeadline,
+ $digi_start
+ );
if(isError($result))
{
$this->logError(getError($result));
@@ -238,18 +278,18 @@ class AntragJob extends JOB_Controller
$prestudents = $this->prestudentsGetUnique($prestudents);
- foreach ($prestudents as $prestudent)
- {
- $result = $this->prestudentlib->setAbbrecher($prestudent->prestudent_id, $prestudent->studiensemester_kurzbz, $insertvon);
- if (isError($result))
- $this->logError(getError($result));
- else
- $count++;
- }
- $this->logInfo($count . " Students set to Abbrecher");
- }
+ foreach ($prestudents as $prestudent)
+ {
+ $result = $this->prestudentlib->setAbbrecher($prestudent->prestudent_id, $prestudent->studiensemester_kurzbz, $insertvon);
+ if (isError($result))
+ $this->logError(getError($result));
+ else
+ $count++;
+ }
+ $this->logInfo($count . " Students set to Abbrecher");
+ }
- $this->logInfo('Ende Job handleWiederholerDeadline');
+ $this->logInfo('Ende Job handleWiederholerDeadline');
}
/**
@@ -283,13 +323,11 @@ class AntragJob extends JOB_Controller
$this->StudierendenantragModel->addSelect('studiensemester_kurzbz');
$this->StudierendenantragModel->addSelect('s.insertamum');
- $result = $this->StudierendenantragModel->getWithLastStatusWhere(
- [
- 'typ' => Studierendenantrag_model::TYP_ABMELDUNG_STGL,
- 'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED,
- 's.insertamum <=' => $dateDeadline->format('c')
- ]
- );
+ $result = $this->StudierendenantragModel->getWithLastStatusWhere([
+ 'typ' => Studierendenantrag_model::TYP_ABMELDUNG_STGL,
+ 'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED,
+ 's.insertamum <=' => $dateDeadline->format('c')
+ ]);
if(isError($result))
{
@@ -302,7 +340,13 @@ class AntragJob extends JOB_Controller
foreach ($antraege as $antrag)
{
- $result = $this->prestudentlib->setAbbrecher($antrag->prestudent_id, $antrag->studiensemester_kurzbz, $insertvon, 'abbrecherStgl', $antrag->insertamum);
+ $result = $this->prestudentlib->setAbbrecher(
+ $antrag->prestudent_id,
+ $antrag->studiensemester_kurzbz,
+ $insertvon,
+ 'abbrecherStgl',
+ $antrag->insertamum
+ );
if (isError($result))
$this->logError(getError($result));
else
@@ -364,7 +408,8 @@ class AntragJob extends JOB_Controller
$this->logInfo('Ende Job sendAufforderungWiederholer');
}
- protected function prestudentsGetUnique($prestudents) {
+ protected function prestudentsGetUnique($prestudents)
+ {
$result = [];
foreach ($prestudents as $prestudent) {
if (!isset($result[$prestudent->prestudent_id]))
@@ -466,42 +511,4 @@ class AntragJob extends JOB_Controller
}
$this->logInfo('Ende Job sendAufforderungWiederholer ' . $name);
}
-
-
-
- // TODO(chris): REMOVE DEBUG!
-
- /**
- * Writes a cronjob info log
- */
- protected function logInfo($response, $parameters = null)
- {
- echo $response . "\n";
- }
-
- /**
- * Writes a cronjob debug log
- */
- protected function logDebug($response, $parameters = null)
- {
- echo $response . "\n";
- }
-
- /**
- * Writes a cronjob warning log
- */
- protected function logWarning($response, $parameters = null)
- {
- echo $response . "\n";
- }
-
- /**
- * Writes a cronjob error log
- */
- protected function logError($response, $parameters = null)
- {
- echo $response . "\n";
- }
-
-
}
diff --git a/application/controllers/lehre/Antrag/Wiederholung.php b/application/controllers/lehre/Antrag/Wiederholung.php
index 5b22641f7..2aa57d733 100644
--- a/application/controllers/lehre/Antrag/Wiederholung.php
+++ b/application/controllers/lehre/Antrag/Wiederholung.php
@@ -29,7 +29,7 @@ class Wiederholung extends Auth_Controller
// -----------------------------------------------------------------------------------------------------------------
// Public methods
- public function assistenz($antrag_id, $frame = false)
+ public function assistenz($antrag_id)
{
$result = $this->antraglib->getDetailsForAntrag($antrag_id);
@@ -42,8 +42,7 @@ class Wiederholung extends Auth_Controller
$this->load->view('lehre/Antrag/Wiederholung/Student', [
'antrag_id' => $antrag_id,
- 'antrag' => getData($result),
- 'frame' => $frame
+ 'antrag' => getData($result)
]);
}
}
diff --git a/application/libraries/AntragLib.php b/application/libraries/AntragLib.php
index 6e05380a5..753432edf 100644
--- a/application/libraries/AntragLib.php
+++ b/application/libraries/AntragLib.php
@@ -125,7 +125,6 @@ class AntragLib
{
$errors = [];
foreach ($studierendenantrag_ids as $studierendenantrag_id) {
-
$result = $this->_ci->StudierendenantragModel->load($studierendenantrag_id);
if (isError($result))
{
@@ -162,7 +161,14 @@ class AntragLib
$vorlage ='Sancho_Mail_Antrag_A_Approve';
$subject = $this->_ci->p->t('studierendenantrag', 'mail_subject_A_Approve');
- $result = $this->_ci->prestudentlib->setAbbrecher($antrag->prestudent_id, $antrag->studiensemester_kurzbz, $insertvon, 'abbrecherStud', $antrag->datum, $insertam) ;
+ $result = $this->_ci->prestudentlib->setAbbrecher(
+ $antrag->prestudent_id,
+ $antrag->studiensemester_kurzbz,
+ $insertvon,
+ 'abbrecherStud',
+ $antrag->datum,
+ $insertam
+ );
if (isError($result))
{
$errors[] = getError($result);
@@ -180,8 +186,7 @@ class AntragLib
// NOTE(chris): Sancho mail
sendSanchoMail($vorlage, $data, $prestudent_status->email, $subject);
}
- }
- if ($antrag->typ == Studierendenantrag_model::TYP_ABMELDUNG_STGL) {
+ } else { // ($antrag->typ == Studierendenantrag_model::TYP_ABMELDUNG_STGL)
$result = $this->_ci->PrestudentstatusModel->getLastStatus($antrag->prestudent_id, '', 'Student');
if (isError($result))
{
@@ -200,39 +205,41 @@ class AntragLib
'status_kurzbz'=>$prestudentstatus->status_kurzbz,
'studiensemester_kurzbz'=>$prestudentstatus->studiensemester_kurzbz,
'ausbildungssemester'=>$prestudentstatus->ausbildungssemester
- ],[]);
+ ], []);
if (isError($result))
{
$errors[] = getError($result);
continue;
}
+ }
+ $res = $this->_ci->PrestudentModel->load($antrag->prestudent_id);
- $res = $this->_ci->PrestudentModel->load($antrag->prestudent_id);
-
+ if (hasData($res)) {
+ $prestudent = current(getData($res));
+ $res = $this->_ci->PersonModel->load($prestudent->person_id);
if (hasData($res)) {
- $prestudent = current(getData($res));
- $res = $this->_ci->PersonModel->load($prestudent->person_id);
- if (hasData($res)) {
- $person = current(getData($res));
- $name = trim($person->vorname . ' ' . $person->nachname);
- } else {
- $name = $this->_ci->p->t('person', 'studentIn');
- }
- $res = $this->_ci->KontaktModel->getZustellKontakt($prestudent->person_id, ['email']);
- if (hasData($res)) {
- $kontakt = current(getData($res));
- $email = $kontakt->kontakt;
- sendSanchoMail(
- 'Sancho_Mail_Antrag_A_Stgl',
- [
- 'name' => $name,
- 'grund' => $antrag->grund
- ],
- $email,
- $this->_ci->p->t('studierendenantrag', 'mail_subject_A_Stgl')
- );
- }
+ $person = current(getData($res));
+ $name = trim($person->vorname . ' ' . $person->nachname);
+ } else {
+ $name = $this->_ci->p->t('person', 'studentIn');
+ }
+ $res = $this->_ci->KontaktModel->getZustellKontakt($prestudent->person_id, ['email']);
+ if (hasData($res)) {
+ $kontakt = current(getData($res));
+ $email = $kontakt->kontakt;
+ $vorlage = $antrag->typ == Studierendenantrag_model::TYP_ABMELDUNG ? 'Student' : 'Stgl';
+
+ // NOTE(chris): Sancho mail
+ sendSanchoMail(
+ 'Sancho_Mail_Antrag_A_' . $vorlage,
+ [
+ 'name' => $name,
+ 'grund' => $antrag->grund
+ ],
+ $email,
+ $this->_ci->p->t('studierendenantrag', 'mail_subject_A_' . $vorlage)
+ );
}
}
}
@@ -250,8 +257,9 @@ class AntragLib
*
* @return stdClass
*/
- public function denyObjectionAbmeldung($studierendenantrag_id, $insertvon)
+ public function denyObjectionAbmeldung($studierendenantrag_id, $insertvon, $grund = null)
{
+ // TODO(chris): grund?
$result = $this->_ci->StudierendenantragModel->load($studierendenantrag_id);
if (isError($result))
{
@@ -277,12 +285,19 @@ class AntragLib
$result = $this->_ci->StudierendenantragstatusModel->insert([
'studierendenantrag_id' => $studierendenantrag_id,
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_OBJECTION_DENIED,
+ 'grund' => $grund,
'insertvon' => $insertvon
]);
if (isError($result))
return $result;
else {
- $result = $this->_ci->prestudentlib->setAbbrecher($antrag->prestudent_id, $antrag->studiensemester_kurzbz, $insertvon, 'abbrecherStgl', $status->insertamum);
+ $result = $this->_ci->prestudentlib->setAbbrecher(
+ $antrag->prestudent_id,
+ $antrag->studiensemester_kurzbz,
+ $insertvon,
+ 'abbrecherStgl',
+ $status->insertamum
+ );
if (isError($result))
return $result;
@@ -303,11 +318,10 @@ class AntragLib
$kontakt = current(getData($res));
$email = $kontakt->kontakt;
sendSanchoMail(
- // TODO(chris): Vorlage erstellen
- 'Sancho_Mail_Antrag_A_ObjectionDenied',
+ 'Sancho_Mail_Antrag_A_ObjDenied',
[
'name' => $name,
- 'grund' => $antrag->grund
+ 'grund' => $grund
],
$email,
$this->_ci->p->t('studierendenantrag', 'mail_subject_A_ObjectionDenied')
@@ -415,7 +429,11 @@ class AntragLib
$resultAntrag = current($resultAntrag);
// Prestudentstatus und Unterbrechungsfolgeaktionen setzen
- $result = $this->_ci->prestudentlib->setUnterbrecher($resultAntrag->prestudent_id, $resultAntrag->studiensemester_kurzbz, $studierendenantrag_id);
+ $result = $this->_ci->prestudentlib->setUnterbrecher(
+ $resultAntrag->prestudent_id,
+ $resultAntrag->studiensemester_kurzbz,
+ $studierendenantrag_id
+ );
if (isError($result)) {
$this->_ci->StudierendenantragstatusModel->delete($studierendenantrag_status_id);
@@ -437,7 +455,9 @@ class AntragLib
if (isset($data['errors']['person']))
{
//send assistenz mit id
- $errors[] = $this->_ci->p->t('studierendenantrag', 'error_mail_and_name', ['message' => $data['errors']['email'] . '
' . $data['errors']['person']]);
+ $errors[] = $this->_ci->p->t('studierendenantrag', 'error_mail_and_name', [
+ 'message' => $data['errors']['email'] . '
' . $data['errors']['person']
+ ]);
$mail['ass'] = $this->_ci->p->t('studierendenantrag', 'StudentIn', ['prestudent_id' => $data['antrag']->prestudent_id]);
}
else
@@ -537,9 +557,9 @@ class AntragLib
]);
if (isError($result)) {
$errors['failed_' . $studierendenantrag_id] = $this->_ci->p->t('studierendenantrag', 'error_U_Reject', [
- 'studierendenantrag_id' => $studierendenantrag_id,
- 'message' => getError($result)['message']
- ]);
+ 'studierendenantrag_id' => $studierendenantrag_id,
+ 'message' => getError($result)['message']
+ ]);
} else {
$name = '';
@@ -665,7 +685,10 @@ class AntragLib
$date_created = new DateTime($result['antrag']->datum);
if ($date_created < $date_target) {
$this->_ci->load->model('crm/Konto_model', 'KontoModel');
- $result['studienbeitrag'] = $this->_ci->KontoModel->checkStudienbeitragFromPerson($person_id, $result['antrag']->studiensemester_kurzbz);
+ $result['studienbeitrag'] = $this->_ci->KontoModel->checkStudienbeitragFromPerson(
+ $person_id,
+ $result['antrag']->studiensemester_kurzbz
+ );
}
}
@@ -984,7 +1007,11 @@ class AntragLib
*
* @param integer $prestudent_id
*
- * @return \stdClass on success retval 0 means not a student; retval 1 means Berechtigt; retval -1 means has already an Antrag pending; retval -2 means other Antrag pending; retval -3 means in blacklist stg
+ * @return \stdClass on success retval 0 means not a student;
+ * retval 1 means Berechtigt;
+ * retval -1 means has already an Antrag pending;
+ * retval -2 means other Antrag pending;
+ * retval -3 means in blacklist stg
*/
public function getPrestudentAbmeldeBerechtigt($prestudent_id)
{
@@ -1007,7 +1034,13 @@ class AntragLib
$datumStatus = $result->datum;
if (!in_array($result->status_kurzbz, $this->_ci->config->item('antrag_prestudentstatus_whitelist'))) {
- $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere(['prestudent_id' => $prestudent_id, 'campus.get_status_studierendenantrag(studierendenantrag_id)' => Studierendenantragstatus_model::STATUS_APPROVED], [Studierendenantrag_model::TYP_ABMELDUNG, Studierendenantrag_model::TYP_ABMELDUNG_STGL]);
+ $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere([
+ 'prestudent_id' => $prestudent_id,
+ 'campus.get_status_studierendenantrag(studierendenantrag_id)' => Studierendenantragstatus_model::STATUS_APPROVED
+ ], [
+ Studierendenantrag_model::TYP_ABMELDUNG,
+ Studierendenantrag_model::TYP_ABMELDUNG_STGL
+ ]);
if (isError($result))
return $result;
if (hasData($result))
@@ -1047,7 +1080,11 @@ class AntragLib
* @param integer $prestudent_id
* @param string $studiensemester_kurzbz (optional)
*
- * @return \stdClass on success retval 0 means not a student; retval 1 means Berechtigt; retval -1 means has already an Antrag pending; retval -2 means other Antrag pending; retval -3 means in blacklist stg
+ * @return \stdClass on success retval 0 means not a student;
+ * retval 1 means Berechtigt;
+ * retval -1 means has already an Antrag pending;
+ * retval -2 means other Antrag pending;
+ * retval -3 means in blacklist stg
*/
public function getPrestudentUnterbrechungsBerechtigt($prestudent_id, $studiensemester_kurzbz = null)
{
@@ -1069,7 +1106,11 @@ class AntragLib
$result = current(getData($result));
$datumStatus = $result->datum;
if (!in_array($result->status_kurzbz, $this->_ci->config->item('antrag_prestudentstatus_whitelist'))) {
- $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere(['prestudent_id' => $prestudent_id, 'typ' => Studierendenantrag_model::TYP_UNTERBRECHUNG, 'campus.get_status_studierendenantrag(studierendenantrag_id)' => Studierendenantragstatus_model::STATUS_APPROVED]);
+ $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere([
+ 'prestudent_id' => $prestudent_id,
+ 'typ' => Studierendenantrag_model::TYP_UNTERBRECHUNG,
+ 'campus.get_status_studierendenantrag(studierendenantrag_id)' => Studierendenantragstatus_model::STATUS_APPROVED
+ ]);
if (isError($result))
return $result;
if (hasData($result))
@@ -1113,7 +1154,11 @@ class AntragLib
*
* @param integer $prestudent_id
*
- * @return \stdClass on success retval 0 means not a student; retval 1 means Berechtigt; retval -1 means has already an Antrag pending; retval -2 means other Antrag pending; retval -3 means in blacklist stg
+ * @return \stdClass on success retval 0 means not a student;
+ * retval 1 means Berechtigt;
+ * retval -1 means has already an Antrag pending;
+ * retval -2 means other Antrag pending;
+ * retval -3 means in blacklist stg
*/
public function getPrestudentWiederholungsBerechtigt($prestudent_id)
{
@@ -1142,7 +1187,11 @@ class AntragLib
$result = current(getData($result));
$datumStatus = $result->datum;
if (!in_array($result->status_kurzbz, $this->_ci->config->item('antrag_prestudentstatus_whitelist'))) {
- $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere(['prestudent_id' => $prestudent_id, 'typ' => Studierendenantrag_model::TYP_WIEDERHOLUNG, 'campus.get_status_studierendenantrag(studierendenantrag_id)' => Studierendenantragstatus_model::STATUS_APPROVED]);
+ $result = $this->_ci->StudierendenantragModel->loadWithStatusWhere([
+ 'prestudent_id' => $prestudent_id,
+ 'typ' => Studierendenantrag_model::TYP_WIEDERHOLUNG,
+ 'campus.get_status_studierendenantrag(studierendenantrag_id)' => Studierendenantragstatus_model::STATUS_APPROVED
+ ]);
if (isError($result))
return $result;
if (hasData($result))
@@ -1331,7 +1380,9 @@ class AntragLib
public function saveLvs($lvArray)
{
- $result = $this->_ci->StudierendenantraglehrveranstaltungModel->deleteWhere(['studierendenantrag_id' => $lvArray[0]['studierendenantrag_id']]);
+ $result = $this->_ci->StudierendenantraglehrveranstaltungModel->deleteWhere([
+ 'studierendenantrag_id' => $lvArray[0]['studierendenantrag_id']
+ ]);
if (isError($result))
return $result;
@@ -1407,8 +1458,8 @@ class AntragLib
return $result;
if (!hasData($result))
return error($this->_ci->p->t('studierendenantrag', 'error_no_person_prestudent', ['prestudent_id' => $prestudent_id]));
- $result = current(getData($result));
- $student = trim($result->vorname . ' ' . $result->nachname);
+ $person = current(getData($result));
+ $student = trim($person->vorname . ' ' . $person->nachname);
$result = $this->_ci->PersonModel->getFullName($insertvon);
if (isError($result))
@@ -1434,6 +1485,27 @@ class AntragLib
))
return error($this->_ci->p->t('studierendenantrag', 'error_mail_to', ['email' => $email]));
+ $result = $this->_ci->KontaktModel->getZustellKontakt($person->person_id, ['email']);
+ if (hasData($result)) {
+ $kontakt = current(getData($result));
+ $email = $kontakt->kontakt;
+
+ // NOTE(chris): Sancho mail
+ sendSanchoMail(
+ 'Sancho_Mail_Antrag_W_Student',
+ [
+ 'antrag_id' => $antrag_id,
+ 'stg' => $stg->bezeichnung,
+ 'sem' => $semester,
+ 'mitarbeiter' => $mitarbeiter,
+ 'name' => $student
+ ],
+ $email,
+ $this->_ci->p->t('studierendenantrag', 'mail_subject_W_Student')
+ );
+ }
+
+
return success();
}
@@ -1545,7 +1617,16 @@ class AntragLib
*/
public function isEntitledToCancelAntrag($antrag_id)
{
- return $this->isOwnAntrag($antrag_id);
+ $result = $this->_ci->StudierendenantragModel->load($antrag_id);
+ if (!hasData($result))
+ return false;
+ $antrag = current(getData($result));
+
+ if ($antrag->typ != Studierendenantrag_model::TYP_ABMELDUNG_STGL)
+ return $this->isOwnAntrag($antrag_id);
+
+ // TODO(chris): assistenz can not cancel - should they be able to?
+ return false;
}
/**
diff --git a/application/libraries/PrestudentLib.php b/application/libraries/PrestudentLib.php
index bb1250a62..59cba0df1 100644
--- a/application/libraries/PrestudentLib.php
+++ b/application/libraries/PrestudentLib.php
@@ -32,7 +32,6 @@ class PrestudentLib
$this->_ci->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
$this->_ci->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
$this->_ci->load->model('person/Benutzer_model', 'BenutzerModel');
-
}
public function setAbbrecher($prestudent_id, $studiensemester_kurzbz, $insertvon = null, $statusgrund_kurzbz = null, $datum = null, $bestaetigtam = null)
@@ -153,7 +152,7 @@ class PrestudentLib
'studiensemester_kurzbz' => $lv->studiensemester_kurzbz,
'student_uid' => $lv->uid,
'lehrveranstaltung_id' => $lv->lehrveranstaltung_id
- ],[
+ ], [
'note' => 9
]);
@@ -181,7 +180,7 @@ class PrestudentLib
$this->_ci->StudentlehrverbandModel->update([
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'student_uid' => $student->student_uid
- ],[
+ ], [
'studiengang_kz' => $student->studiengang_kz,
'semester' => 0,
'verband' => 'A',
@@ -193,7 +192,7 @@ class PrestudentLib
//Benutzer inaktiv setzen
$this->_ci->BenutzerModel->update([
'uid' => $student->student_uid
- ],[
+ ], [
'aktiv' => false,
'updateaktivvon' => $insertvon,
'updateaktivam' => date('c'),
@@ -214,20 +213,6 @@ class PrestudentLib
return $result;
$result = getData($result);
if (!$result) {
- /** TODO(chris): Zukünftige Unterbrecher so nicht möglich
- * - Verband und Gruppe dürfen noch nicht gesetzt werden
- * - Keine Garantie das Ausbildungssemester gleich bleibt (weiter Unterbrechungen oder eine Wiederholung in der Zwischenzeit)
- * - LVs eventuell nicht zugewießen
- * Mögliche Lösung: JOB!
-
- $result = $this->_ci->PrestudentstatusModel->getLastStatus($prestudent_id);
- if (isError($result))
- return $result;
- $result = getData($result);
- if (!$result) {
- return error('Kein Prestudent status gefunden');
- }
- $result->studiensemester_kurzbz*/
return error($this->_ci->p->t('studierendenantrag', 'error_no_prestudent_in_sem', [
'prestudent_id' => $prestudent_id,
'studiensemester_kurzbz' => $studiensemester_kurzbz
@@ -341,7 +326,7 @@ class PrestudentLib
'studiensemester_kurzbz' => $lv->studiensemester_kurzbz,
'student_uid' => $lv->uid,
'lehrveranstaltung_id' => $lv->lehrveranstaltung_id
- ],[
+ ], [
'note' => 9
]);
@@ -369,7 +354,7 @@ class PrestudentLib
$this->_ci->StudentlehrverbandModel->update([
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'student_uid' => $student->student_uid
- ],[
+ ], [
'studiengang_kz' => $student->studiengang_kz,
'semester' => 0,
'verband' => 'B',
@@ -380,5 +365,4 @@ class PrestudentLib
return success();
}
-
}
diff --git a/application/models/crm/Prestudentstatus_model.php b/application/models/crm/Prestudentstatus_model.php
index da3d37479..9fa0d179f 100644
--- a/application/models/crm/Prestudentstatus_model.php
+++ b/application/models/crm/Prestudentstatus_model.php
@@ -399,7 +399,11 @@ class Prestudentstatus_model extends DB_Model
public function withGrund($statusgrund_kurzbz)
{
if($statusgrund_kurzbz)
- $this->db->set('statusgrund_id', '(SELECT statusgrund_id FROM public.tbl_status_grund WHERE statusgrund_kurzbz =' . $this->db->escape($statusgrund_kurzbz) .')', FALSE);
+ $this->db->set(
+ 'statusgrund_id',
+ '(SELECT statusgrund_id FROM public.tbl_status_grund WHERE statusgrund_kurzbz =' . $this->db->escape($statusgrund_kurzbz) .')',
+ false
+ );
return $this;
}
diff --git a/application/models/education/Pruefung_model.php b/application/models/education/Pruefung_model.php
index d7f3fa09f..fad6c635e 100644
--- a/application/models/education/Pruefung_model.php
+++ b/application/models/education/Pruefung_model.php
@@ -93,7 +93,20 @@ class Pruefung_model extends DB_Model
$this->addSelect('campus.get_status_studierendenantrag(a.studierendenantrag_id) status');
$this->addSelect('count(1) as count');
- $this->addGroupBy(['pers.vorname','pers.nachname','pers.person_id', 's.matrikelnr','g.bezeichnung', 'g.studiengang_kz','o.bezeichnung_mehrsprachig','ps.prestudent_id', 'lv.bezeichnung', 'le.studiensemester_kurzbz', 'a.typ', 'a.studierendenantrag_id']);
+ $this->addGroupBy([
+ 'pers.vorname',
+ 'pers.nachname',
+ 'pers.person_id',
+ 's.matrikelnr',
+ 'g.bezeichnung',
+ 'g.studiengang_kz',
+ 'o.bezeichnung_mehrsprachig',
+ 'ps.prestudent_id',
+ 'lv.bezeichnung',
+ 'le.studiensemester_kurzbz',
+ 'a.typ',
+ 'a.studierendenantrag_id'
+ ]);
$this->addJoin('lehre.tbl_note n', 'note');
$this->addJoin('lehre.tbl_lehreinheit le', 'lehreinheit_id');
$this->addJoin('lehre.tbl_lehrveranstaltung lv', 'lehrveranstaltung_id');
@@ -120,7 +133,15 @@ class Pruefung_model extends DB_Model
AND ps.prestudent_id = ps1.prestudent_id)', null, false);
// NOTE(chris): is Wiederholer without set statusgrund (legacy?)
- $this->db->where('(SELECT COUNT(*) FROM (SELECT DISTINCT studiensemester_kurzbz FROM tbl_prestudentstatus _s WHERE ausbildungssemester=get_absem_prestudent(ps.prestudent_id, le.studiensemester_kurzbz) AND prestudent_id=ps.prestudent_id) a) = 1', null, false);
+ $this->db->where(
+ '(SELECT COUNT(*)
+ FROM (SELECT DISTINCT studiensemester_kurzbz
+ FROM tbl_prestudentstatus _s
+ WHERE ausbildungssemester=get_absem_prestudent(ps.prestudent_id, le.studiensemester_kurzbz)
+ AND prestudent_id=ps.prestudent_id) a) = 1',
+ null,
+ false
+ );
return $this->db->get_compiled_select($this->dbTable);
}
@@ -142,7 +163,11 @@ class Pruefung_model extends DB_Model
if (!is_array($statusgruende))
$statusgruende = [];
- return $this->execQuery('select * from ( ' . $sql . ') temp where count >= 3 AND prestudent_id = ?' , [Studierendenantrag_model::TYP_WIEDERHOLUNG, $statusgruende, $prestudent_id]);
+ return $this->execQuery('select * from ( ' . $sql . ') temp where count >= 3 AND prestudent_id = ?', [
+ Studierendenantrag_model::TYP_WIEDERHOLUNG,
+ $statusgruende,
+ $prestudent_id
+ ]);
}
public function getAllPrestudentsWhereCommitteeExamFailed($status, $maxDate, $minDate)
diff --git a/application/models/education/Studierendenantrag_model.php b/application/models/education/Studierendenantrag_model.php
index a4dfb0d59..67adca855 100644
--- a/application/models/education/Studierendenantrag_model.php
+++ b/application/models/education/Studierendenantrag_model.php
@@ -54,8 +54,11 @@ class Studierendenantrag_model extends DB_Model
$this->addJoin('public.tbl_studiengang stg', 'p.studiengang_kz=stg.studiengang_kz');
$this->addJoin('public.tbl_studiensemester', 'studiensemester_kurzbz');
$this->addJoin('bis.tbl_orgform', 'orgform_kurzbz');
- $this->addJoin('campus.tbl_studierendenantrag_status as s','campus.get_status_id_studierendenantrag('.$this->dbTable .'.studierendenantrag_id) = studierendenantrag_status_id' );
- $this->addJoin('campus.tbl_studierendenantrag_statustyp as st','studierendenantrag_statustyp_kurzbz' );
+ $this->addJoin(
+ 'campus.tbl_studierendenantrag_status as s',
+ 'campus.get_status_id_studierendenantrag('. $this->dbTable .'.studierendenantrag_id) = studierendenantrag_status_id'
+ );
+ $this->addJoin('campus.tbl_studierendenantrag_statustyp as st', 'studierendenantrag_statustyp_kurzbz');
$this->db->where_in('p.studiengang_kz', $studiengaenge);
@@ -189,7 +192,11 @@ class Studierendenantrag_model extends DB_Model
$this->addJoin('public.tbl_prestudent p', 'prestudent_id', 'RIGHT');
$this->addJoin('public.tbl_studiengang stg', 'p.studiengang_kz=stg.studiengang_kz');
$this->addJoin('bis.tbl_orgform', 'orgform_kurzbz');
- $this->addJoin('campus.tbl_studierendenantrag_statustyp st', 'campus.get_status_studierendenantrag(studierendenantrag_id)=st.studierendenantrag_statustyp_kurzbz','LEFT');
+ $this->addJoin(
+ 'campus.tbl_studierendenantrag_statustyp st',
+ 'campus.get_status_studierendenantrag(studierendenantrag_id)=st.studierendenantrag_statustyp_kurzbz',
+ 'LEFT'
+ );
return $this->loadWhere([
'p.person_id' => $person_id
diff --git a/application/models/education/Studierendenantraglehrveranstaltung_model.php b/application/models/education/Studierendenantraglehrveranstaltung_model.php
index 88d591053..9445b8cf8 100644
--- a/application/models/education/Studierendenantraglehrveranstaltung_model.php
+++ b/application/models/education/Studierendenantraglehrveranstaltung_model.php
@@ -65,7 +65,11 @@ class Studierendenantraglehrveranstaltung_model extends DB_Model
'stat.studierendenantrag_status_id = campus.get_status_id_studierendenantrag(a.studierendenantrag_id)'
);
$this->addJoin('public.tbl_student s', 'prestudent_id');
- $this->addJoin('lehre.tbl_zeugnisnote z', 'z.lehrveranstaltung_id=lv.lehrveranstaltung_id AND z.student_uid=s.student_uid AND z.studiensemester_kurzbz=a.studiensemester_kurzbz', 'LEFT');
+ $this->addJoin(
+ 'lehre.tbl_zeugnisnote z',
+ 'z.lehrveranstaltung_id=lv.lehrveranstaltung_id AND z.student_uid=s.student_uid AND z.studiensemester_kurzbz=a.studiensemester_kurzbz',
+ 'LEFT'
+ );
return $this->loadWhere([
'ps.prestudent_id' => $prestudent_id,
diff --git a/application/models/organisation/Studiengang_model.php b/application/models/organisation/Studiengang_model.php
index 27af2ab22..c8e9571d4 100644
--- a/application/models/organisation/Studiengang_model.php
+++ b/application/models/organisation/Studiengang_model.php
@@ -628,7 +628,14 @@ class Studiengang_model extends DB_Model
if ($not_antrag_typ !== null && is_array($not_antrag_typ)) {
foreach($not_antrag_typ as $k => $v)
$not_antrag_typ[$k] = $this->db->escape($v);
- $this->addJoin('campus.tbl_studierendenantrag a', 'a.prestudent_id=p.prestudent_id and a.typ in ('. implode(',', $not_antrag_typ ).") AND campus.get_status_studierendenantrag (a.studierendenantrag_id)<>'" . Studierendenantragstatus_model::STATUS_CANCELLED . "'", 'LEFT');
+ $this->addJoin(
+ 'campus.tbl_studierendenantrag a',
+ 'a.prestudent_id=p.prestudent_id and a.typ in ('.
+ implode(',', $not_antrag_typ).
+ ") AND campus.get_status_studierendenantrag (a.studierendenantrag_id)<>'" .
+ Studierendenantragstatus_model::STATUS_CANCELLED . "'",
+ 'LEFT'
+ );
$this->db->where('a.typ IS NULL');
}
diff --git a/application/views/lehre/Antrag/Student/List.php b/application/views/lehre/Antrag/Student/List.php
index b1ec9e061..52242d7d6 100644
--- a/application/views/lehre/Antrag/Student/List.php
+++ b/application/views/lehre/Antrag/Student/List.php
@@ -33,29 +33,14 @@ $this->load->view(
$array){ ?>
= $this->p->t('studierendenantrag', 'calltoaction_' . $type); ?>
+| {stg_bezeichnung} ({stg_orgform_kurzbz}) |
|---|
| {stg_bezeichnung} ({stg_orgform_kurzbz}) |
|---|