diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index 89ab2623d..4a9b23ec9 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -204,8 +204,8 @@ class Prestudent_model extends DB_Model $this->addJoin('bis.tbl_nation zgvmanat', 'zgvmanation = zgvmanat.nation_code', 'LEFT'); $prestudent = $this->load($prestudent_id); - if($prestudent->error) - return error($prestudent->retval); + if (!hasData($prestudent)) + return error('prestudent could not be loaded'); //Prestudentstatus $this->load->model('crm/prestudentstatus_model', 'PrestudentstatusModel'); @@ -225,6 +225,7 @@ class Prestudent_model extends DB_Model if (count($studienordnung->retval) > 0) { + $lastStatus->retval[0]->studiengang_kz = $studienordnung->retval[0]->studiengang_kz; $lastStatus->retval[0]->studiengangkurzbzlang = $studienordnung->retval[0]->studiengangkurzbzlang; $lastStatus->retval[0]->studiengangbezeichnung = $studienordnung->retval[0]->studiengangbezeichnung; $lastStatus->retval[0]->studiengangbezeichnung_englisch = $studienordnung->retval[0]->studiengangbezeichnung_englisch; @@ -233,6 +234,7 @@ class Prestudent_model extends DB_Model //get Sprache $this->load->model('system/sprache_model', 'SpracheModel'); + $this->SpracheModel->addSelect('sprache, locale, bezeichnung'); $language = $this->SpracheModel->load($lastStatus->retval[0]->sprache); if ($language->error) diff --git a/application/views/system/infocenter/zgvpruefungen.php b/application/views/system/infocenter/zgvpruefungen.php index 4f4037f43..806f87410 100644 --- a/application/views/system/infocenter/zgvpruefungen.php +++ b/application/views/system/infocenter/zgvpruefungen.php @@ -2,11 +2,34 @@ infoonly; + $studiengangkurzbz = $studiengangbezeichnung = $studiengangtyp = ''; + $studiensemester = isset($zgvpruefung->prestudentstatus->studiensemester_kurzbz) ? $zgvpruefung->prestudentstatus->studiensemester_kurzbz : ''; - $studiengangkurzbz = empty($zgvpruefung->prestudentstatus->studiengangkurzbzlang) ? $zgvpruefung->studiengang : $zgvpruefung->prestudentstatus->studiengangkurzbzlang; - $studiengangbezeichnung = empty($zgvpruefung->prestudentstatus->studiengangbezeichnung) ? $zgvpruefung->studiengangbezeichnung : $zgvpruefung->prestudentstatus->studiengangbezeichnung; + $studiengang_kz = isset($zgvpruefung->studiengang_kz) ? $zgvpruefung->studiengang_kz : ''; + $studiengangtyp = isset($zgvpruefung->studiengangtyp) ? $zgvpruefung->studiengangtyp : ''; + + if (empty($zgvpruefung->prestudentstatus->studiengangkurzbzlang)) + { + if (!empty($zgvpruefung->studiengang)) + $studiengangkurzbz = $zgvpruefung->studiengang; + } + else + { + $studiengangkurzbz = $zgvpruefung->prestudentstatus->studiengangkurzbzlang; + } + + if (empty($zgvpruefung->prestudentstatus->studiengangbezeichnung)) + { + if (!empty($zgvpruefung->studiengangbezeichnung)) + $studiengangbezeichnung = $zgvpruefung->studiengangbezeichnung; + } + else + { + $studiengangbezeichnung = $zgvpruefung->prestudentstatus->studiengangbezeichnung; + } //set bootstrap columns for zgv form $columns = array(3, 3, 3, 3); @@ -219,7 +242,7 @@ - studiengangtyp === 'm') : ?> +
@@ -360,17 +383,24 @@
prestudentstatus->bewerbung_abgeschicktamum)) { - $disabled = 'disabled'; - $disabledTxt = 'Die Bewerbung muss erst abgeschickt worden sein.'; + $disabled = $disabledStg = 'disabled'; + $disabledTxt = $disabledStgTxt = 'Die Bewerbung muss erst abgeschickt worden sein.'; } - if ($zgvpruefung->studiengangtyp !== 'b') + if ($studiengangtyp !== 'b') { $disabled = 'disabled'; - $disabledTxt = 'Nur Bachelorstudiengänge können freigegeben werden.';; + $disabledTxt = 'Nur Bachelorstudiengänge können freigegeben werden.'; + + // FIT-Lehrgänge: exceptions, can be freigegeben in Infocenter + if (!in_array($studiengang_kz, $fit_programme_studiengaenge)) + { + $disabledStg = 'disabled'; + $disabledStgTxt = 'Nur Bachelorstudiengänge können freigegeben werden.'; + } } ?>
@@ -378,7 +408,7 @@
- diff --git a/public/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js index 27a6e9497..16179117d 100644 --- a/public/js/infocenter/infocenterDetails.js +++ b/public/js/infocenter/infocenterDetails.js @@ -7,6 +7,8 @@ const RTFREIGABE_MESSAGE_VORLAGE_QUER = "InfocenterRTfreigegQuer"; const RTFREIGABE_MESSAGE_VORLAGE_QUER_KURZ = "InfocenterRTfreigegQuerKurz"; const STGFREIGABE_MESSAGE_VORLAGE = "InfocenterSTGfreigegeben"; +const FIT_PROGRAMM_STUDIENGAENGE = [10021, 10027]; + /** * javascript file for infocenterDetails page */ @@ -507,17 +509,26 @@ var InfocenterDetails = { if (id !== prestudentid) { if (receiverPrestudentstatus.studiensemester_kurzbz === prestudentstatus.studiensemester_kurzbz - && prestudentstatus.bestaetigtam !== null && prestudentstatus.status_kurzbz === "Interessent" - && prestudent.studiengangtyp === "b") + && prestudentstatus.bestaetigtam !== null && prestudentstatus.status_kurzbz === "Interessent") { - if (prestudentstatus.statusgrund_id === null) + if (prestudent.studiengangtyp === "b") { - rtFreigegeben = true; - break; + if (prestudentstatus.statusgrund_id === null) + { + rtFreigegeben = true; + } + else if ($.isNumeric(prestudentstatus.statusgrund_id)) + { + stgFreigegeben = true; + } } - else if($.isNumeric(prestudentstatus.statusgrund_id)) + // special case FIT programme Freigabe (stgtyp not bachelor) - STG Freigabe possible + else if ($.inArray(parseInt(prestudent.studiengang_kz), FIT_PROGRAMM_STUDIENGAENGE) >= 0) { - stgFreigegeben = true; + if ($.isNumeric(prestudentstatus.statusgrund_id)) + { + stgFreigegeben = true; + } } } }