mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 15:32:17 +00:00
org form hinzugefuegt im stree
gruppe autocomplete auch auf die bezeichnung getalloe sql angepasst
This commit is contained in:
@@ -80,7 +80,7 @@ class Lehreinheit extends FHCAPI_Controller
|
||||
|
||||
$lehrveranstaltung = getData($lehrveranstaltung_result)[0];
|
||||
|
||||
$oe_result = $this->_ci->LehrveranstaltungModel->getAllOe($lehrveranstaltung->lehrveranstaltung_id, $lehrveranstaltung->studiengang_kz);
|
||||
$oe_result = $this->_ci->LehrveranstaltungModel->getAllOe($lehrveranstaltung->lehrveranstaltung_id);
|
||||
$oe_array = hasData($oe_result) ? array_column(getData($oe_result), 'oe_kurzbz') : array();
|
||||
|
||||
if (!$this->_ci->permissionlib->isBerechtigtMultipleOe('admin', $oe_array, 'suid') &&
|
||||
|
||||
@@ -86,6 +86,32 @@ class StgTree extends FHCAPI_Controller
|
||||
]);
|
||||
$list = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$result = $this->StudiengangModel->load($studiengang_kz);
|
||||
$result = $this->getDataOrTerminateWithError($result);
|
||||
if ($result)
|
||||
{
|
||||
if (current($result)->mischform)
|
||||
{
|
||||
$this->load->model('organisation/Studienordnung_model', 'StudienordnungModel');
|
||||
|
||||
$this->StudienordnungModel->addDistinct();
|
||||
$this->StudienordnungModel->addSelect("CONCAT(studiengang_kz, '/', p.orgform_kurzbz) AS link");
|
||||
$this->StudienordnungModel->addSelect("p.orgform_kurzbz AS name");
|
||||
$this->StudienordnungModel->addSelect("TRUE as leaf", false);
|
||||
|
||||
$this->StudienordnungModel->addJoin('lehre.tbl_studienplan p', 'studienordnung_id');
|
||||
|
||||
$result = $this->StudienordnungModel->loadWhere([
|
||||
'aktiv' => true,
|
||||
'studiengang_kz' => $studiengang_kz,
|
||||
'p.orgform_kurzbz !=' => 'DDP'
|
||||
]);
|
||||
$result = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$list = array_merge($list, $result);
|
||||
}
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess($list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ EOSQL;
|
||||
if (hasData($result))
|
||||
{
|
||||
$lehrveranstaltung = getData($result)[0];
|
||||
$oe_result = $this->LehrveranstaltungModel->getAllOe($lehrveranstaltung->lehrveranstaltung_id, $lehrveranstaltung->studiengang_kz);
|
||||
$oe_result = $this->LehrveranstaltungModel->getAllOe($lehrveranstaltung->lehrveranstaltung_id);
|
||||
return success(hasData($oe_result) ? array_column(getData($oe_result), 'oe_kurzbz') : array(''));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1161,7 +1161,7 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
}
|
||||
if (!is_null($verband))
|
||||
{
|
||||
$qry .= ' AND (orgform_kurzbz = ? OR orgform_kurzbz IS NULL)';
|
||||
$qry .= ' AND (tbl_lehrveranstaltung.orgform_kurzbz = ? OR tbl_lehrveranstaltung.orgform_kurzbz IS NULL)';
|
||||
$params[] = $verband;
|
||||
}
|
||||
|
||||
@@ -1198,31 +1198,29 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
";
|
||||
}
|
||||
|
||||
public function getAllOe($lv_id, $stg_kz = null)
|
||||
public function getAllOe($lv_id)
|
||||
{
|
||||
$qry = "(SELECT DISTINCT oe_kurzbz
|
||||
FROM lehre.tbl_studienplan_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan USING(studienplan_id)
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE lehrveranstaltung_id = ?)";
|
||||
$qry = "SELECT DISTINCT oe_kurzbz
|
||||
FROM lehre.tbl_studienplan_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan USING(studienplan_id)
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE lehrveranstaltung_id = ?
|
||||
|
||||
$params = array($lv_id);
|
||||
if (!is_null($stg_kz))
|
||||
{
|
||||
$qry .= ' UNION
|
||||
(SELECT oe_kurzbz
|
||||
FROM public.tbl_studiengang WHERE studiengang_kz = ?)';
|
||||
$params[] = $stg_kz;
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry .= ' UNION
|
||||
(SELECT oe_kurzbz
|
||||
FROM public.tbl_studiengang WHERE studiengang_kz = (SELECT tbl_lehrveranstaltung.studiengang_kz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id = ?))
|
||||
';
|
||||
$params[] = $lv_id;
|
||||
}
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT oe_kurzbz
|
||||
FROM public.tbl_studiengang
|
||||
WHERE studiengang_kz = (
|
||||
SELECT tbl_lehrveranstaltung.studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung
|
||||
WHERE lehrveranstaltung_id = ?
|
||||
)
|
||||
)
|
||||
";
|
||||
|
||||
$params = array($lv_id, $lv_id);
|
||||
|
||||
return $this->execReadOnlyQuery($qry, $params);
|
||||
}
|
||||
|
||||
@@ -107,6 +107,8 @@ class Studienplan_model extends DB_Model
|
||||
));
|
||||
}
|
||||
|
||||
// Deprecated
|
||||
// im Lehrveranstaltung_model vorhanden
|
||||
public function getAllOesForLv($lehrveranstaltung_id)
|
||||
{
|
||||
$this->addDistinct('oe_kurzbz');
|
||||
|
||||
@@ -31,6 +31,7 @@ const router = VueRouter.createRouter({
|
||||
studiensemester_kurzbz: studiensemester_kurzbz,
|
||||
emp: emp,
|
||||
stg: stg,
|
||||
semester: semester
|
||||
};
|
||||
},
|
||||
beforeEnter: (to, from, next) => {
|
||||
@@ -62,12 +63,12 @@ const router = VueRouter.createRouter({
|
||||
studiensemester_kurzbz = undefined;
|
||||
|
||||
if (stg === '')
|
||||
semester = undefined;
|
||||
stg = undefined;
|
||||
|
||||
return {
|
||||
studiensemester_kurzbz: studiensemester_kurzbz,
|
||||
stg: stg,
|
||||
semester: semester != null ? Number(semester) : null,
|
||||
semester: semester,
|
||||
};
|
||||
},
|
||||
beforeEnter: (to, from, next) => {
|
||||
|
||||
@@ -103,7 +103,7 @@ export default{
|
||||
{
|
||||
const query = event.query.toLowerCase().trim();
|
||||
this.filteredGroups = this.dropdowns.gruppen_array.filter(gruppe => {
|
||||
return gruppe.gruppe_kurzbz.toLowerCase().includes(query);
|
||||
return gruppe.gruppe_kurzbz.toLowerCase().includes(query) || gruppe?.bezeichnung?.toLowerCase().includes(query);
|
||||
}).map(gruppe => ({
|
||||
label: gruppe.bezeichnung
|
||||
? `${gruppe.gruppe_kurzbz.trim()} (${gruppe.bezeichnung})`
|
||||
|
||||
@@ -28,7 +28,7 @@ export default {
|
||||
permissions: Object,
|
||||
config: Object,
|
||||
stg: { type: String, required: false },
|
||||
semester: { type: Number, required: false, default: null },
|
||||
semester: { type: [Number, String], required: false, default: null },
|
||||
studiensemester_kurzbz: { type: String, required: false, default: null },
|
||||
emp: { type: String, required: false, default: null }
|
||||
},
|
||||
@@ -159,7 +159,7 @@ export default {
|
||||
const params = { stg };
|
||||
|
||||
if (semester !== null)
|
||||
params.semester = Number(semester);
|
||||
params.semester = semester;
|
||||
if (studiensemester_kurzbz)
|
||||
params.studiensemester_kurzbz = studiensemester_kurzbz;
|
||||
if (this.filter.emp)
|
||||
@@ -176,7 +176,7 @@ export default {
|
||||
else
|
||||
{
|
||||
delete newParams.emp;
|
||||
newParams.semester = null;
|
||||
|
||||
this.$router.replace({ name: 'byStg', params: newParams });
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user