mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 23:42:17 +00:00
manage Bismeldestichtage: added possibility to delete a report target date
This commit is contained in:
@@ -15,8 +15,9 @@ class Bismeldestichtag extends Auth_Controller
|
||||
parent::__construct(
|
||||
array(
|
||||
'index' => 'admin:r',
|
||||
'getStudiensemester' => 'admin:r',
|
||||
'addBismeldestichtag' => 'admin:rw',
|
||||
'getStudiensemester' => 'admin:r'
|
||||
'deleteBismeldestichtag' => 'admin:rw'
|
||||
)
|
||||
);
|
||||
|
||||
@@ -105,4 +106,41 @@ class Bismeldestichtag extends Auth_Controller
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteBismeldestichtag()
|
||||
{
|
||||
// get request data
|
||||
$request = $this->getPostJSON();
|
||||
|
||||
// check request data
|
||||
if (!property_exists($request, 'meldestichtag') || isEmptyString($request->meldestichtag))
|
||||
$this->terminateWithJsonError('Error occured: Meldestichtag missing');
|
||||
if (!property_exists($request, 'studiensemester_kurzbz') || isEmptyString($request->studiensemester_kurzbz))
|
||||
$this->terminateWithJsonError('Error occured: Studiensemester missing');
|
||||
|
||||
$meldestichtag = $request->meldestichtag;
|
||||
$studiensemester_kurzbz = $request->studiensemester_kurzbz;
|
||||
|
||||
// check if Bismeldestichtag already exists
|
||||
$this->BismeldestichtagModel->addSelect('meldestichtag_id');
|
||||
$bismeldestichtagRes = $this->BismeldestichtagModel->loadWhere(
|
||||
array('meldestichtag' => $meldestichtag, 'studiensemester_kurzbz' => $studiensemester_kurzbz)
|
||||
);
|
||||
|
||||
if (hasData($bismeldestichtagRes))
|
||||
{
|
||||
$meldestichtag_id = getData($bismeldestichtagRes)[0]->meldestichtag_id;
|
||||
|
||||
// delete if Stichtag does exist
|
||||
$this->outputJson($this->BismeldestichtagModel->delete(
|
||||
array('meldestichtag_id' => $meldestichtag_id)
|
||||
));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// return error if not exists
|
||||
$this->outputJsonError('Bismeldestichtag does not exist');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,16 +35,25 @@
|
||||
<verticalsplit>
|
||||
<template #top>
|
||||
<!-- input fields -->
|
||||
<div class="input-group">
|
||||
<input type="date" class="form-control" name="meldestichtag" v-model="meldestichtag">
|
||||
<select class="form-control" name="studiensemester_kurzbz" v-model="currSem">
|
||||
<option v-for="sem in semList" :value="sem.studiensemester_kurzbz">
|
||||
{{ sem.studiensemester_kurzbz }}
|
||||
</option>
|
||||
</select>
|
||||
<div class="input-group-btn">
|
||||
<button type="button" class="btn btn-secondary" @click="handlerAddBismeldestichtag">
|
||||
<?php echo $this->p->t('bismeldestichtag', 'stichtagHinzufuegen') ?>
|
||||
<div class="row">
|
||||
<div class="col-9">
|
||||
<div class="input-group">
|
||||
<input type="date" class="form-control" name="meldestichtag" v-model="meldestichtag">
|
||||
<select class="form-control" name="studiensemester_kurzbz" v-model="currSem">
|
||||
<option v-for="sem in semList" :value="sem.studiensemester_kurzbz">
|
||||
{{ sem.studiensemester_kurzbz }}
|
||||
</option>
|
||||
</select>
|
||||
<div class="input-group-btn">
|
||||
<button type="button" class="btn btn-dark" @click="handlerAddBismeldestichtag">
|
||||
<?php echo $this->p->t('bismeldestichtag', 'stichtagHinzufuegen') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3 text-center">
|
||||
<button type="button" class="btn btn-dark" @click="handlerDeleteBismeldestichtag">
|
||||
<?php echo $this->p->t('bismeldestichtag', 'stichtagLoeschen') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -47,6 +47,18 @@ export const BismeldestichtagAPIs = {
|
||||
timeout: CORE_BISMELDESTICHTAG_CMPT_TIMEOUT
|
||||
}
|
||||
);
|
||||
},
|
||||
deleteBismeldestichtag: function(wsParams) {
|
||||
return CoreRESTClient.post(
|
||||
'codex/Bismeldestichtag/deleteBismeldestichtag',
|
||||
{
|
||||
meldestichtag: wsParams.meldestichtag,
|
||||
studiensemester_kurzbz: wsParams.studiensemester_kurzbz
|
||||
},
|
||||
{
|
||||
timeout: CORE_BISMELDESTICHTAG_CMPT_TIMEOUT
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ const bismeldestichtagApp = Vue.createApp({
|
||||
);
|
||||
},
|
||||
/**
|
||||
* Define Bismeldestichtag call and method to be executed after the call
|
||||
* Define add Bismeldestichtag call and method to be executed after the call
|
||||
*/
|
||||
handlerAddBismeldestichtag: function(event) {
|
||||
this.startFetchCmpt(
|
||||
@@ -77,6 +77,19 @@ const bismeldestichtagApp = Vue.createApp({
|
||||
this.fetchCmptDataFetchedAddBismeldestichtag
|
||||
);
|
||||
},
|
||||
/**
|
||||
* Define delete Bismeldestichtag call and method to be executed after the call
|
||||
*/
|
||||
handlerDeleteBismeldestichtag: function(event) {
|
||||
this.startFetchCmpt(
|
||||
BismeldestichtagAPIs.deleteBismeldestichtag,
|
||||
{
|
||||
meldestichtag: this.meldestichtag,
|
||||
studiensemester_kurzbz: this.currSem
|
||||
},
|
||||
this.fetchCmptDataFetchedDeleteBismeldestichtag
|
||||
);
|
||||
},
|
||||
/**
|
||||
* Called after Studiensemester response is received
|
||||
*/
|
||||
@@ -92,7 +105,7 @@ const bismeldestichtagApp = Vue.createApp({
|
||||
alert("No response data");
|
||||
},
|
||||
/**
|
||||
* Called after Bismeldestichtag response is received
|
||||
* Called after Add Bismeldestichtag response is received
|
||||
*/
|
||||
fetchCmptDataFetchedAddBismeldestichtag: function(data) {
|
||||
if (CoreRESTClient.isError(data))
|
||||
@@ -105,6 +118,20 @@ const bismeldestichtagApp = Vue.createApp({
|
||||
else
|
||||
alert("No response data");
|
||||
},
|
||||
/**
|
||||
* Called after Add Bismeldestichtag response is received
|
||||
*/
|
||||
fetchCmptDataFetchedDeleteBismeldestichtag: function(data) {
|
||||
if (CoreRESTClient.isError(data))
|
||||
alert(CoreRESTClient.getError(data));
|
||||
else if (CoreRESTClient.hasData(data))
|
||||
{
|
||||
window.location.reload();
|
||||
alert("Successfully deletted Bismeldestichtag");
|
||||
}
|
||||
else
|
||||
alert("No response data");
|
||||
},
|
||||
/**
|
||||
* Used to start/refresh the FetchCmpt
|
||||
*/
|
||||
|
||||
@@ -18163,6 +18163,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'bismeldestichtag',
|
||||
'phrase' => 'stichtagLoeschen',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Meldestichtag löschen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Delete report target date',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user