Merge branch 'master' into feature-60973/komponente_fuer_lehrfaecherverteilung

# Conflicts:
#	application/models/education/Lehrveranstaltung_model.php
#	application/models/organisation/Studienplan_model.php
#	application/models/person/Notiz_model.php
#	application/models/ressource/Mitarbeiter_model.php
#	public/js/components/Stv/Studentenverwaltung.js
#	public/js/components/Stv/Studentenverwaltung/Verband.js
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
This commit is contained in:
ma0048
2025-08-07 11:03:05 +02:00
435 changed files with 39158 additions and 7196 deletions
@@ -191,7 +191,7 @@ class Organisationseinheit_model extends DB_Model
/**
* @param string $oe_kurzbz
*
*
* @return stdClass
*/
public function getWithType($oe_kurzbz)
@@ -203,19 +203,15 @@ class Organisationseinheit_model extends DB_Model
}
/**
* Get OEs by eventQuery string. Use with autocomplete event queries.
* @param $eventQuery String
* @return array
* get highest organisation units
*/
public function getAutocompleteSuggestions($eventQuery)
public function getHeads()
{
$this->addSelect('oe_kurzbz');
$this->addSelect('organisationseinheittyp_kurzbz, oe_kurzbz, bezeichnung, aktiv, lehre');
$this->addOrder('organisationseinheittyp_kurzbz, bezeichnung');
$this->addSelect('*');
$this->addSelect('oe_kurzbz as head');
$result = $this->loadWhere(array('oe_parent_kurzbz' => null, 'aktiv' => true));
return $this->loadWhere("
oe_kurzbz ILIKE '%". $this->escapeLike($eventQuery). "%'
");
return $result;
}
/**
@@ -709,24 +709,38 @@ class Studiengang_model extends DB_Model
if (isError($stg_ltg))
return $stg_ltg;
$stg_ltg = getData($stg_ltg) ?: [];
$stg_ltg = array_values(array_filter($stg_ltg, function($stg_leitung){
return $stg_leitung->aktiv;
}));
$addFotoProperty($stg_ltg);
$gf_ltg = $this->BenutzerfunktionModel->getBenutzerFunktionenDetailed('gLtg', $stg_obj->oe_kurzbz);
if (isError($gf_ltg))
return $gf_ltg;
$gf_ltg = getData($gf_ltg) ?: [];
$gf_ltg = array_values(array_filter($gf_ltg, function($gf_leitung){
return $gf_leitung->aktiv;
}));
$addEmailProperty($gf_ltg);
$addFotoProperty($gf_ltg);
$stv_ltg = $this->BenutzerfunktionModel->getBenutzerFunktionenDetailed('stvLtg', $stg_obj->oe_kurzbz);
if (isError($stv_ltg))
return $stv_ltg;
$stv_ltg = getData($stv_ltg) ?: [];
$stv_ltg = array_values(array_filter($stv_ltg, function($stv_leitung){
return $stv_leitung->aktiv;
}));
$addEmailProperty($stv_ltg);
$addFotoProperty($stv_ltg);
$ass = $this->BenutzerfunktionModel->getBenutzerFunktionenDetailed('ass', $stg_obj->oe_kurzbz);
if (isError($ass))
return $ass;
$ass = getData($ass) ?: [];
$ass = array_values(array_filter($ass, function($assistenz){
return $assistenz->aktiv;
}));
$addEmailProperty($ass);
$addFotoProperty($ass);
@@ -734,6 +748,9 @@ class Studiengang_model extends DB_Model
if (isError($hochschulvertr))
return $hochschulvertr;
$hochschulvertr = getData($hochschulvertr) ?: [];
$hochschulvertr = array_values(array_filter($hochschulvertr, function($hochschul_vertreter){
return $hochschul_vertreter->aktiv;
}));
$addEmailProperty($hochschulvertr);
@@ -741,6 +758,9 @@ class Studiengang_model extends DB_Model
if (isError($stdv))
return $stdv;
$stdv = getData($stdv) ?: [];
$stdv = array_values(array_filter($stdv, function($std_vertreter){
return $std_vertreter->aktiv;
}));
$addEmailProperty($stdv);
@@ -748,6 +768,9 @@ class Studiengang_model extends DB_Model
if (isError($jahrgangsvertr))
return $jahrgangsvertr;
$jahrgangsvertr = getData($jahrgangsvertr) ?: [];
$jahrgangsvertr = array_values(array_filter($jahrgangsvertr, function($jahrgang_vertreter){
return $jahrgang_vertreter->aktiv;
}));
$addEmailProperty($jahrgangsvertr);
@@ -157,4 +157,17 @@ class Studienplan_model extends DB_Model
return $this->execReadOnlyQuery($qry, array($lv_id));
}
public function getStudienplaeneForPerson($person_id)
{
$this->addDistinct();
$this->addSelect($this->dbTable . '.*');
$this->addSelect('ps.*');
$this->addJoin('public.tbl_prestudentstatus pss', 'studienplan_id');
$this->addJoin('public.tbl_prestudent ps', 'prestudent_id');
return $this->loadWhere([
'person_id' => $person_id
]);
}
}
@@ -341,4 +341,10 @@ class Studiensemester_model extends DB_Model
WHERE studiensemester_kurzbz = ?",[$studiensemester_kurzbz]);
}
public function isValidStudiensemester($studiensemester_kurzbz)
{
$result = $this->load($studiensemester_kurzbz);
return hasData($result);
}
}