mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 00:24:35 +00:00
Table height & Bug: Allowed/Shown Stgs in Component
This commit is contained in:
@@ -29,6 +29,50 @@ class Leitung extends FHC_Controller
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Public methods
|
||||
|
||||
public function getActiveStgs()
|
||||
{
|
||||
$studiengaenge = $this->permissionlib->getSTG_isEntitledFor('student/antragfreigabe');
|
||||
$stgsNeuanlage = $this->permissionlib->getSTG_isEntitledFor('student/studierendenantrag');
|
||||
|
||||
$stgs = [];
|
||||
|
||||
if ($studiengaenge) {
|
||||
$result = $this->StudierendenantragModel->loadForStudiengaenge($studiengaenge);
|
||||
|
||||
if (isError($result))
|
||||
return $this->outputJson($result);
|
||||
$antraege = getData($result) ?: [];
|
||||
|
||||
foreach ($antraege as $antrag) {
|
||||
if (!isset($stgs[$antrag->studiengang_kz])) {
|
||||
$stgs[$antrag->studiengang_kz] = new stdClass();
|
||||
$stgs[$antrag->studiengang_kz]->bezeichnung = $antrag->bezeichnung;
|
||||
$stgs[$antrag->studiengang_kz]->orgform = $antrag->orgform;
|
||||
$stgs[$antrag->studiengang_kz]->studiengang_kz = $antrag->studiengang_kz;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($stgsNeuanlage) {
|
||||
$result = $this->StudierendenantragModel->loadForStudiengaenge($stgsNeuanlage);
|
||||
|
||||
if (isError($result))
|
||||
return $this->outputJson($result);
|
||||
$antraege = getData($result) ?: [];
|
||||
|
||||
foreach ($antraege as $antrag) {
|
||||
if (!isset($stgs[$antrag->studiengang_kz])) {
|
||||
$stgs[$antrag->studiengang_kz] = new stdClass();
|
||||
$stgs[$antrag->studiengang_kz]->bezeichnung = $antrag->bezeichnung;
|
||||
$stgs[$antrag->studiengang_kz]->orgform = $antrag->orgform;
|
||||
$stgs[$antrag->studiengang_kz]->studiengang_kz = $antrag->studiengang_kz;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->outputJsonSuccess($stgs);
|
||||
}
|
||||
|
||||
public function getAntraege($studiengang = null)
|
||||
{
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ class Studierendenantrag extends FHC_Controller
|
||||
|
||||
$stgL = [];
|
||||
if ($studiengaenge) {
|
||||
$result = $this->StudierendenantragModel->loadForStudiengaenge($studiengaenge);
|
||||
$result = $this->StudiengangModel->loadWithOrgform($studiengaenge);
|
||||
if (isError($result))
|
||||
return show_error(getError($result));
|
||||
$antraege = getData($result) ?: [];
|
||||
@@ -99,7 +99,7 @@ class Studierendenantrag extends FHC_Controller
|
||||
|
||||
$stgA = [];
|
||||
if ($stgsNeuanlage) {
|
||||
$result = $this->StudierendenantragModel->loadForStudiengaenge($stgsNeuanlage);
|
||||
$result = $this->StudiengangModel->loadWithOrgform($stgsNeuanlage);
|
||||
if (isError($result))
|
||||
return show_error(getError($result));
|
||||
$antraege = getData($result) ?: [];
|
||||
|
||||
@@ -525,6 +525,20 @@ class Studiengang_model extends DB_Model
|
||||
return $this->execQuery($query, $params);
|
||||
}
|
||||
|
||||
public function loadWithOrgform($studiengang_kzs)
|
||||
{
|
||||
$sql = "SELECT index FROM public.tbl_sprache WHERE sprache='" . getUserLanguage() . "' LIMIT 1";
|
||||
|
||||
$this->addSelect($this->dbTable . '.*');
|
||||
$this->addSelect('o.bezeichnung_mehrsprachig[(' . $sql . ')] AS orgform');
|
||||
|
||||
$this->addJoin('bis.tbl_orgform o', 'orgform_kurzbz');
|
||||
|
||||
$this->db->where_in($this->dbTable . '.studiengang_kz', $studiengang_kzs);
|
||||
|
||||
return $this->load();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $studiengang_kzs
|
||||
* @param array $not_antrag_typ (optional) If the prestudent has an antrag with one of the specified types it will be excluded from the result
|
||||
|
||||
@@ -23,45 +23,41 @@ export default {
|
||||
return {
|
||||
filter: undefined,
|
||||
selectedData: [],
|
||||
columns: []
|
||||
columns: [],
|
||||
stgs: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
stgs(){
|
||||
if(!this.stgL || !this.stgA)
|
||||
return[];
|
||||
let undesiredOutput = [...this.stgL, ...this.stgA];
|
||||
let desiredOutput = undesiredOutput.reduce(
|
||||
(accumulator, currentValue)=>
|
||||
{
|
||||
accumulator[currentValue.studiengang_kz] = currentValue;
|
||||
return accumulator;
|
||||
},
|
||||
{}
|
||||
);
|
||||
return Object.values(desiredOutput);
|
||||
|
||||
},
|
||||
stgkzL()
|
||||
{
|
||||
stgkzL() {
|
||||
if (!this.stgL)
|
||||
return [];
|
||||
return this.stgL.map(stg => stg.studiengang_kz);
|
||||
},
|
||||
stgkzA()
|
||||
{
|
||||
stgkzA() {
|
||||
if (!this.stgA)
|
||||
return [];
|
||||
return this.stgA.map(stg => stg.studiengang_kz);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadFilter() {
|
||||
axios.get(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.app_root +
|
||||
FHC_JS_DATA_STORAGE_OBJECT.ci_router +
|
||||
'/components/Antrag/Leitung/getActiveStgs'
|
||||
).then(result => {
|
||||
this.stgs = Object.values(result.data.retval).sort((a,b) => a.bezeichnung == b.bezeichnung ? (a.orgform == b.orgform ? 0 : (a.orgform > b.orgform ? 1 : -1)) : (a.bezeichnung > b.bezeichnung ? 1 : -1));
|
||||
}).catch(error => {
|
||||
console.error(error);
|
||||
});
|
||||
},
|
||||
changeFilter(evt) {
|
||||
this.filter = evt.target.value || undefined;
|
||||
this.reload();
|
||||
},
|
||||
reload() {
|
||||
this.$refs.table.reload(this.filter);
|
||||
this.loadFilter();
|
||||
},
|
||||
download() {
|
||||
this.$refs.table.download();
|
||||
@@ -270,6 +266,9 @@ export default {
|
||||
BsAlert.popup(msg, {dialogClass: 'alert alert-danger'});
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.loadFilter();
|
||||
},
|
||||
template: `
|
||||
<div class="studierendenantrag-leitung fhc-table">
|
||||
<leitung-header
|
||||
|
||||
@@ -84,7 +84,7 @@ export default {
|
||||
this.table = new Tabulator(this.$refs.table, {
|
||||
placeholder:"Keine zu bearbeitenden Datensätze",
|
||||
movableColumns: true,
|
||||
maxHeight: '50vh',
|
||||
height: '50vh',
|
||||
layout: "fitDataStretch", // TODO(chris): wont work when changed
|
||||
ajaxURL: this.ajaxUrl,
|
||||
persistence: { // NOTE(chris): do not store column titles
|
||||
|
||||
Reference in New Issue
Block a user