Multiactions Status Change

This commit is contained in:
ma0068
2024-04-26 14:16:36 +02:00
parent 5e3a7d4307
commit bc7fa71894
9 changed files with 1527 additions and 8 deletions
@@ -279,6 +279,7 @@ class Prestudent extends FHCAPI_Controller
return $this->terminateWithSuccess(getData($result) ?: []);
}
//TODO(manu) multi
public function getStudienplaene($prestudent_id)
{
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
@@ -365,12 +365,12 @@ class Status extends FHCAPI_Controller
//Handle Abbrecher and Unterbrecher
//TODO (manu) implement later with multiactions
// not active yet: works only for "status ändern" in FAS
/* if($status_kurzbz == 'Abbrecher' || $status_kurzbz == 'Unterbrecher')
if($status_kurzbz == 'Abbrecher' || $status_kurzbz == 'Unterbrecher')
{
$ausbildungssemester = 0;
$gruppe = '';
$verband = $status_kurzbz == 'Abbrecher' ? 'A' : 'B';
}*/
}
//process studentlehrverband
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
@@ -394,7 +394,7 @@ class Status extends FHCAPI_Controller
//not active yet: works only for "status ändern" in FAS
//Todo(Manu) Later for multiactions
/*
if($status_kurzbz == 'Abbrecher' || $status_kurzbz == 'Unterbrecher')
{
$result = $this->StudentModel->update(
@@ -416,12 +416,13 @@ class Status extends FHCAPI_Controller
return $this->outputJson($result->code);
}
}
*/
}
$this->db->trans_commit();
return $this->outputJsonSuccess(true);
//return $this->outputJsonSuccess($prestudent_id);
$this->terminateWithSuccess($prestudent_id);
}
public function loadStatus()
@@ -41,6 +41,10 @@ class Config extends FHC_Controller
'title' => 'Status',
'component' => './Stv/Studentenverwaltung/Details/Status.js'
];
$result['multistatus'] = [
'title' => 'MultiStatus',
'component' => './Stv/Studentenverwaltung/Details/MultiStatus.js'
];
$result['konto'] = [
'title' => 'Konto',
'component' => './Stv/Studentenverwaltung/Details/Konto.js',
@@ -83,6 +87,22 @@ class Config extends FHC_Controller
'additionalCols' => []
]
];
$result['multistatus'] = [
'title' => 'MultiStatus',
'component' => './Stv/Studentenverwaltung/Details/MultiStatus.js',
'config' => [
'abbrecherStgl' => $this->permissionlib->isBerechtigt('admin'),
'abbrecherStud' => $this->permissionlib->isBerechtigt('admin')
]
];
/* $result['status'] = [
'title' => 'Status',
'component' => './Stv/Studentenverwaltung/Details/Status.js',
'config' => [
'abbrecherStgl' => $this->permissionlib->isBerechtigt('admin'),
'abbrecherStud' => $this->permissionlib->isBerechtigt('admin')
]
];*/
Events::trigger('stv_conf_students', function & () use (&$result) {
return $result;
@@ -56,7 +56,10 @@ export default {
hasAdminPermission: this.permissions['admin'],
hasPermissionToSkipStatusCheck: this.permissions['student/keine_studstatuspruefung'],
lists: this.lists,
defaultSemester: this.defaultSemester
defaultSemester: this.defaultSemester,
$reloadList: () => {
this.$refs.stvList.reload();
}
}
},
data() {
@@ -111,6 +114,10 @@ export default {
this.studiensemesterKurzbz = v;
this.$refs.stvList.updateUrl();
this.$refs.details.reload();
},
reloadList() {
console.log('reloadList2');
this.$refs.stvList.reload();
}
},
created() {
@@ -0,0 +1,19 @@
import TblMultiStatus from "./Prestudent/MultiStatus.js";
export default {
components: {
TblMultiStatus
},
props: {
modelValue: Object,
},
template: `
<div class="stv-details-details h-100 pb-3">
<div class="col-12 pb-3">
<legend>MultiStatus</legend>
<TblMultiStatus :modelValue="modelValue"></TblMultiStatus>
</div>
</div>
`
}
File diff suppressed because it is too large Load Diff
@@ -815,6 +815,42 @@ export default{
new-btn-label="Status"
@click:new="actionNewStatus"
>
<template #actions="{selected}">
<button
class="btn btn-outline-primary"
@click="actionChangeStatus(selected)"
> Status Ändern
</button>
<!-- <div class="input-group w-auto">
<form-input
type="DatePicker"
v-model="counterdate"
input-group
:enable-time-picker="false"
auto-apply
@cleared="counterdate = new Date()"
>
</form-input>
<button
class="btn btn-outline-secondary"
@click="actionCounter(selected)"
:disabled="!selected.length"
>
Gegenbuchen
</button>
</div>
<button
v-if="config.showZahlungsbestaetigung"
class="btn btn-outline-secondary"
@click="downloadPdf(selected)"
:disabled="!selected.length"
>
<i class="fa fa-download"></i> Zahlungsbestaetigung
</button>-->
</template>
</core-filter-cmpt>
</div>`
@@ -1,18 +1,25 @@
import TblStatus from "./Prestudent/Status.js";
import TblMultiStatus from "./Prestudent/MultiStatus.js";
export default {
components: {
TblStatus
TblStatus,
TblMultiStatus
},
props: {
modelValue: Object,
},
template: `
<div class="stv-details-details h-100 pb-3">
<TblMultiStatus :modelValue="modelValue"></TblMultiStatus>
</div>
<div class="stv-details-details h-100 pb-3">
<div class="col-12 pb-3">
<legend>Status</legend>
<TblStatus :prestudent_id="modelValue.prestudent_id" :studiengang_kz="modelValue.studiengang_kz"></TblStatus>
</div>
</div>
</div>
`
}
@@ -83,6 +83,9 @@ export default {
}
},
methods: {
reload() {
this.$refs.table.reloadTable();
},
actionNewPrestudent() {
this.$refs.new.open();
},