mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
Advance Status
This commit is contained in:
@@ -23,14 +23,14 @@ class Status extends FHCAPI_Controller
|
||||
'loadStatus' => ['admin:r', 'assistenz:r'],
|
||||
'insertStatus' => ['admin:rw', 'assistenz:rw'],
|
||||
'updateStatus' => ['admin:rw', 'assistenz:rw'],
|
||||
'advanceStatus' => ['admin:r', 'assistenz:r'],
|
||||
'advanceStatus' => ['admin:rw', 'assistenz:rw'],
|
||||
'confirmStatus' => ['admin:rw', 'assistenz:rw'],
|
||||
|
||||
]);
|
||||
|
||||
//Load Models
|
||||
$this->load->model('crm/Prestudentstatus_model','PrestudentstatusModel');
|
||||
$this->load->model('person/Person_model','PersonModel');
|
||||
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
|
||||
// Load Libraries
|
||||
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
|
||||
@@ -41,6 +41,7 @@ class Status extends FHCAPI_Controller
|
||||
|| $this->router->method == 'updateStatus'
|
||||
|| $this->router->method == 'confirmStatus'
|
||||
|| $this->router->method == 'deleteStatus'
|
||||
|| $this->router->method == 'advanceStatus'
|
||||
) {
|
||||
$prestudent_id = current(array_slice($this->uri->rsegments, 2));
|
||||
$this->checkPermissionsForPrestudent($prestudent_id, ['admin:rw', 'assistenz:rw']);
|
||||
@@ -1078,7 +1079,7 @@ class Status extends FHCAPI_Controller
|
||||
[
|
||||
'required',
|
||||
['status_stud_exists', function ($value) use ($prestudent_id) {
|
||||
if ($value != 'Student')
|
||||
if ($value != Prestudentstatus_model::STATUS_STUDENT)
|
||||
return true; // Only test if new status is Student
|
||||
|
||||
$result = $this->prestudentstatuschecklib->checkIfExistingStudentRolle($prestudent_id);
|
||||
@@ -1568,189 +1569,163 @@ class Status extends FHCAPI_Controller
|
||||
return $this->outputJsonSuccess(true);
|
||||
}
|
||||
|
||||
public function advanceStatus($key_prestudent_id, $key_status_kurzbz, $key_studiensemester_kurzbz, $key_ausbildungssemester)
|
||||
public function advanceStatus($prestudent_id, $status_kurzbz, $key_studiensemester_kurzbz, $key_ausbildungssemester)
|
||||
{
|
||||
//get Studiengang von prestudent_id
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
$result = $this->PrestudentModel->load([
|
||||
'prestudent_id'=> $key_prestudent_id,
|
||||
$result = $this->PrestudentstatusModel->load([
|
||||
$key_ausbildungssemester,
|
||||
$key_studiensemester_kurzbz,
|
||||
$status_kurzbz,
|
||||
$prestudent_id
|
||||
]);
|
||||
if(isError($result))
|
||||
{
|
||||
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
$result = current(getData($result));
|
||||
$oldstatus = $this->getDataOrTerminateWithError($result);
|
||||
if (!$oldstatus)
|
||||
show_404(); // Status that should be updated does not exist
|
||||
|
||||
$stg = $result->studiengang_kz;
|
||||
$oldstatus = current($oldstatus);
|
||||
|
||||
if(!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg))
|
||||
{
|
||||
return $this->terminateWithError($this->p->t('lehre','error_keineSchreibrechte'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
//Data Vorrücken
|
||||
$result = $this->PrestudentstatusModel->loadWhere(
|
||||
array(
|
||||
'prestudent_id' => $key_prestudent_id,
|
||||
'status_kurzbz' => $key_status_kurzbz,
|
||||
'ausbildungssemester' => $key_ausbildungssemester,
|
||||
'studiensemester_kurzbz' => $key_studiensemester_kurzbz
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
elseif (!hasData($result))
|
||||
{
|
||||
return $this->terminateWithError($this->p->t('lehre','error_noStatusFound'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
$statusData = current(getData($result));
|
||||
}
|
||||
|
||||
//Target studiensemester_kurzbz
|
||||
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
||||
$result = $this->StudiensemesterModel->getNextFrom($key_studiensemester_kurzbz);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
$this->output->set_status_header(REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
|
||||
return $this->outputJson(getError($result));
|
||||
}
|
||||
$studiensem_next = current(getData($result));
|
||||
$studiensem_next = $studiensem_next->studiensemester_kurzbz;
|
||||
$studiensemester_kurzbz = $this->getDataOrTerminateWithError($result);
|
||||
$studiensemester_kurzbz = current($studiensemester_kurzbz)->studiensemester_kurzbz;
|
||||
|
||||
|
||||
//Target ausbildungssemester
|
||||
$ausbildungssemester = $key_ausbildungssemester + 1;
|
||||
|
||||
$ausbildungssem_next = $key_ausbildungssemester+1;
|
||||
|
||||
//Form Validation
|
||||
$this->load->library('form_validation');
|
||||
|
||||
$this->form_validation->set_data([
|
||||
'status_kurzbz' => $status_kurzbz
|
||||
]);
|
||||
|
||||
$last_status_kurzbz = $lastStatusData->status_kurzbz; // TODO(chris): copy pasta!
|
||||
|
||||
$this->form_validation->set_rules('_global', '', [
|
||||
//check if Rolle already exists
|
||||
['checkIfExistingPrestudentRolle', function () use (
|
||||
$key_prestudent_id,
|
||||
$key_status_kurzbz,
|
||||
$studiensem_next,
|
||||
$ausbildungssem_next
|
||||
) {
|
||||
$result = $this->prestudentstatuschecklib->checkIfExistingPrestudentRolle(
|
||||
$key_prestudent_id,
|
||||
$key_status_kurzbz,
|
||||
$studiensem_next,
|
||||
$ausbildungssem_next
|
||||
);
|
||||
return $this->getDataOrTerminateWithError($result);
|
||||
}],
|
||||
['status_stud_exists', function () use ($key_prestudent_id, $key_status_kurzbz, $last_status_kurzbz) {
|
||||
if ($key_status_kurzbz != Prestudentstatus_model::STATUS_STUDENT
|
||||
&& $key_status_kurzbz != Prestudentstatus_model::STATUS_DIPLOMAND
|
||||
&& $last_status_kurzbz != Prestudentstatus_model::STATUS_STUDENT
|
||||
)
|
||||
$this->form_validation->set_rules('status_kurzbz', $this->p->t('lehre', 'status_rolle'), [
|
||||
'in_list[' .
|
||||
Prestudentstatus_model::STATUS_STUDENT . ',' .
|
||||
Prestudentstatus_model::STATUS_DIPLOMAND . ',' .
|
||||
Prestudentstatus_model::STATUS_UNTERBRECHER . ']',
|
||||
['status_stud_exists', function ($value) use ($prestudent_id) {
|
||||
if ($value != Prestudentstatus_model::STATUS_STUDENT)
|
||||
return true;
|
||||
|
||||
$result = $this->prestudentstatuschecklib->checkIfExistingStudentRolle($key_prestudent_id);
|
||||
$result = $this->prestudentstatuschecklib->checkIfExistingStudentRolle($prestudent_id);
|
||||
|
||||
return $this->getDataOrTerminateWithError($result);
|
||||
}]
|
||||
], [
|
||||
'checkIfExistingPrestudentRolle' => $this->p->t('lehre', 'error_rolleBereitsVorhanden'),
|
||||
'status_stud_exists' => $this->p->t('lehre', 'error_noStudstatus')
|
||||
]);
|
||||
|
||||
$this->form_validation->set_rules('_default', '', [
|
||||
//check if Rolle already exists
|
||||
['rolle_doesnt_exist', function () use (
|
||||
$prestudent_id,
|
||||
$status_kurzbz,
|
||||
$studiensemester_kurzbz,
|
||||
$ausbildungssemester
|
||||
) {
|
||||
$result = $this->PrestudentstatusModel->load([$ausbildungssemester, $studiensemester_kurzbz, $status_kurzbz, $prestudent_id]);
|
||||
|
||||
return !$this->getDataOrTerminateWithError($result);
|
||||
}]
|
||||
], [
|
||||
'rolle_doesnt_exist' => $this->p->t('lehre', 'error_rolleBereitsVorhanden')
|
||||
]);
|
||||
|
||||
if (!$this->form_validation->run())
|
||||
$this->terminateWithValidationErrors($this->form_validation->error_array());
|
||||
|
||||
//check if studentrolle already exists
|
||||
// if($key_status_kurzbz == Prestudentstatus_model::STATUS_STUDENT)
|
||||
// {
|
||||
// $this->load->model('crm/Student_model', 'StudentModel');
|
||||
// $result = $this->StudentModel->checkIfExistingStudentRolle($key_prestudent_id);
|
||||
// if (isError($result))
|
||||
// {
|
||||
// return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
// }
|
||||
// if ($result->retval == "0")
|
||||
// {
|
||||
// return $this->terminateWithError($this->p->t('lehre','error_noStudstatus'), self::ERROR_TYPE_GENERAL);
|
||||
// }
|
||||
// }
|
||||
|
||||
// Start DB transaction
|
||||
$this->db->trans_begin();
|
||||
|
||||
$authUID = getAuthUID();
|
||||
$now = date('c');
|
||||
|
||||
//insert prestudentstatus
|
||||
$uid = getAuthUID();
|
||||
$result = $this->PrestudentstatusModel->insert(
|
||||
[
|
||||
'prestudent_id' => $key_prestudent_id,
|
||||
'status_kurzbz' => $key_status_kurzbz,
|
||||
'studiensemester_kurzbz' => $studiensem_next,
|
||||
'ausbildungssemester' => $ausbildungssem_next,
|
||||
'insertamum' => date('c'),
|
||||
'insertvon' => $uid,
|
||||
'bestaetigtam' => date('c'),
|
||||
'bestaetigtvon' => $uid,
|
||||
'studienplan_id' => $statusData->studienplan_id,
|
||||
'datum' => date('c'),
|
||||
'anmerkung' => $statusData->anmerkung
|
||||
]
|
||||
);
|
||||
$result = $this->PrestudentstatusModel->insert([
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'status_kurzbz' => $status_kurzbz,
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'ausbildungssemester' => $ausbildungssemester,
|
||||
'datum' => $now,
|
||||
'insertamum' => $now,
|
||||
'insertvon' => $authUID,
|
||||
'orgform_kurzbz' => $oldstatus->orgform_kurzbz,
|
||||
'studienplan_id' => $oldstatus->studienplan_id,
|
||||
'bestaetigtam' => $now,
|
||||
'bestaetigtvon' => $authUID,
|
||||
'anmerkung' => $oldstatus->anmerkung
|
||||
]);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
$this->db->trans_rollback();
|
||||
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
$this->getDataOrTerminateWithError($result);
|
||||
|
||||
|
||||
//get student_uid
|
||||
$this->load->model('crm/Student_model', 'StudentModel');
|
||||
$result = $this->StudentModel->checkIfUid($key_prestudent_id);
|
||||
if(isError($result))
|
||||
{
|
||||
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
if (!hasData($result))
|
||||
{
|
||||
$this->terminateWithError($this->p->t('studierendenantrag','error_no_student_for_prestudent', ['prestudent_id' => $prestudent_id]), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
$student_uid = $result->retval;
|
||||
$result = $this->StudentModel->loadWhere([
|
||||
'prestudent_id' => $prestudent_id
|
||||
]);
|
||||
|
||||
$student = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
if (!$student)
|
||||
$this->terminateWithError($this->p->t('studierendenantrag', 'error_no_student_for_prestudent', ['prestudent_id' => $prestudent_id]));
|
||||
|
||||
|
||||
//process studentlehrverband
|
||||
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
|
||||
$result = $this->StudentlehrverbandModel->loadWhere(
|
||||
array(
|
||||
'student_uid' => $student_uid,
|
||||
'studiensemester_kurzbz' => $key_studiensemester_kurzbz
|
||||
)
|
||||
);
|
||||
if (isError($result))
|
||||
{
|
||||
$this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
$result = $this->StudentlehrverbandModel->load([
|
||||
$key_studiensemester_kurzbz,
|
||||
$student->student_uid
|
||||
]);
|
||||
|
||||
$studentlvb = $this->getDataOrTerminateWithError($result);
|
||||
if (!$studentlvb)
|
||||
$this->terminateWithError($this->p->t('lehre', 'error_noStudentlehrverband'));
|
||||
|
||||
//Data of current Semester
|
||||
$result = getData($result) ? : [];
|
||||
$studentlvbData = current($result);
|
||||
$studentlvb = current($studentlvb);
|
||||
|
||||
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
|
||||
$result = $this->StudentlehrverbandModel->processStudentlehrverband(
|
||||
$student_uid,
|
||||
$studentlvbData->studiengang_kz,
|
||||
$ausbildungssem_next,
|
||||
$studentlvbData->verband,
|
||||
$studentlvbData->gruppe,
|
||||
$studiensem_next
|
||||
);
|
||||
if ($this->db->trans_status() === false || isError($result))
|
||||
{
|
||||
$this->db->trans_rollback();
|
||||
return $this->terminateWithError($this->p->t('lehre','error_duringInsertUpdateLehrverband'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
$newStudentlvb = [
|
||||
'student_uid' => $studentlvb->student_uid,
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'studiengang_kz' => $studentlvb->studiengang_kz,
|
||||
'semester' => $studentlvb->semester,
|
||||
'verband' => $studentlvb->verband,
|
||||
'gruppe' => $studentlvb->gruppe,
|
||||
'insertamum' => $now,
|
||||
'insertvon' => $authUID,
|
||||
'ext_id' => $studentlvb->ext_id
|
||||
|
||||
];
|
||||
|
||||
|
||||
$this->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
|
||||
|
||||
$result = $this->LehrverbandModel->load([
|
||||
$student->gruppe,
|
||||
$student->verband,
|
||||
$ausbildungssemester,
|
||||
$student->studiengang_kz
|
||||
]);
|
||||
|
||||
$lv = $this->getDataOrTerminateWithError($result);
|
||||
if ($lv) {
|
||||
$newStudentlvb['semester'] = $ausbildungssemester;
|
||||
} // If there is no lehrverband just use the same as in the previous studiensemester
|
||||
|
||||
|
||||
//add studentlehrverband
|
||||
$result = $this->StudentlehrverbandModel->insert($newStudentlvb);
|
||||
|
||||
$this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->db->trans_commit();
|
||||
|
||||
return $this->outputJsonSuccess(true);
|
||||
@@ -1868,11 +1843,11 @@ class Status extends FHCAPI_Controller
|
||||
$this->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
|
||||
|
||||
$this->LehrverbandModel->addLimit(1);
|
||||
$result = $this->LehrverbandModel->loadWhere([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
'semester' => $ausbildungssemester,
|
||||
'verband' => $student->verband,
|
||||
'gruppe' => $student->gruppe
|
||||
$result = $this->LehrverbandModel->load([
|
||||
$student->gruppe,
|
||||
$student->verband,
|
||||
$ausbildungssemester,
|
||||
$student->studiengang_kz
|
||||
]);
|
||||
$lv = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
|
||||
@@ -116,59 +116,53 @@ export default{
|
||||
minWidth: 150, // Ensures Action-buttons will be always fully displayed
|
||||
formatter: (cell, formatterParams, onRendered) => {
|
||||
|
||||
let container = document.createElement('div');
|
||||
const container = document.createElement('div');
|
||||
container.className = "d-flex gap-2";
|
||||
|
||||
const data = cell.getData();
|
||||
|
||||
let button = document.createElement('button');
|
||||
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum && !this.hasPermissionToSkipStatusCheck)
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
else
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-forward"></i>';
|
||||
button.title = 'Status vorrücken';
|
||||
button.addEventListener(
|
||||
'click',
|
||||
() =>
|
||||
this.actionAdvanceStatus(cell.getData().status_kurzbz, cell.getData().studiensemester_kurzbz, cell.getData().ausbildungssemester)
|
||||
);
|
||||
container.append(button);
|
||||
|
||||
button = document.createElement('button');
|
||||
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum && !this.hasPermissionToSkipStatusCheck)
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
else
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-check"></i>';
|
||||
button.title = 'Status bestätigen';
|
||||
button.addEventListener('click', () =>
|
||||
this.actionConfirmStatus(cell.getData().status_kurzbz, cell.getData().studiensemester_kurzbz, cell.getData().ausbildungssemester)
|
||||
this.actionAdvanceStatus(data.status_kurzbz, data.studiensemester_kurzbz, data.ausbildungssemester)
|
||||
);
|
||||
if (cell.getData().bestaetigtam || !cell.getData().bewerbung_abgeschicktamum)
|
||||
if (!['Student', 'Diplomand', 'Unterbrecher'].includes(data.status_kurzbz))
|
||||
button.disabled = true;
|
||||
container.append(button);
|
||||
|
||||
button = document.createElement('button');
|
||||
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum && !this.hasPermissionToSkipStatusCheck)
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
else
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-edit"></i>';
|
||||
button.title = 'Status bearbeiten';
|
||||
button.addEventListener('click', (event) =>
|
||||
this.actionEditStatus(cell.getData().status_kurzbz, cell.getData().studiensemester_kurzbz, cell.getData().ausbildungssemester)
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-check"></i>';
|
||||
button.title = 'Status bestätigen';
|
||||
button.addEventListener('click', () =>
|
||||
this.actionConfirmStatus(data.status_kurzbz, data.studiensemester_kurzbz, data.ausbildungssemester)
|
||||
);
|
||||
if (data.bestaetigtam || !data.bewerbung_abgeschicktamum)
|
||||
button.disabled = true;
|
||||
container.append(button);
|
||||
|
||||
button = document.createElement('button');
|
||||
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum && !this.hasPermissionToSkipStatusCheck)
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
else
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-edit"></i>';
|
||||
button.title = 'Status bearbeiten';
|
||||
button.addEventListener('click', () =>
|
||||
this.actionEditStatus(data.status_kurzbz, data.studiensemester_kurzbz, data.ausbildungssemester)
|
||||
);
|
||||
if (this.dataMeldestichtag && this.dataMeldestichtag > data.datum && !this.hasPermissionToSkipStatusCheck)
|
||||
button.disabled = true;
|
||||
container.append(button);
|
||||
|
||||
button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-xmark"></i>';
|
||||
button.title = 'Status löschen';
|
||||
button.addEventListener('click', () =>
|
||||
this.actionDeleteStatus(cell.getData().status_kurzbz, cell.getData().studiensemester_kurzbz, cell.getData().ausbildungssemester)
|
||||
this.actionDeleteStatus(data.status_kurzbz, data.studiensemester_kurzbz, data.ausbildungssemester)
|
||||
);
|
||||
if (this.dataMeldestichtag && this.dataMeldestichtag > data.datum && !this.hasPermissionToSkipStatusCheck)
|
||||
button.disabled = true;
|
||||
container.append(button);
|
||||
|
||||
return container;
|
||||
@@ -291,16 +285,17 @@ export default{
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
actionAdvanceStatus(status, stdsem, ausbildungssemester) {
|
||||
this.statusId = {
|
||||
'prestudent_id': this.modelValue.prestudent_id,
|
||||
'status_kurzbz': status,
|
||||
'studiensemester_kurzbz': stdsem,
|
||||
'ausbildungssemester': ausbildungssemester
|
||||
const statusId = {
|
||||
prestudent_id: this.modelValue.prestudent_id,
|
||||
status_kurzbz: status,
|
||||
studiensemester_kurzbz: stdsem,
|
||||
ausbildungssemester: ausbildungssemester
|
||||
};
|
||||
this.loadStatus(this.statusId).then(() => {
|
||||
if(this.statusData)
|
||||
this.advanceStatus(this.statusId);
|
||||
});
|
||||
this.$fhcApi
|
||||
.post('api/frontend/v1/stv/status/advanceStatus/' + Object.values(statusId).join('/'))
|
||||
.then(() => this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successAdvance')))
|
||||
.then(this.reload)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
actionConfirmStatus(status, stdsem, ausbildungssemester) {
|
||||
BsConfirm
|
||||
@@ -316,32 +311,6 @@ export default{
|
||||
.then(this.reload)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
advanceStatus(statusId) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/status/advanceStatus/' +
|
||||
this.statusId.prestudent_id + '/' +
|
||||
this.statusId.status_kurzbz + '/' +
|
||||
this.statusId.studiensemester_kurzbz + '/' +
|
||||
this.statusId.ausbildungssemester)
|
||||
.then(
|
||||
result => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successAdvance'));
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError)
|
||||
.finally(() => {
|
||||
window.scrollTo(0, 0);
|
||||
this.reload();
|
||||
});
|
||||
},
|
||||
loadStatus(status_id) {
|
||||
this.statusNew = false;
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/status/loadStatus/',
|
||||
status_id)
|
||||
.then(result => {
|
||||
this.statusData = result.data;
|
||||
return result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
reload() {
|
||||
if (this.$refs.table)
|
||||
this.$refs.table.reloadTable();
|
||||
|
||||
Reference in New Issue
Block a user