Bug: Studierenden-Ansicht: Abmeldung bearbeiten bei mehrfachen Abmeldungen

This commit is contained in:
cgfhtw
2023-07-13 14:44:51 +02:00
parent c8fc6c747f
commit 9d0801676d
3 changed files with 23 additions and 8 deletions
@@ -57,13 +57,17 @@ class Abmeldung extends FHC_Controller
}
elseif ($result == -1)
{
$result = $this->antraglib->getDetailsForLastAntrag($prestudent_id, Studierendenantrag_model::TYP_ABMELDUNG);
$result = $this->antraglib->getDetailsForLastAntrag($prestudent_id, [Studierendenantrag_model::TYP_ABMELDUNG, Studierendenantrag_model::TYP_ABMELDUNG_STGL]);
if (isError($result)) {
return $this->outputJsonError(getError($result));
}
$data = getData($result);
$data->canCancel = (boolean)$this->antraglib->isEntitledToCancelAntrag($data->studierendenantrag_id);
$data->canCancel = (
$data->status == Studierendenantragstatus_model::STATUS_CREATED &&
$this->antraglib->isEntitledToCancelAntrag($data->studierendenantrag_id)
);
return $this->outputJsonSuccess($data);
}
@@ -87,7 +91,7 @@ class Abmeldung extends FHC_Controller
$data = getData($result);
if ($data->typ !== Studierendenantrag_model::TYP_ABMELDUNG_STGL)
if ($data->typ !== Studierendenantrag_model::TYP_ABMELDUNG_STGL && $data->typ !== Studierendenantrag_model::TYP_ABMELDUNG)
return show_404();
$this->outputJsonSuccess($data);
+6 -2
View File
@@ -1204,8 +1204,12 @@ class AntragLib
$where = [
'prestudent_id' => $prestudent_id
];
if ($typ)
$where['typ'] = $typ;
if ($typ) {
if (is_array($typ))
$this->_ci->StudierendenantragModel->db->where_in('typ', $typ);
else
$where['typ'] = $typ;
}
$result = $this->_ci->StudierendenantragModel->loadWithStatusWhere($where);
if (isError($result))
return $result;
@@ -15,7 +15,8 @@ export default {
'setStatus'
],
props: {
prestudentId: Number
prestudentId: Number,
studierendenantragId: Number
},
data() {
return {
@@ -35,6 +36,13 @@ export default {
case 'Genehmigt': return 'success';
default: return 'info';
}
},
loadUrl() {
if (this.studierendenantragId)
return '/components/Antrag/Abmeldung/getDetailsForAntrag/'+
this.studierendenantragId;
return '/components/Antrag/Abmeldung/getDetailsForNewAntrag/' +
this.prestudentId;
}
},
methods: {
@@ -42,8 +50,7 @@ export default {
return axios.get(
FHC_JS_DATA_STORAGE_OBJECT.app_root +
FHC_JS_DATA_STORAGE_OBJECT.ci_router +
'/components/Antrag/Abmeldung/getDetailsForNewAntrag/' +
this.prestudentId
this.loadUrl
).then(
result => {
this.data = result.data.retval;