diff --git a/application/controllers/jobs/ReihungstestJob.php b/application/controllers/jobs/ReihungstestJob.php
index 431ac5b04..8a1729d95 100644
--- a/application/controllers/jobs/ReihungstestJob.php
+++ b/application/controllers/jobs/ReihungstestJob.php
@@ -467,7 +467,7 @@ class ReihungstestJob extends JOB_Controller
$this->PrestudentstatusModel->addJoin('public.tbl_person', 'person_id');
$yesterdays_applicants_arr = $this->PrestudentstatusModel->loadWhere('
- status_kurzbz = \'Interessent\' AND
+ status_kurzbz IN (\'Interessent\', \'Bewerber\') AND
typ = \'b\' AND
bestaetigtam = current_date - 1
');
diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php
index 1922bacda..3cba756cf 100644
--- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php
+++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php
@@ -152,10 +152,10 @@ class requestAnrechnung extends Auth_Controller
return $this->outputJsonError($this->p->t('anrechnung', 'antragBereitsGestellt'));
}
- // Exit if application is not for actual studysemester
- if (!self::_applicationIsForActualSS($studiensemester_kurzbz))
+ // Exit if application is a past ( < actual ) studysemester
+ if (self::_applicationIsPastSS($studiensemester_kurzbz))
{
- return $this->outputJsonError($this->p->t('anrechnung', 'antragNurImAktSS'));
+ return $this->outputJsonError($this->p->t('anrechnung', 'antragNichtFuerVerganganeSS'));
}
// Upload document
@@ -312,18 +312,21 @@ class requestAnrechnung extends Auth_Controller
}
/**
- * Check if applications' study semester is actual study semester.
+ * Check if applications' study semester is < actual study semester.
*
* @param $studiensemester_kurzbz
* @return bool
*/
- private function _applicationIsForActualSS($studiensemester_kurzbz)
+ private function _applicationIsPastSS($studiensemester_kurzbz)
{
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$result = $this->StudiensemesterModel->getNearest();
- $actual_ss = getData($result)[0]->studiensemester_kurzbz;
+ $actual_ss = getData($result)[0];
- return $studiensemester_kurzbz == $actual_ss;
+ $result = $this->StudiensemesterModel->load($studiensemester_kurzbz);
+ $anrechnung_ss = getData($result)[0];
+
+ return $anrechnung_ss->ende < $actual_ss->start;
}
private function _LVhasBlockingGrades($studiensemester_kurzbz, $lehrveranstaltung_id)
diff --git a/application/controllers/system/messages/FASMessages.php b/application/controllers/system/messages/FASMessages.php
index 55d1da25f..e2169af9b 100644
--- a/application/controllers/system/messages/FASMessages.php
+++ b/application/controllers/system/messages/FASMessages.php
@@ -37,7 +37,7 @@ class FASMessages extends Auth_Controller
// Loads the view to write a new message with a template
$this->load->view(
- 'system/messages/htmlWriteTemplate',
+ 'system/messages/FAShtmlWriteTemplate',
$this->CLMessagesModel->prepareHtmlWriteTemplatePrestudents($prestudents)
);
}
@@ -53,7 +53,7 @@ class FASMessages extends Auth_Controller
// Loads the view to write a new message with a template
$this->load->view(
- 'system/messages/htmlWriteTemplate',
+ 'system/messages/FAShtmlWriteTemplate',
$this->CLMessagesModel->prepareHtmlWriteTemplatePrestudents($prestudents, $message_id, $recipient_id)
);
}
diff --git a/application/libraries/AntragLib.php b/application/libraries/AntragLib.php
index f4659dc91..46d21df05 100644
--- a/application/libraries/AntragLib.php
+++ b/application/libraries/AntragLib.php
@@ -985,6 +985,7 @@ class AntragLib
$studiengang_kz = $result->studiengang_kz;
$orgform_kurzbz = $result->orgform_kurzbz;
$ausbildungssemester = $result->ausbildungssemester;
+ $sprache = $result->sprache;
// NOTE(chris): check permission
$allowedStgs = $this->_ci->permissionlib->getSTG_isEntitledFor('student/studierendenantrag') ?: [];
@@ -1029,7 +1030,8 @@ class AntragLib
$orgform_kurzbz,
$semA,
$ausbildungssemester + 1,
- $antrag->prestudent_id
+ $antrag->prestudent_id,
+ $sprache
);
if (isError($result))
return $result;
@@ -1084,7 +1086,8 @@ class AntragLib
$orgform_kurzbz,
$semA,
$ausbildungssemester - 1,
- $antrag->prestudent_id
+ $antrag->prestudent_id,
+ $sprache
);
if (isError($result))
return $result;
@@ -1096,7 +1099,8 @@ class AntragLib
$orgform_kurzbz,
$stdsem,
$ausbildungssemester - 1,
- $antrag->prestudent_id
+ $antrag->prestudent_id,
+ $sprache
);
if (isError($result))
return $result;
@@ -1125,7 +1129,8 @@ class AntragLib
$orgform_kurzbz,
$semB,
$ausbildungssemester,
- $antrag->prestudent_id
+ $antrag->prestudent_id,
+ $sprache
);
if (isError($result))
return $result;
@@ -1155,7 +1160,8 @@ class AntragLib
$orgform_kurzbz,
$studiensemester_kurzbz,
$ausbildungssemester,
- $prestudent_id
+ $prestudent_id,
+ $sprache
) {
$this->_ci->load->model('organisation/Studienplan_model', 'StudienplanModel');
@@ -1184,12 +1190,25 @@ class AntragLib
'semester' => $ausbildungssemester
]));
}
- if (count($result) > 1)
- return error($this->_ci->p->t('studierendenantrag', 'error_multiple_studienplan', [
- 'studiengang_kz' => $studiengang_kz,
- 'studiensemester_kurzbz' => $studiensemester_kurzbz,
- 'semester' => $ausbildungssemester
- ]));
+ if (count($result) > 1) {
+ $langmap = array_unique(array_map(function ($a) {
+ return $a->sprache;
+ }, $result));
+ if ($sprache
+ && count($langmap) == count($result)
+ && in_array($sprache, $langmap)
+ ) {
+ $result = array_filter($result, function ($a) use ($sprache) {
+ return $a->sprache == $sprache;
+ });
+ } else {
+ return error($this->_ci->p->t('studierendenantrag', 'error_multiple_studienplan', [
+ 'studiengang_kz' => $studiengang_kz,
+ 'studiensemester_kurzbz' => $studiensemester_kurzbz,
+ 'semester' => $ausbildungssemester
+ ]));
+ }
+ }
$studienplan = current($result);
return $this->_ci->StudienplanModel->getStudienplanLehrveranstaltungForPrestudent(
diff --git a/application/models/crm/Reihungstest_model.php b/application/models/crm/Reihungstest_model.php
index ec1982ea6..86ebfd0af 100644
--- a/application/models/crm/Reihungstest_model.php
+++ b/application/models/crm/Reihungstest_model.php
@@ -322,7 +322,7 @@ class Reihungstest_model extends DB_Model
JOIN lehre.tbl_studienplan ON (tbl_prestudentstatus.studienplan_id = tbl_studienplan.studienplan_id)
LEFT JOIN bis.tbl_zgv ON (ps.zgv_code = tbl_zgv.zgv_code)
WHERE rt_id = ?
- AND get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) = \'Interessent\'
+ AND get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) IN (\'Interessent\', \'Bewerber\')
AND tbl_prestudentstatus.studiensemester_kurzbz = rt.studiensemester_kurzbz
AND bewerbung_abgeschicktamum IS NOT NULL
AND bestaetigtam IS NOT NULL
@@ -411,7 +411,7 @@ class Reihungstest_model extends DB_Model
JOIN lehre.tbl_studienplan ON (tbl_prestudentstatus.studienplan_id = tbl_studienplan.studienplan_id)
LEFT JOIN bis.tbl_zgv ON (ps.zgv_code = tbl_zgv.zgv_code)
WHERE rt.studiengang_kz = ?
- AND get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) = \'Interessent\'
+ AND get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) IN (\'Interessent\', \'Bewerber\')
AND tbl_prestudentstatus.studiensemester_kurzbz = rt.studiensemester_kurzbz
AND bewerbung_abgeschicktamum IS NOT NULL
AND bestaetigtam IS NOT NULL
@@ -462,7 +462,7 @@ class Reihungstest_model extends DB_Model
LEFT JOIN bis.tbl_zgv ON (ps.zgv_code = tbl_zgv.zgv_code)
LEFT JOIN PUBLIC.tbl_ort ON (tbl_rt_person.ort_kurzbz = tbl_ort.ort_kurzbz)
WHERE rt_id = ?
- AND get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) = \'Interessent\'
+ AND get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) IN (\'Interessent\', \'Bewerber\')
AND tbl_prestudentstatus.studiensemester_kurzbz = rt.studiensemester_kurzbz
AND bewerbung_abgeschicktamum IS NOT NULL
AND bestaetigtam IS NOT NULL
diff --git a/application/models/education/Studierendenantrag_model.php b/application/models/education/Studierendenantrag_model.php
index 4931896cd..60e53365c 100644
--- a/application/models/education/Studierendenantrag_model.php
+++ b/application/models/education/Studierendenantrag_model.php
@@ -30,7 +30,7 @@ class Studierendenantrag_model extends DB_Model
{
$sql = "SELECT index FROM public.tbl_sprache WHERE sprache='" . getUserLanguage() . "' LIMIT 1";
- $this->addSelect('stg.bezeichnung');
+ $this->addSelect('UPPER(stg.typ) || UPPER(stg.kurzbz) || \' \' || stg.bezeichnung AS bezeichnung');
$this->addSelect('bezeichnung_mehrsprachig[(' . $sql . ')] AS orgform', false);
$this->addSelect('s.studierendenantrag_id');
$this->addSelect('matrikelnr');
@@ -124,6 +124,7 @@ class Studierendenantrag_model extends DB_Model
$this->addSelect('p.studiengang_kz');
$this->addSelect('stg.bezeichnung');
$this->addSelect('s.ausbildungssemester');
+ $this->addSelect('plan.sprache');
$this->addSelect('COALESCE(plan.orgform_kurzbz, s.orgform_kurzbz, stg.orgform_kurzbz) AS orgform_kurzbz');
$this->addJoin(
diff --git a/application/views/person/bpk/bpkDetails.php b/application/views/person/bpk/bpkDetails.php
index 198065c24..bd6191c6a 100644
--- a/application/views/person/bpk/bpkDetails.php
+++ b/application/views/person/bpk/bpkDetails.php
@@ -9,7 +9,6 @@
'jqueryui1' => true,
'ajaxlib' => true,
'tablesorter2' => true,
- 'tinymce4' => true,
'sbadmintemplate3' => true,
'addons' => true,
'navigationwidget' => true,
@@ -126,10 +125,18 @@
-
diff --git a/application/views/system/infocenter/infocenterAbgewiesenData.php b/application/views/system/infocenter/infocenterAbgewiesenData.php
index 2307ea87e..da816b2c7 100644
--- a/application/views/system/infocenter/infocenterAbgewiesenData.php
+++ b/application/views/system/infocenter/infocenterAbgewiesenData.php
@@ -31,21 +31,35 @@ $query = '
ORDER BY l.log_id DESC
LIMIT 1
)
- AND '. $LOGDATA_VON .' = (
+ AND ('. $LOGDATA_VON .' = (
SELECT l.insertvon
FROM system.tbl_log l
WHERE l.person_id = p.person_id
ORDER BY l.log_id DESC
LIMIT 1
)
+ OR
+ (
+ (
+ SELECT l.insertvon
+ FROM system.tbl_log l
+ WHERE l.person_id = p.person_id
+ ORDER BY l.log_id DESC
+ LIMIT 1
+ ) IS NULL
+ )
+ )
AND l.zeitpunkt >= pss.insertamum
ORDER BY l.log_id DESC
LIMIT 1
) AS "Nachricht",
(
- SELECT SUM(konto.betrag)
+ SELECT
+ CASE
+ WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
+ ELSE SUM(konto.betrag)
+ END AS "Kaution"
FROM public.tbl_konto konto
- LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr)
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php
index bb5b84479..61dc5a575 100644
--- a/application/views/system/infocenter/infocenterData.php
+++ b/application/views/system/infocenter/infocenterData.php
@@ -292,9 +292,12 @@
rueck.datum_bis AS "HoldDate",
rueck.bezeichnung AS "Rueckstellgrund",
(
- SELECT SUM(konto.betrag)
+ SELECT
+ CASE
+ WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
+ ELSE SUM(konto.betrag)
+ END AS "Kaution"
FROM public.tbl_konto konto
- LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr)
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php
index c61bb3cd2..a8e6e3e13 100644
--- a/application/views/system/infocenter/infocenterDetails.php
+++ b/application/views/system/infocenter/infocenterDetails.php
@@ -8,7 +8,7 @@
'dialoglib' => true,
'ajaxlib' => true,
'tablesorter2' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'sbadmintemplate3' => true,
'addons' => true,
'navigationwidget' => true,
diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php
index 32315c145..8003b42e0 100644
--- a/application/views/system/infocenter/infocenterFreigegebenData.php
+++ b/application/views/system/infocenter/infocenterFreigegebenData.php
@@ -267,9 +267,12 @@ $query = '
LIMIT 1
) AS "AktenId",
(
- SELECT SUM(konto.betrag)
+ SELECT
+ CASE
+ WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
+ ELSE SUM(konto.betrag)
+ END AS "Kaution"
FROM public.tbl_konto konto
- LEFT JOIN tbl_konto skonto ON (skonto.buchungsnr_verweis = konto.buchungsnr)
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND konto.buchungstyp_kurzbz = '. $STUDIENGEBUEHR_ANZAHLUNG .'
diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
index e6b6d2495..7f9ee1288 100644
--- a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
+++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
@@ -198,7 +198,11 @@ $query = '
LIMIT 1
) AS "InfoCenterMitarbeiter",
(
- SELECT SUM(konto.betrag)
+ SELECT
+ CASE
+ WHEN COUNT(CASE WHEN konto.betrag != 0 THEN 1 END) = 0 THEN null
+ ELSE SUM(konto.betrag)
+ END AS "Kaution"
FROM public.tbl_konto konto
WHERE konto.person_id = p.person_id
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
diff --git a/application/views/system/infocenter/infocenterZgvDetails.php b/application/views/system/infocenter/infocenterZgvDetails.php
index 7636647ab..aefd95da0 100644
--- a/application/views/system/infocenter/infocenterZgvDetails.php
+++ b/application/views/system/infocenter/infocenterZgvDetails.php
@@ -10,7 +10,7 @@
'dialoglib' => true,
'ajaxlib' => true,
'tablesorter2' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'sbadmintemplate3' => true,
'addons' => true,
'navigationwidget' => true,
@@ -131,7 +131,11 @@
p->t('infocenter', 'zgvNichtErfuellt') ?>
-