mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'feature-47784/FHC-4/CleanupTasks' into merge_FHC4_C4
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
$config['tabs'] =
|
||||
[
|
||||
'details' => [
|
||||
//all fields can be configured to be hidden, see class attribute stv-details-details-name for name
|
||||
'hiddenFields' => [],
|
||||
'hideUDFs' => false
|
||||
],
|
||||
|
||||
'prestudent' => [
|
||||
|
||||
//all fields can be configured to be hidden, see class attribute stv-details-prestudent-name for name
|
||||
'hiddenFields' => [
|
||||
|
||||
//propably used by FH-Communities
|
||||
'aufnahmeschluessel', 'standort_code', 'facheinschlaegigBerufstaetig'
|
||||
|
||||
],
|
||||
'hideUDFs' => false
|
||||
]
|
||||
];
|
||||
|
||||
// List of fields to show when ZGV_DOKTOR_ANZEIGEN is defined
|
||||
$fieldsZgvDoktor = ['zgvdoktorort', 'zgvdoktordatum', 'zgvdoktornation', 'zgvdoktor_erfuellt', 'zgvdoktor_code'];
|
||||
|
||||
// List of fields to show when ZGV_ERFUELLT_ANZEIGEN is defined
|
||||
$fieldsZgvErfuellt = ['zgv_erfuellt', 'zgvmas_erfuellt','zgvdoktor_erfuellt'];
|
||||
|
||||
//order important: to show zgf_erfuellt_doktor just in case visibility of doktor is true
|
||||
if (!defined('ZGV_ERFUELLT_ANZEIGEN') || !ZGV_ERFUELLT_ANZEIGEN) {
|
||||
$config['tabs']['prestudent']['hiddenFields'] = array_merge(
|
||||
$config['tabs']['prestudent']['hiddenFields'], $fieldsZgvErfuellt
|
||||
);
|
||||
}
|
||||
|
||||
if (!defined('ZGV_DOKTOR_ANZEIGEN') || !ZGV_DOKTOR_ANZEIGEN) {
|
||||
$config['tabs']['prestudent']['hiddenFields'] = array_merge(
|
||||
$config['tabs']['prestudent']['hiddenFields'],
|
||||
$fieldsZgvDoktor
|
||||
);
|
||||
}
|
||||
@@ -45,7 +45,7 @@ class Address extends FHCAPI_Controller
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
public function getPlaces($plz)
|
||||
public function getPlaces($plz = null)
|
||||
{
|
||||
$this->load->model('codex/Gemeinde_model', 'GemeindeModel');
|
||||
|
||||
@@ -53,7 +53,7 @@ class Address extends FHCAPI_Controller
|
||||
|
||||
$this->form_validation->set_data(['address.plz' => $plz]);
|
||||
|
||||
$this->form_validation->set_rules('address.plz', 'PLZ', 'numeric|less_than[10000]');
|
||||
$this->form_validation->set_rules('address.plz', 'PLZ', 'required|numeric|less_than[10000]');
|
||||
|
||||
if (!$this->form_validation->run())
|
||||
$this->terminateWithValidationErrors($this->form_validation->error_array());
|
||||
|
||||
@@ -46,14 +46,20 @@ class Config extends FHCAPI_Controller
|
||||
'stv',
|
||||
'konto'
|
||||
]);
|
||||
|
||||
// Load Config
|
||||
$this->load->config('stv');
|
||||
}
|
||||
|
||||
public function student()
|
||||
{
|
||||
$result = [];
|
||||
$config = $this->config->item('tabs');
|
||||
|
||||
$result['details'] = [
|
||||
'title' => $this->p->t('stv', 'tab_details'),
|
||||
'component' => './Stv/Studentenverwaltung/Details/Details.js'
|
||||
'component' => './Stv/Studentenverwaltung/Details/Details.js',
|
||||
'config' => $config['details']
|
||||
];
|
||||
$result['notes'] = [
|
||||
'title' => $this->p->t('stv', 'tab_notes'),
|
||||
@@ -69,7 +75,8 @@ class Config extends FHCAPI_Controller
|
||||
];
|
||||
$result['prestudent'] = [
|
||||
'title' => $this->p->t('stv', 'tab_prestudent'),
|
||||
'component' => './Stv/Studentenverwaltung/Details/Prestudent.js'
|
||||
'component' => './Stv/Studentenverwaltung/Details/Prestudent.js',
|
||||
'config' => $config['prestudent']
|
||||
];
|
||||
$result['status'] = [
|
||||
'title' => 'Status',
|
||||
|
||||
@@ -97,7 +97,14 @@ class Kontakt extends FHCAPI_Controller
|
||||
|| $this->router->method == 'deleteContact'
|
||||
|| $this->router->method == 'deleteBankverbindung'
|
||||
) {
|
||||
$id = current(array_slice($this->uri->rsegments, 2));
|
||||
if($this->input->post('address_id'))
|
||||
$id = $this->input->post('address_id');
|
||||
if($this->input->post('adresse_id'))
|
||||
$id = $this->input->post('adresse_id');
|
||||
if($this->input->post('bankverbindung_id'))
|
||||
$id = $this->input->post('bankverbindung_id');
|
||||
if($this->input->post('kontakt_id'))
|
||||
$id = $this->input->post('kontakt_id');
|
||||
|
||||
$model = 'person/Adresse_model';
|
||||
if ($this->router->method == 'loadContact'
|
||||
@@ -125,7 +132,12 @@ class Kontakt extends FHCAPI_Controller
|
||||
}
|
||||
public function getAdressen($person_id)
|
||||
{
|
||||
$this->AdresseModel->addSelect('public.tbl_adresse.*');
|
||||
$this->AdresseModel->addSelect("public.tbl_adresse.*,
|
||||
TO_CHAR (CASE
|
||||
WHEN public.tbl_adresse.updateamum >= public.tbl_adresse.insertamum
|
||||
THEN public.tbl_adresse.updateamum
|
||||
ELSE public.tbl_adresse.insertamum
|
||||
END::timestamp, 'DD.MM.YYYY HH24:MI:SS') AS lastUpdate");
|
||||
$this->AdresseModel->addSelect('t.*');
|
||||
$this->AdresseModel->addSelect('f.firma_id');
|
||||
$this->AdresseModel->addSelect('f.name as firmenname');
|
||||
@@ -143,15 +155,19 @@ class Kontakt extends FHCAPI_Controller
|
||||
|
||||
public function addNewAddress($person_id)
|
||||
{
|
||||
$this->form_validation->set_rules('plz', 'PLZ', 'required|numeric', [
|
||||
$this->form_validation->set_data(['address.plz' => $_POST['plz']]);
|
||||
|
||||
$this->form_validation->set_rules('address.plz', 'PLZ', 'required|numeric', [
|
||||
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'PLZ']),
|
||||
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'PLZ'])
|
||||
]);
|
||||
|
||||
if(isset($_POST['gemeinde']) && isset($_POST['ort']))
|
||||
$this->form_validation->set_rules('plz', 'Postleitzahl', 'callback_validateLocationCombination', [
|
||||
'validateLocationCombination' => $this->p->t('ui', 'error_location_combination')
|
||||
]);
|
||||
if(isset($_POST['gemeinde']) && isset($_POST['ort']) && isset($_POST['nation']) && $_POST['nation'] == 'A')
|
||||
{
|
||||
$this->form_validation->set_rules('address.plz', 'Postleitzahl', 'callback_validateLocationCombination', [
|
||||
'validateLocationCombination' => $this->p->t('ui', 'error_location_combination')
|
||||
]);
|
||||
}
|
||||
|
||||
if ($this->form_validation->run() == false)
|
||||
{
|
||||
@@ -196,25 +212,33 @@ class Kontakt extends FHCAPI_Controller
|
||||
|
||||
]
|
||||
);
|
||||
if (isError($result))
|
||||
{
|
||||
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
return $this->outputJsonSuccess(true);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
public function updateAddress($address_id)
|
||||
public function updateAddress()
|
||||
{
|
||||
$address_id = $this->input->post('adresse_id');
|
||||
|
||||
$this->form_validation->set_data(['address.plz' => $_POST['plz']]);
|
||||
|
||||
$uid = getAuthUID();
|
||||
$this->form_validation->set_rules('plz', 'PLZ', 'required|numeric', [
|
||||
|
||||
$this->form_validation->set_rules('address.plz', 'PLZ', 'required|numeric', [
|
||||
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'PLZ']),
|
||||
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'PLZ'])
|
||||
]);
|
||||
|
||||
if(isset($_POST['gemeinde']) && isset($_POST['ort']))
|
||||
$this->form_validation->set_rules('plz', 'Postleitzahl', 'callback_validateLocationCombination', [
|
||||
if(isset($_POST['gemeinde']) && ($_POST['gemeinde'] != '')
|
||||
&& isset($_POST['ort']) && ($_POST['ort'] != '')
|
||||
&& isset($_POST['nation']) && ($_POST['nation'] == 'A')
|
||||
&& isset($_POST['plz']) && ($_POST['plz'] != '') )
|
||||
{
|
||||
$this->form_validation->set_rules('address.plz', 'Postleitzahl', 'callback_validateLocationCombination', [
|
||||
'validateLocationCombination' => $this->p->t('ui', 'error_location_combination')
|
||||
]);
|
||||
}
|
||||
|
||||
if ($this->form_validation->run() == false)
|
||||
{
|
||||
@@ -272,15 +296,15 @@ class Kontakt extends FHCAPI_Controller
|
||||
]
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
return $this->outputJsonSuccess(true);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
public function loadAddress($adresse_id)
|
||||
public function loadAddress()
|
||||
{
|
||||
$adresse_id = $this->input->post('address_id');
|
||||
|
||||
$this->load->model('person/Adresse_model', 'AdresseModel');
|
||||
|
||||
$this->AdresseModel->addSelect('public.tbl_adresse.*');
|
||||
@@ -306,8 +330,10 @@ class Kontakt extends FHCAPI_Controller
|
||||
$this->terminateWithSuccess(current(getData($result)) ? : null);
|
||||
}
|
||||
|
||||
public function deleteAddress($adresse_id)
|
||||
public function deleteAddress()
|
||||
{
|
||||
$adresse_id = $this->input->post('address_id');
|
||||
|
||||
$this->load->model('person/Adresse_model', 'AdresseModel');
|
||||
$result = $this->AdresseModel->load([
|
||||
'adresse_id'=> $adresse_id,
|
||||
@@ -366,10 +392,10 @@ class Kontakt extends FHCAPI_Controller
|
||||
$this->load->model('organisation/standort_model', 'StandortModel');
|
||||
|
||||
$result = $this->StandortModel->searchStandorte($searchString);
|
||||
if (isError($result)) {
|
||||
$this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
$this->terminateWithSuccess($result ?: []);
|
||||
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
public function getStandorteByFirma($firma_id)
|
||||
@@ -418,8 +444,9 @@ class Kontakt extends FHCAPI_Controller
|
||||
}
|
||||
}
|
||||
|
||||
public function loadContact($kontakt_id)
|
||||
public function loadContact()
|
||||
{
|
||||
$kontakt_id = $this->input->post('kontakt_id');
|
||||
$this->load->model('person/Kontakt_model', 'KontaktModel');
|
||||
|
||||
$this->KontaktModel->addSelect('*, public.tbl_kontakt.*');
|
||||
@@ -439,7 +466,6 @@ class Kontakt extends FHCAPI_Controller
|
||||
{
|
||||
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Kontakt_id']), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
// $this->outputJsonSuccess(current(getData($result)));
|
||||
$this->terminateWithSuccess(current(getData($result)));
|
||||
}
|
||||
|
||||
@@ -495,8 +521,9 @@ class Kontakt extends FHCAPI_Controller
|
||||
return $this->outputJsonSuccess(true);
|
||||
}
|
||||
|
||||
public function updateContact($kontakt_id)
|
||||
public function updateContact()
|
||||
{
|
||||
$kontakt_id = $this->input->post('kontakt_id');
|
||||
$this->load->model('person/Kontakt_model', 'KontaktModel');
|
||||
|
||||
if(!$kontakt_id)
|
||||
@@ -523,13 +550,6 @@ class Kontakt extends FHCAPI_Controller
|
||||
$this->terminateWithValidationErrors($this->form_validation->error_array());
|
||||
}
|
||||
|
||||
/* if(isset($_POST['standort']))
|
||||
{
|
||||
$standort_id = $_POST['standort']['standort_id'];
|
||||
}
|
||||
else
|
||||
$standort_id = null;*/
|
||||
|
||||
$uid = getAuthUID();
|
||||
$kontakttyp = $this->input->post('kontakttyp');
|
||||
$anmerkung = $this->input->post('anmerkung');
|
||||
@@ -538,8 +558,6 @@ class Kontakt extends FHCAPI_Controller
|
||||
$person_id = $this->input->post('person_id');
|
||||
$standort_id = $this->input->post('standort_id');
|
||||
|
||||
//return $this->terminateWithError("in update " . $standort_id, self::ERROR_TYPE_GENERAL);
|
||||
|
||||
$result = $this->KontaktModel->update(
|
||||
[
|
||||
'kontakt_id' => $kontakt_id
|
||||
@@ -557,15 +575,14 @@ class Kontakt extends FHCAPI_Controller
|
||||
]
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
return $this->outputJsonSuccess(true);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
public function deleteContact($kontakt_id)
|
||||
public function deleteContact()
|
||||
{
|
||||
$kontakt_id = $this->input->post('kontakt_id');
|
||||
$this->load->model('person/Kontakt_model', 'KontaktModel');
|
||||
|
||||
$result = $this->KontaktModel->delete(
|
||||
@@ -643,15 +660,15 @@ class Kontakt extends FHCAPI_Controller
|
||||
'orgform_kurzbz' => $orgform_kurzbz
|
||||
]
|
||||
);
|
||||
if (isError($result))
|
||||
{
|
||||
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
return $this->outputJsonSuccess(true);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
public function loadBankverbindung($bankverbindung_id)
|
||||
public function loadBankverbindung()
|
||||
{
|
||||
$bankverbindung_id = $this->input->post('bankverbindung_id');
|
||||
|
||||
$this->load->model('person/Bankverbindung_model', 'BankverbindungModel');
|
||||
|
||||
$this->BankverbindungModel->addSelect('*');
|
||||
@@ -719,15 +736,15 @@ class Kontakt extends FHCAPI_Controller
|
||||
]
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
return $this->outputJsonSuccess(true);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
public function deleteBankverbindung($bankverbindung_id)
|
||||
public function deleteBankverbindung()
|
||||
{
|
||||
$bankverbindung_id = $this->input->post('bankverbindung_id');
|
||||
|
||||
$this->load->model('person/Bankverbindung_model', 'BankverbindungModel');
|
||||
|
||||
$result = $this->BankverbindungModel->delete(
|
||||
|
||||
@@ -19,6 +19,7 @@ class Prestudent extends FHCAPI_Controller
|
||||
'getAufmerksamdurch' => ['admin:r', 'assistenz:r'],
|
||||
'getBerufstaetigkeit' => ['admin:r', 'assistenz:r'],
|
||||
'getTypenStg' => ['admin:r', 'assistenz:r'],
|
||||
'getBisstandort' => ['admin:r', 'assistenz:r'],
|
||||
'getStudienplaene' => ['admin:r', 'assistenz:r'],
|
||||
'getStudiengang' => ['admin:r', 'assistenz:r']
|
||||
]);
|
||||
@@ -265,6 +266,17 @@ class Prestudent extends FHCAPI_Controller
|
||||
return $this->terminateWithSuccess(getData($result) ?: []);
|
||||
}
|
||||
|
||||
public function getBisstandort()
|
||||
{
|
||||
$this->load->model('codex/Bisstandort_model', 'BisstandortModel');
|
||||
|
||||
$result = $this->BisstandortModel->load();
|
||||
if (isError($result)) {
|
||||
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
return $this->terminateWithSuccess(getData($result) ?: []);
|
||||
}
|
||||
|
||||
public function getStudienplaene($prestudent_id)
|
||||
{
|
||||
$this->load->model('organisation/Studienplan_model', 'StudienplanModel');
|
||||
|
||||
@@ -647,15 +647,8 @@ class Status extends FHCAPI_Controller
|
||||
return $this->outputJsonSuccess(true);
|
||||
}
|
||||
|
||||
public function loadStatus()
|
||||
public function loadStatus($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
{
|
||||
$_POST = json_decode(utf8_encode($this->input->raw_input_stream), true);
|
||||
|
||||
$prestudent_id = $this->input->post('prestudent_id');
|
||||
$status_kurzbz = $this->input->post('status_kurzbz');
|
||||
$ausbildungssemester = $this->input->post('ausbildungssemester');
|
||||
$studiensemester_kurzbz = $this->input->post('studiensemester_kurzbz');
|
||||
|
||||
$result = $this->PrestudentstatusModel->loadWhere(
|
||||
array(
|
||||
'prestudent_id' => $prestudent_id,
|
||||
|
||||
@@ -55,7 +55,7 @@ class Student extends FHCAPI_Controller
|
||||
|
||||
// Load language phrases
|
||||
$this->loadPhrases([
|
||||
'ui'
|
||||
'ui', 'lehre'
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -223,12 +223,10 @@ class Student extends FHCAPI_Controller
|
||||
|
||||
// Check PKs
|
||||
if (count($update_lehrverband) + count($update_student) && $uid === null) {
|
||||
// TODO(chris): phrase
|
||||
$this->terminateWithValidationErrors(['' => "Kein/e StudentIn vorhanden!"]);
|
||||
$this->terminateWithValidationErrors(['' => $this->p->t('lehre', 'error_no_student')]);
|
||||
}
|
||||
if (count($update_person) && $person_id === null) {
|
||||
// TODO(chris): phrase
|
||||
$this->terminateWithValidationErrors(['' => "Keine Person vorhanden!"]);
|
||||
$this->terminateWithValidationErrors(['' => $this->p->t('lehre', 'error_no_person')]);
|
||||
}
|
||||
|
||||
// Do Updates
|
||||
|
||||
@@ -309,6 +309,7 @@ abstract class Notiz_Controller extends FHCAPI_Controller
|
||||
}
|
||||
|
||||
//update(1) loading all dms-entries with this notiz_id
|
||||
$dms_id_arr = [];
|
||||
$this->load->model('person/Notizdokument_model', 'NotizdokumentModel');
|
||||
$this->NotizdokumentModel->addJoin('campus.tbl_dms_version', 'dms_id');
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
class Bisstandort_model extends DB_Model
|
||||
{
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'bis.tbl_bisstandort';
|
||||
$this->pk = 'standort_code';
|
||||
}
|
||||
}
|
||||
@@ -34,8 +34,10 @@
|
||||
<?php
|
||||
$configArray = [
|
||||
'generateAlias' => !defined('GENERATE_ALIAS_STUDENT') ? true : GENERATE_ALIAS_STUDENT,
|
||||
'showZgvDoktor' => !defined('ZGV_DOKTOR_ANZEIGEN') ? false : ZGV_DOKTOR_ANZEIGEN,
|
||||
'showZgvErfuellt' => !defined('ZGV_ERFUELLT_ANZEIGEN') ? false : ZGV_ERFUELLT_ANZEIGEN
|
||||
|
||||
//replaced by possibility to hide each formular field via config stv.php
|
||||
#'showZgvDoktor' => !defined('ZGV_DOKTOR_ANZEIGEN') ? false : ZGV_DOKTOR_ANZEIGEN,
|
||||
#'showZgvErfuellt' => !defined('ZGV_ERFUELLT_ANZEIGEN') ? false : ZGV_ERFUELLT_ANZEIGEN
|
||||
];
|
||||
?>
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ export default {
|
||||
getUid(){
|
||||
return this.$fhcApi.get('api/frontend/v1/notiz/notizPerson/getUid/');
|
||||
},
|
||||
addNewNotiz(id, formData) {
|
||||
return this.$fhcApi.post('api/frontend/v1/notiz/notizPerson/addNewNotiz/' + id,
|
||||
addNewNotiz(form, id, formData) {
|
||||
return this.$fhcApi.post(form,'api/frontend/v1/notiz/notizPerson/addNewNotiz/' + id,
|
||||
formData
|
||||
);
|
||||
},
|
||||
@@ -27,8 +27,8 @@ export default {
|
||||
id
|
||||
});
|
||||
},
|
||||
updateNotiz(notiz_id, formData){
|
||||
return this.$fhcApi.post('api/frontend/v1/notiz/notizPerson/updateNotiz/' + notiz_id,
|
||||
updateNotiz(form, notiz_id, formData){
|
||||
return this.$fhcApi.post(form,'api/frontend/v1/notiz/notizPerson/updateNotiz/' + notiz_id,
|
||||
formData
|
||||
);
|
||||
},
|
||||
|
||||
@@ -2,12 +2,20 @@ import verband from './stv/verband.js';
|
||||
import students from './stv/students.js';
|
||||
import filter from './stv/filter.js';
|
||||
import konto from './stv/konto.js';
|
||||
import kontakt from './stv/kontakt.js';
|
||||
import prestudent from './stv/prestudent.js';
|
||||
import status from './stv/status.js';
|
||||
import details from './stv/details.js';
|
||||
|
||||
export default {
|
||||
verband,
|
||||
students,
|
||||
filter,
|
||||
konto,
|
||||
kontakt,
|
||||
prestudent,
|
||||
status,
|
||||
details,
|
||||
configStudent() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/config/student');
|
||||
},
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
export default {
|
||||
get(prestudent_id) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/student/get/' + prestudent_id);
|
||||
},
|
||||
save(prestudent_id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/student/save/' + prestudent_id,
|
||||
data
|
||||
);
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
export default {
|
||||
//------------- address.js-----------
|
||||
getAdressen (url, config, params){
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/getAdressen/' + params.id);
|
||||
},
|
||||
addNewAddress(id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/addNewAddress/' + id,
|
||||
data
|
||||
);
|
||||
},
|
||||
loadAddress(address_id){
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/loadAddress/', {address_id});
|
||||
},
|
||||
updateAddress(address_id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/updateAddress/' + address_id,
|
||||
data
|
||||
);
|
||||
},
|
||||
deleteAddress(address_id) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteAddress/', {address_id});
|
||||
},
|
||||
getPlaces(plz) {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/address/getPlaces/' + plz);
|
||||
},
|
||||
getFirmen(searchString) {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/getFirmen/' + searchString);
|
||||
},
|
||||
getNations() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/address/getNations/');
|
||||
},
|
||||
getAdressentypen() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/getAdressentypen/');
|
||||
},
|
||||
|
||||
//------------- bankverbindung.js-----------
|
||||
getBankverbindung (url, config, params){
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/getBankverbindung/' + params.id);
|
||||
},
|
||||
addNewBankverbindung(id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/addNewBankverbindung/' + id,
|
||||
data
|
||||
);
|
||||
},
|
||||
loadBankverbindung(bankverbindung_id){
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/loadBankverbindung/', {bankverbindung_id});
|
||||
},
|
||||
updateBankverbindung(bankverbindung_id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/updateBankverbindung/' + bankverbindung_id,
|
||||
data
|
||||
);
|
||||
},
|
||||
deleteBankverbindung(bankverbindung_id) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteBankverbindung/', {bankverbindung_id});
|
||||
},
|
||||
|
||||
//------------- contact.js-----------
|
||||
getKontakte (url, config, params){
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/getKontakte/' + params.id);
|
||||
},
|
||||
addNewContact(id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/addNewContact/' + id,
|
||||
data
|
||||
);
|
||||
},
|
||||
loadContact(kontakt_id){
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/loadContact/', {kontakt_id});
|
||||
},
|
||||
updateContact(kontakt_id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/updateContact/' + kontakt_id,
|
||||
data
|
||||
);
|
||||
},
|
||||
deleteContact(kontakt_id) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteContact/', {kontakt_id});
|
||||
},
|
||||
getStandorteByFirma(searchString){
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/getStandorteByFirma/' + searchString);
|
||||
},
|
||||
getKontakttypen(){
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/getKontakttypen/');
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,84 @@
|
||||
export default {
|
||||
|
||||
//------------- Prestudent.js------------------------------------------------------
|
||||
|
||||
get(prestudent_id){
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/prestudent/get/' + prestudent_id);
|
||||
},
|
||||
updatePrestudent(prestudent_id, data){
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/prestudent/updatePrestudent/' + prestudent_id,
|
||||
data
|
||||
);
|
||||
},
|
||||
getBezeichnungZGV() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBezeichnungZGV/');
|
||||
},
|
||||
getBezeichnungMZgv() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBezeichnungMZgv/');
|
||||
},
|
||||
getBezeichnungDZgv() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBezeichnungDZgv/');
|
||||
},
|
||||
getStgs() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/lists/getStgs/');
|
||||
},
|
||||
getAusbildung() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getAusbildung/');
|
||||
},
|
||||
getAufmerksamdurch() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getAufmerksamdurch/');
|
||||
},
|
||||
getBerufstaetigkeit() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBerufstaetigkeit/');
|
||||
},
|
||||
getTypenStg() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getTypenStg/');
|
||||
},
|
||||
getBisstandort() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBisstandort/');
|
||||
},
|
||||
|
||||
//------------- MultiStatus.js------------------------------------------------------
|
||||
getHistoryPrestudent (url, config, params){
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/status/getHistoryPrestudent/' + params.id);
|
||||
},
|
||||
getMaxSem(studiengang_kzs) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/status/getMaxSemester/', {studiengang_kzs});
|
||||
},
|
||||
advanceStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/status/advanceStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester
|
||||
);
|
||||
},
|
||||
confirmStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/status/confirmStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester
|
||||
);
|
||||
},
|
||||
isLastStatus(id) {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/status/isLastStatus/' + id);
|
||||
},
|
||||
deleteStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/status/deleteStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester
|
||||
);
|
||||
},
|
||||
getLastBismeldestichtag() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/status/getLastBismeldestichtag/');
|
||||
},
|
||||
|
||||
//------------- History.js------------------------------------------------------
|
||||
getHistoryPrestudents (url, config, params){
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getHistoryPrestudents/' + params.id);
|
||||
},
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
export default {
|
||||
|
||||
//------------- Modal.js------------------------------------------------------
|
||||
|
||||
insertStatus(id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/status/insertStatus/' + id,
|
||||
data
|
||||
);
|
||||
},
|
||||
loadStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {
|
||||
return this.$fhcApi.post(
|
||||
'api/frontend/v1/stv/status/loadStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester
|
||||
);
|
||||
},
|
||||
updateStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}, data) {
|
||||
return this.$fhcApi.post(
|
||||
'api/frontend/v1/stv/status/updateStatus/'
|
||||
+ prestudent_id + '/'
|
||||
+ status_kurzbz + '/'
|
||||
+ studiensemester_kurzbz + '/'
|
||||
+ ausbildungssemester,
|
||||
data
|
||||
);
|
||||
},
|
||||
getStudienplaene(prestudent_id) {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getStudienplaene/' + prestudent_id);
|
||||
},
|
||||
getStudiengang(prestudent_id) {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/prestudent/getStudiengang/' + prestudent_id);
|
||||
},
|
||||
getStatusgruende() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/status/getStatusgruende/');
|
||||
},
|
||||
getStati() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/lists/getStati/');
|
||||
},
|
||||
|
||||
//------------- Dropdown.js------------------------------------------------------
|
||||
|
||||
addStudent(id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/status/addStudent/' + id,
|
||||
data,
|
||||
{errorHeader: id}
|
||||
);
|
||||
},
|
||||
changeStatus(id, data) {
|
||||
return this.$fhcApi.post('api/frontend/v1/stv/status/changeStatus/' + id,
|
||||
data,
|
||||
{errorHeader: id}
|
||||
);
|
||||
},
|
||||
getStatusarray() {
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/status/getStatusarray/');
|
||||
}
|
||||
}
|
||||
@@ -66,7 +66,7 @@ export default {
|
||||
let button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-print"></i>';
|
||||
button.title = 'Übernahmebestätigung drucken';
|
||||
button.title = this.$p.t('betriebsmittel', 'btn_printUebernahmebestaetigung');
|
||||
let cellData = cell.getData();
|
||||
button.addEventListener(
|
||||
'click',
|
||||
@@ -82,7 +82,7 @@ export default {
|
||||
button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-edit"></i>';
|
||||
button.title = 'Betriebsmittel bearbeiten';
|
||||
button.title = this.$p.t('betriebsmittel', 'btn_editBetriebsmittel');
|
||||
button.addEventListener(
|
||||
'click',
|
||||
(event) =>
|
||||
@@ -93,7 +93,7 @@ export default {
|
||||
button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-xmark"></i>';
|
||||
button.title = 'Betriebsmittel löschen';
|
||||
button.title = this.$p.t('betriebsmittel', 'btn_deleteBetriebsmittel');
|
||||
button.addEventListener(
|
||||
'click',
|
||||
() =>
|
||||
@@ -117,26 +117,43 @@ export default {
|
||||
event: 'tableBuilt',
|
||||
handler: async() => {
|
||||
|
||||
await this.$p.loadCategory(['wawi', 'global', 'infocenter']);
|
||||
await this.$p.loadCategory(['wawi', 'global', 'infocenter', 'betriebsmittel', 'person']);
|
||||
|
||||
let cm = this.$refs.table.tabulator.columnManager;
|
||||
|
||||
cm.getColumnByField('nummer').component.updateDefinition({
|
||||
title: this.$p.t('wawi', 'nummer')
|
||||
});
|
||||
cm.getColumnByField('betriebsmitteltyp').component.updateDefinition({
|
||||
title: this.$p.t('global', 'typ')
|
||||
});
|
||||
cm.getColumnByField('anmerkung').component.updateDefinition({
|
||||
title: this.$p.t('global', 'anmerkung')
|
||||
});
|
||||
cm.getColumnByField('format_retour').component.updateDefinition({
|
||||
title: this.$p.t('wawi', 'retourdatum')
|
||||
});
|
||||
cm.getColumnByField('beschreibung').component.updateDefinition({
|
||||
title: this.$p.t('global', 'beschreibung')
|
||||
});
|
||||
cm.getColumnByField('kaution').component.updateDefinition({
|
||||
title: this.$p.t('infocenter', 'kaution')
|
||||
});
|
||||
cm.getColumnByField('format_ausgabe').component.updateDefinition({
|
||||
title: this.$p.t('wawi', 'ausgabedatum')
|
||||
});
|
||||
|
||||
cm.getColumnByField('betriebsmittel_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'betriebsmittel_id')
|
||||
});
|
||||
cm.getColumnByField('betriebsmittelperson_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'betriebsmittelperson_id')
|
||||
});
|
||||
cm.getColumnByField('person_id').component.updateDefinition({
|
||||
title: this.$p.t('person', 'person_id')
|
||||
});
|
||||
cm.getColumnByField('uid').component.updateDefinition({
|
||||
title: this.$p.t('person', 'uid')
|
||||
});
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -261,7 +278,7 @@ export default {
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Betriebsmittel"
|
||||
:new-btn-label="this.$p.t('ui', 'betriebsmittel')"
|
||||
@click:new="actionNewBetriebsmittel"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
@@ -278,7 +295,7 @@ export default {
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
type="select"
|
||||
:label="$p.t('global/typ')"
|
||||
:label="$p.t('global/typ') + ' *'"
|
||||
name="betriebsmitteltyp"
|
||||
v-model="formData.betriebsmitteltyp"
|
||||
:disabled="!statusNew"
|
||||
|
||||
+132
-134
@@ -126,6 +126,7 @@ export default {
|
||||
|
||||
let button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.title = this.$p.t('ui', 'notiz_edit');
|
||||
button.innerHTML = '<i class="fa fa-edit"></i>';
|
||||
button.addEventListener(
|
||||
'click',
|
||||
@@ -136,6 +137,7 @@ export default {
|
||||
|
||||
button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.title = this.$p.t('notiz', 'notiz_delete');
|
||||
button.innerHTML = '<i class="fa fa-xmark"></i>';
|
||||
button.addEventListener(
|
||||
'click',
|
||||
@@ -161,7 +163,7 @@ export default {
|
||||
event: 'tableBuilt',
|
||||
handler: async () => {
|
||||
|
||||
await this.$p.loadCategory(['notiz', 'global']);
|
||||
await this.$p.loadCategory(['notiz', 'global', 'ui']);
|
||||
|
||||
let cm = this.$refs.table.tabulator.columnManager;
|
||||
|
||||
@@ -202,18 +204,24 @@ export default {
|
||||
visible: this.showVariables.showLastupdate
|
||||
});
|
||||
cm.getColumnByField('notiz_id').component.updateDefinition({
|
||||
visible: this.showVariables.showNotiz_id
|
||||
visible: this.showVariables.showNotiz_id,
|
||||
title: this.$p.t('ui', 'notiz_id')
|
||||
});
|
||||
cm.getColumnByField('notizzuordnung_id').component.updateDefinition({
|
||||
visible: this.showVariables.showNotizzuordnung_id
|
||||
visible: this.showVariables.showNotizzuordnung_id,
|
||||
title: this.$p.t('ui', 'notizzuordnung_id')
|
||||
});
|
||||
cm.getColumnByField('type_id').component.updateDefinition({
|
||||
visible: this.showVariables.showType_id
|
||||
visible: this.showVariables.showType_id,
|
||||
title: this.$p.t('ui', 'type_id')
|
||||
});
|
||||
cm.getColumnByField('id').component.updateDefinition({
|
||||
visible: this.showVariables.showId
|
||||
visible: this.showVariables.showId,
|
||||
title: this.$p.t('ui', 'extension_id')
|
||||
});
|
||||
cm.getColumnByField('actions').component.updateDefinition({
|
||||
title: this.$p.t('global', 'aktionen')
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -257,9 +265,15 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
actionDeleteNotiz(notiz_id) {
|
||||
this.loadNotiz(notiz_id).then(() => {
|
||||
this.$refs.deleteNotizModal.show();
|
||||
});
|
||||
this.loadNotiz(notiz_id);
|
||||
|
||||
this.$fhcAlert
|
||||
.confirmDelete()
|
||||
.then(result => result
|
||||
? notiz_id
|
||||
: Promise.reject({handled: true}))
|
||||
.then(this.deleteNotiz)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
actionEditNotiz(notiz_id) {
|
||||
this.loadNotiz(notiz_id).then(() => {
|
||||
@@ -302,7 +316,9 @@ export default {
|
||||
formData.append('data', JSON.stringify(this.notizData));
|
||||
Object.entries(this.notizData.anhang).forEach(([k, v]) => formData.append(k, v));
|
||||
|
||||
return this.endpoint.addNewNotiz(this.id, formData)
|
||||
this.$refs.formNotiz.clearValidation();
|
||||
|
||||
return this.endpoint.addNewNotiz(this.$refs.formNotiz, this.id, formData)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.resetFormData();
|
||||
@@ -318,10 +334,8 @@ export default {
|
||||
},
|
||||
deleteNotiz(notiz_id) {
|
||||
return this.endpoint.deleteNotiz(notiz_id, this.typeId, this.id)
|
||||
//return this.$fhcApi.post(this.endpoint + 'deleteNotiz/', this.param)
|
||||
.then(result => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||
this.$refs.deleteNotizModal.hide();
|
||||
this.reload();
|
||||
this.resetFormData();
|
||||
})
|
||||
@@ -354,7 +368,8 @@ export default {
|
||||
formData.append('data', JSON.stringify(this.notizData));
|
||||
Object.entries(this.notizData.anhang).forEach(([k, v]) => formData.append(k, v));
|
||||
|
||||
return this.endpoint.updateNotiz(notiz_id, formData)
|
||||
this.$refs.formNotiz.clearValidation();
|
||||
return this.endpoint.updateNotiz(this.$refs.formNotiz, notiz_id, formData)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.resetFormData();
|
||||
@@ -372,7 +387,9 @@ export default {
|
||||
this.$refs.table.reloadTable();
|
||||
},
|
||||
resetFormData() {
|
||||
this.$refs.formc.reset();
|
||||
//TODO(Manu) check ref, needed here?
|
||||
//this.$refs.formNotiz.reset();
|
||||
//this.$refs.formc.reset();
|
||||
this.notizData = {
|
||||
typeId: this.typeId,
|
||||
titel: null,
|
||||
@@ -405,7 +422,7 @@ export default {
|
||||
|
||||
const vm = this;
|
||||
tinymce.init({
|
||||
target: this.$refs.editor, //Important: not selector: to enable multiple import of component
|
||||
target: this.$refs.editor.$refs.input, //Important: not selector: to enable multiple import of component
|
||||
//height: 800,
|
||||
//plugins: ['lists'],
|
||||
//toolbar: " blocks | bold italic underline | alignleft aligncenter alignright alignjustify",
|
||||
@@ -493,19 +510,9 @@ export default {
|
||||
},
|
||||
template: `
|
||||
<div class="core-notiz">
|
||||
|
||||
<div v-if="notizLayout=='classicFas'">
|
||||
<!--Modal: deleteNotizModal-->
|
||||
<BsModal ref="deleteNotizModal">
|
||||
<template #title>Notiz löschen</template>
|
||||
<template #default>
|
||||
<p>Notiz wirklich löschen?</p>
|
||||
</template>
|
||||
<template #footer>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="resetFormData">Abbrechen</button>
|
||||
<button ref="Close" type="button" class="btn btn-primary" @click="deleteNotiz(notizData.notiz_id)">OK</button>
|
||||
</template>
|
||||
</BsModal>
|
||||
|
||||
|
||||
<core-filter-cmpt
|
||||
ref="table"
|
||||
:tabulator-options="tabulatorOptions"
|
||||
@@ -514,14 +521,14 @@ export default {
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Notiz"
|
||||
:new-btn-label="this.$p.t('global', 'notiz')"
|
||||
@click:new="actionNewNotiz"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
|
||||
<br>
|
||||
|
||||
<form ref="formc" @submit.prevent class="row pt-3">
|
||||
<form-form ref="formNotiz" @submit.prevent class="row pt-3">
|
||||
<br><br>
|
||||
<div class="pt-2">
|
||||
<div class="row mb-3">
|
||||
@@ -538,28 +545,41 @@ export default {
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="titel" class="form-label col-sm-2">{{$p.t('global','titel')}} *</label>
|
||||
<div class="col-sm-7">
|
||||
<input type="text" v-model="notizData.titel" class="form-control">
|
||||
</div>
|
||||
<form-input
|
||||
container-class="col-12"
|
||||
:label="$p.t('global','titel') + ' *'"
|
||||
type="text"
|
||||
v-model="notizData.titel"
|
||||
name="titel"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="text" class="form-label col-sm-2">{{$p.t('global','text')}} *</label>
|
||||
|
||||
<div class="row mb-3">
|
||||
<!-- TinyMce 5 -->
|
||||
<div v-if="showTinyMce" class="col-sm-7">
|
||||
<textarea
|
||||
<div v-if="showTinyMce" class="col-sm-12">
|
||||
<form-input
|
||||
ref="editor"
|
||||
:label="$p.t('global','text') + ' *'"
|
||||
type="textarea"
|
||||
v-model="notizData.text"
|
||||
name="text"
|
||||
rows="5"
|
||||
cols="75"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
<div v-else class="col-sm-12">
|
||||
<form-input
|
||||
ref="editor"
|
||||
:label="$p.t('global','text') + ' *'"
|
||||
type="textarea"
|
||||
v-model="notizData.text"
|
||||
name="text"
|
||||
rows="5"
|
||||
cols="75"
|
||||
class="form-control"
|
||||
:value="notizData.text"
|
||||
@input="updateText">
|
||||
</textarea>
|
||||
</div>
|
||||
<div v-else class="col-sm-7">
|
||||
<textarea rows="5" cols="75" v-model="notizData.text" class="form-control"></textarea>
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -645,22 +665,10 @@ export default {
|
||||
|
||||
<button v-if="notizData.statusNew" type="button" class="btn btn-primary" @click="addNewNotiz()"> {{$p.t('studierendenantrag', 'btn_new')}}</button>
|
||||
<button v-else type="button" class="btn btn-primary" @click="updateNotiz(notizData.notiz_id)"> {{$p.t('ui', 'speichern')}}</button>
|
||||
</form>
|
||||
</form-form>
|
||||
</div>
|
||||
|
||||
<div v-else-if="notizLayout=='twoColumnsFormRight'" class="notiz-notiz">
|
||||
|
||||
<!--Modal: deleteNotizModal-->
|
||||
<BsModal ref="deleteNotizModal">
|
||||
<template #title>Notiz löschen</template>
|
||||
<template #default>
|
||||
<p>Notiz wirklich löschen?</p>
|
||||
</template>
|
||||
<template #footer>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="resetFormData">Abbrechen</button>
|
||||
<button ref="Close" type="button" class="btn btn-primary" @click="deleteNotiz(notizData.notiz_id)">OK</button>
|
||||
</template>
|
||||
</BsModal>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6 pt-6">
|
||||
@@ -673,19 +681,14 @@ export default {
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Notiz"
|
||||
:new-btn-label="this.$p.t('global', 'notiz')"
|
||||
@click:new="actionNewNotiz"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6">
|
||||
<!--
|
||||
<p v-if="notizData.statusNew" class="fw-bold">{{$p.t('notiz','notiz_new')}} <span> [{{notizData.typeId}}]</span></p>
|
||||
<p v-else class="fw-bold">{{$p.t('notiz','notiz_edit')}} <span> [{{notizData.typeId}}]</span></p>
|
||||
-->
|
||||
|
||||
<form ref="formc" @submit.prevent class="row pt-3">
|
||||
<form-form ref="formNotiz" @submit.prevent class="row pt-3">
|
||||
<div class="col pt-3">
|
||||
<p v-if="notizData.statusNew" class="fw-bold">{{$p.t('notiz','notiz_new')}} <span> [{{notizData.typeId}}]</span></p>
|
||||
<p v-else class="fw-bold">{{$p.t('notiz','notiz_edit')}} <span> [{{notizData.typeId}}]</span></p>
|
||||
@@ -710,20 +713,29 @@ export default {
|
||||
<div class="row mb-3">
|
||||
<!-- TinyMce 5 -->
|
||||
<div v-if="showTinyMce" class="col-sm-12">
|
||||
<label for="text" class="form-label col-sm-2">{{$p.t('global','text')}} *</label>
|
||||
<textarea
|
||||
<form-input
|
||||
ref="editor"
|
||||
:label="$p.t('global','text') + ' *'"
|
||||
type="textarea"
|
||||
v-model="notizData.text"
|
||||
name="text"
|
||||
rows="5"
|
||||
cols="75"
|
||||
class="form-control"
|
||||
:value="notizData.text"
|
||||
@input="updateText">
|
||||
</textarea>
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<div v-else class="col-sm-12">
|
||||
<label for="text" class="form-label col-sm-2">{{$p.t('global','text')}} *</label>
|
||||
<textarea rows="5" cols="75" v-model="notizData.text" class="form-control"></textarea>
|
||||
<form-input
|
||||
ref="editor"
|
||||
:label="$p.t('global','text') + ' *'"
|
||||
type="textarea"
|
||||
v-model="notizData.text"
|
||||
name="text"
|
||||
rows="5"
|
||||
cols="75"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -828,12 +840,6 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
<!--
|
||||
<label for="bis" class="form-label col-sm-2">{{$p.t('notiz','erledigt')}}</label>
|
||||
<div class="col-sm-1">
|
||||
<input type="checkbox" v-model="notizData.erledigt">
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -843,27 +849,16 @@ export default {
|
||||
<p class="small">{{notizData.lastupdate}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form-form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-else-if="notizLayout=='twoColumnsFormLeft'" class="notiz-notiz">
|
||||
<!--Modal: deleteNotizModal-->
|
||||
<BsModal ref="deleteNotizModal">
|
||||
<template #title>Notiz löschen</template>
|
||||
<template #default>
|
||||
<p>Notiz wirklich löschen?</p>
|
||||
</template>
|
||||
<template #footer>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="resetFormData">Abbrechen</button>
|
||||
<button ref="Close" type="button" class="btn btn-primary" @click="deleteNotiz(notizData.notiz_id)">OK</button>
|
||||
</template>
|
||||
</BsModal>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<form ref="formc" @submit.prevent class="row pt-3">
|
||||
<form-form ref="formNotiz" @submit.prevent class="row pt-3">
|
||||
<div class="col pt-3">
|
||||
<p v-if="notizData.statusNew" class="fw-bold">{{$p.t('notiz','notiz_new')}} <span> [{{notizData.typeId}}]</span></p>
|
||||
<p v-else class="fw-bold">{{$p.t('notiz','notiz_edit')}} <span> [{{notizData.typeId}}]</span></p>
|
||||
@@ -883,19 +878,29 @@ export default {
|
||||
<div class="row mb-3">
|
||||
<!-- TinyMce 5 -->
|
||||
<div v-if="showTinyMce" class="col-sm-12">
|
||||
<label for="text" class="form-label col-sm-2">{{$p.t('global','text')}} *</label>
|
||||
<textarea
|
||||
ref="editor"
|
||||
rows="5"
|
||||
cols="75"
|
||||
class="form-control"
|
||||
:value="notizData.text"
|
||||
@input="updateText"></textarea>
|
||||
<form-input
|
||||
ref="editor"
|
||||
:label="$p.t('global', 'text') + ' *'"
|
||||
type="textarea"
|
||||
v-model="notizData.text"
|
||||
name="text"
|
||||
rows="5"
|
||||
cols="75"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<div v-else class="col-sm-12">
|
||||
<label for="text" class="form-label col-sm-2">{{$p.t('global','text')}} *</label>
|
||||
<textarea rows="5" cols="75" v-model="notizData.text" class="form-control"></textarea>
|
||||
<form-input
|
||||
ref="editor"
|
||||
:label="$p.t('global','text') + ' *'"
|
||||
type="textarea"
|
||||
v-model="notizData.text"
|
||||
name="text"
|
||||
rows="5"
|
||||
cols="75"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1001,12 +1006,6 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
<!--
|
||||
<label for="bis" class="form-label col-sm-2">{{$p.t('notiz','erledigt')}}</label>
|
||||
<div class="col-sm-1">
|
||||
<input type="checkbox" v-model="notizData.erledigt">
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1021,7 +1020,7 @@ export default {
|
||||
<button v-if="notizData.statusNew" class="btn btn-primary" @click="addNewNotiz()"> {{$p.t('studierendenantrag', 'btn_new')}}</button>
|
||||
<button v-else class="btn btn-primary" @click="updateNotiz(notizData.notiz_id)"> {{$p.t('ui', 'speichern')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</form-form>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 pt-6">
|
||||
@@ -1034,7 +1033,7 @@ export default {
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Notiz"
|
||||
:new-btn-label="this.$p.t('global', 'notiz')"
|
||||
@click:new="actionNewNotiz"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
@@ -1043,17 +1042,6 @@ export default {
|
||||
</div>
|
||||
|
||||
<div v-else-if="notizLayout=='popupModal'" class="notiz-notiz">
|
||||
<!--Modal: deleteNotizModal-->
|
||||
<BsModal ref="deleteNotizModal">
|
||||
<template #title>Notiz löschen</template>
|
||||
<template #default>
|
||||
<p>Notiz wirklich löschen?</p>
|
||||
</template>
|
||||
<template #footer>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="resetFormData">Abbrechen</button>
|
||||
<button ref="Close" type="button" class="btn btn-primary" @click="deleteNotiz(notizData.notiz_id)">OK</button>
|
||||
</template>
|
||||
</BsModal>
|
||||
|
||||
<BsModal ref="NotizModal">
|
||||
<template #title>
|
||||
@@ -1062,7 +1050,7 @@ export default {
|
||||
</template>
|
||||
<template #default>
|
||||
<div>
|
||||
<form ref="formc" @submit.prevent class="row">
|
||||
<form-form ref="formNotiz" @submit.prevent class="row">
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-12"
|
||||
@@ -1077,19 +1065,29 @@ export default {
|
||||
<div class="row mb-3">
|
||||
<!-- TinyMce 5 -->
|
||||
<div v-if="showTinyMce" class="col-sm-12">
|
||||
<label for="text" class="form-label col-sm-2">{{$p.t('global','text')}} *</label>
|
||||
<textarea
|
||||
ref="editor"
|
||||
rows="5"
|
||||
cols="75"
|
||||
class="form-control"
|
||||
:value="notizData.text"
|
||||
@input="updateText"></textarea>
|
||||
<form-input
|
||||
ref="editor"
|
||||
:label="$p.t('global','text') + ' *'"
|
||||
type="textarea"
|
||||
v-model="notizData.text"
|
||||
name="text"
|
||||
rows="5"
|
||||
cols="75"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<div v-else class="col-sm-12">
|
||||
<label for="text" class="form-label col-sm-2">{{$p.t('global','text')}} *</label>
|
||||
<textarea rows="5" cols="75" v-model="notizData.text" class="form-control"></textarea>
|
||||
<form-input
|
||||
ref="editor"
|
||||
:label="$p.t('global','text') + ' *'"
|
||||
type="textarea"
|
||||
v-model="notizData.text"
|
||||
name="text"
|
||||
rows="5"
|
||||
cols="75"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1209,7 +1207,7 @@ export default {
|
||||
<button v-if="notizData.statusNew" class="btn btn-primary" @click="addNewNotiz()"> {{$p.t('studierendenantrag', 'btn_new')}}</button>
|
||||
<button v-else class="btn btn-primary" @click="updateNotiz(notizData.notiz_id)"> {{$p.t('ui', 'speichern')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</form-form>
|
||||
</div>
|
||||
</template>
|
||||
</BsModal>
|
||||
@@ -1223,7 +1221,7 @@ export default {
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Notiz"
|
||||
:new-btn-label="this.$p.t('global', 'notiz')"
|
||||
@click:new="actionNewNotiz"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
|
||||
@@ -45,8 +45,6 @@ export default {
|
||||
cisRoot: this.cisRoot,
|
||||
activeAddonBewerbung: this.activeAddons.split(';').includes('bewerbung'),
|
||||
configGenerateAlias: this.config.generateAlias,
|
||||
configShowZgvDoktor: this.config.showZgvDoktor,
|
||||
configShowZgvErfuellt: this.config.showZgvErfuellt,
|
||||
hasBpkPermission: this.permissions['student/bpk'],
|
||||
hasAliasPermission: this.permissions['student/alias'],
|
||||
hasPrestudentPermission: this.permissions['basis/prestudent'],
|
||||
|
||||
@@ -37,25 +37,17 @@ export default {
|
||||
}
|
||||
},
|
||||
props: {
|
||||
modelValue: Object
|
||||
modelValue: Object,
|
||||
config: {
|
||||
type: Object,
|
||||
default: {}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
test: {udf_viaf: 'TEST'},
|
||||
familienstaende: {
|
||||
"": "--keine Auswahl--",
|
||||
"g": "geschieden",
|
||||
"l": "ledig",
|
||||
"v": "verheiratet",
|
||||
"w": "verwitwet"
|
||||
},
|
||||
original: null,
|
||||
data: null,
|
||||
changed: {},
|
||||
udfChanges: false,
|
||||
studentIn: null,
|
||||
gebDatumIsValid: false,
|
||||
gebDatumIsInvalid: false
|
||||
changed: {}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -67,6 +59,15 @@ export default {
|
||||
},
|
||||
noImageSrc() {
|
||||
return FHC_JS_DATA_STORAGE_OBJECT.app_root + 'skin/images/profilbild_dummy.jpg';
|
||||
},
|
||||
familienstaende() {
|
||||
return {
|
||||
"": "-- " + this.$p.t('fehlermonitoring', 'keineAuswahl') + " --",
|
||||
"g": this.$p.t('person', 'geschieden'),
|
||||
"l": this.$p.t('person', 'ledig'),
|
||||
"v": this.$p.t('person', 'verheiratet'),
|
||||
"w": this.$p.t('person', 'verwitwet'),
|
||||
};
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -74,7 +75,6 @@ export default {
|
||||
this.updateStudent(n);
|
||||
},
|
||||
data: {
|
||||
// TODO(chris): use @input instead?
|
||||
handler(n) {
|
||||
let res = {};
|
||||
for (var k in this.original) {
|
||||
@@ -82,7 +82,6 @@ export default {
|
||||
if (new Date(this.original[k]).toString() != new Date(n[k]).toString())
|
||||
res[k] = n[k];
|
||||
} else {
|
||||
// TODO(chris): null && ""? should there be an exception for this?
|
||||
if (this.original[k] !== n[k] && !(this.original[k] === null && n[k] === ""))
|
||||
res[k] = n[k];
|
||||
}
|
||||
@@ -94,9 +93,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
updateStudent(n) {
|
||||
// TODO(chris): move to fhcapi.factory
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/student/get/' + n.prestudent_id)
|
||||
return this.$fhcApi.factory.stv.details.get(n.prestudent_id)
|
||||
.then(result => {
|
||||
this.data = result.data;
|
||||
if (!this.data.familienstand)
|
||||
@@ -110,14 +107,13 @@ export default {
|
||||
return;
|
||||
|
||||
this.$refs.form.clearValidation();
|
||||
this.$refs.form
|
||||
.post('api/frontend/v1/stv/student/save/' + this.modelValue.prestudent_id, this.changed)
|
||||
return this.$fhcApi.factory.stv.details.save(this.modelValue.prestudent_id, this.changed)
|
||||
.then(result => {
|
||||
this.original = {...this.data};
|
||||
this.changed = {};
|
||||
this.$refs.form.setFeedback(true, result.data);
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
udfsLoaded(udfs) {
|
||||
this.original = {...(this.original || {}), ...udfs};
|
||||
@@ -129,28 +125,27 @@ export default {
|
||||
created() {
|
||||
this.updateStudent(this.modelValue);
|
||||
},
|
||||
//TODO(chris): Phrasen
|
||||
//TODO(chris): Geburtszeit? Anzahl der Kinder?
|
||||
template: `
|
||||
<core-form ref="form" class="stv-details-details" @submit.prevent="save">
|
||||
<div class="position-sticky top-0 z-1">
|
||||
<button type="submit" class="btn btn-primary position-absolute top-0 end-0" :disabled="!changedLength">Speichern</button>
|
||||
<button type="submit" class="btn btn-primary position-absolute top-0 end-0" :disabled="!changedLength">{{$p.t('ui', 'speichern')}}</button>
|
||||
</div>
|
||||
<fieldset class="overflow-hidden">
|
||||
<legend>Person</legend>
|
||||
<template v-if="data">
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Person ID"
|
||||
v-if="!config.hiddenFields.includes('person_id')"
|
||||
container-class="col-4 stv-details-details-person_id"
|
||||
:label="$p.t('person', 'person_id')"
|
||||
type="text"
|
||||
v-model="data.person_id"
|
||||
name="person_id"
|
||||
readonly
|
||||
>
|
||||
</form-input>
|
||||
<div v-if="showZugangscode" class="col-4">
|
||||
<label>Zugangscode</label>
|
||||
<div v-if="showZugangscode && !config.hiddenFields.includes('zugangscode')" class="col-4 stv-details-details-zugangscode">
|
||||
<label>{{$p.t('person', 'zugangscode')}}</label>
|
||||
<div class="align-self-center">
|
||||
<span class="form-text">
|
||||
<a :href="cisRoot + 'addons/bewerbung/cis/registration.php?code=' + data.zugangscode + '&emailAdresse=' + data.email_privat" target="_blank">{{data.zugangscode}}</a>
|
||||
@@ -158,9 +153,9 @@ export default {
|
||||
</div>
|
||||
</div>
|
||||
<form-input
|
||||
v-if="showBpk"
|
||||
container-class="col-4"
|
||||
label="BPK"
|
||||
v-if="showBpk && !config.hiddenFields.includes('bpk')"
|
||||
container-class="col-4 stv-details-details-bpk"
|
||||
:label="$p.t('person', 'bpk')"
|
||||
type="text"
|
||||
v-model="data.bpk"
|
||||
name="bpk"
|
||||
@@ -170,8 +165,9 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Anrede"
|
||||
v-if="!config.hiddenFields.includes('anrede')"
|
||||
container-class="col-4 stv-details-details-anrede"
|
||||
:label="$p.t('person', 'anrede')"
|
||||
type="text"
|
||||
v-model="data.anrede"
|
||||
name="anrede"
|
||||
@@ -179,8 +175,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Titel Pre"
|
||||
v-if="!config.hiddenFields.includes('titelpre')"
|
||||
container-class="col-4 stv-details-details-titelpre"
|
||||
:label="$p.t('person', 'titelpre')"
|
||||
type="text"
|
||||
v-model="data.titelpre"
|
||||
name="titelpre"
|
||||
@@ -188,8 +185,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Titel Post"
|
||||
v-if="!config.hiddenFields.includes('titelpost')"
|
||||
container-class="col-4 stv-details-details-titelpost"
|
||||
:label="$p.t('person', 'titelpost')"
|
||||
type="text"
|
||||
v-model="data.titelpost"
|
||||
name="titelpost"
|
||||
@@ -199,8 +197,9 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Nachname"
|
||||
v-if="!config.hiddenFields.includes('nachname')"
|
||||
container-class="col-4 stv-details-details-nachname"
|
||||
:label="$p.t('person', 'nachname')"
|
||||
type="text"
|
||||
v-model="data.nachname"
|
||||
name="nachname"
|
||||
@@ -208,8 +207,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Vorname"
|
||||
v-if="!config.hiddenFields.includes('vorname')"
|
||||
container-class="col-4 stv-details-details-vorname"
|
||||
:label="$p.t('person', 'vorname')"
|
||||
type="text"
|
||||
v-model="data.vorname"
|
||||
name="vorname"
|
||||
@@ -217,8 +217,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Vornamen"
|
||||
v-if="!config.hiddenFields.includes('vornamen')"
|
||||
container-class="col-4 stv-details-details-vornamen"
|
||||
:label="$p.t('person', 'vornamen')"
|
||||
type="text"
|
||||
v-model="data.vornamen"
|
||||
name="vornamen"
|
||||
@@ -228,8 +229,9 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Wahlname"
|
||||
v-if="!config.hiddenFields.includes('wahlname')"
|
||||
container-class="col-4 stv-details-details-wahlname"
|
||||
:label="$p.t('person', 'wahlname')"
|
||||
type="text"
|
||||
v-model="data.wahlname"
|
||||
name="wahlname"
|
||||
@@ -239,8 +241,9 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Geburtsdatum"
|
||||
v-if="!config.hiddenFields.includes('gebdatum')"
|
||||
container-class="col-4 stv-details-details-gebdatum"
|
||||
:label="$p.t('person', 'geburtsdatum')"
|
||||
type="DatePicker"
|
||||
v-model="data.gebdatum"
|
||||
name="gebdatum"
|
||||
@@ -254,8 +257,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Geburtsort"
|
||||
v-if="!config.hiddenFields.includes('gebort')"
|
||||
container-class="col-4 stv-details-details-gebort"
|
||||
:label="$p.t('person', 'geburtsort')"
|
||||
type="text"
|
||||
v-model="data.gebort"
|
||||
name="gebort"
|
||||
@@ -263,21 +267,22 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Geburtsnation"
|
||||
v-if="!config.hiddenFields.includes('geburtsnation')"
|
||||
container-class="col-4 stv-details-details-geburtsnation"
|
||||
:label="$p.t('person', 'geburtsnation')"
|
||||
type="select"
|
||||
v-model="data.geburtsnation"
|
||||
name="geburtsnation"
|
||||
>
|
||||
<option value="">-- keine Auswahl --</option>
|
||||
<!-- TODO(chris): gesperrte nationen können nicht ausgewählt werden! Um das zu realisieren müsste man ein pseudo select machen -->
|
||||
<option value="">-- {{$p.t('fehlermonitoring', 'keineAuswahl')}} --</option>
|
||||
<option v-for="nation in lists.nations" :key="nation.nation_code" :value="nation.nation_code" :disabled="nation.sperre">{{nation.kurztext}}</option>
|
||||
</form-input>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="SVNR"
|
||||
v-if="!config.hiddenFields.includes('svnr')"
|
||||
container-class="col-4 stv-details-details-svnr"
|
||||
:label="$p.t('person', 'svnr')"
|
||||
type="text"
|
||||
v-model="data.svnr"
|
||||
name="svnr"
|
||||
@@ -285,8 +290,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Ersatzkennzeichen"
|
||||
v-if="!config.hiddenFields.includes('ersatzkennzeichen')"
|
||||
container-class="col-4 stv-details-details-ersatzkennzeichen"
|
||||
:label="$p.t('person', 'ersatzkennzeichen')"
|
||||
type="text"
|
||||
v-model="data.ersatzkennzeichen"
|
||||
name="ersatzkennzeichen"
|
||||
@@ -296,19 +302,20 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Staatsbürgerschaft"
|
||||
v-if="!config.hiddenFields.includes('staatsbuergerschaft')"
|
||||
container-class="col-4 stv-details-details-staatsbuergerschaft"
|
||||
:label="$p.t('person', 'staatsbuergerschaft')"
|
||||
type="select"
|
||||
v-model="data.staatsbuergerschaft"
|
||||
name="staatsbuergerschaft"
|
||||
>
|
||||
<option value="">-- keine Auswahl --</option>
|
||||
<!-- TODO(chris): gesperrte nationen können nicht ausgewählt werden! Um das zu realisieren müsste man ein pseudo select machen -->
|
||||
<option value="">-- {{$p.t('fehlermonitoring', 'keineAuswahl')}} --</option>
|
||||
<option v-for="nation in lists.nations" :key="nation.nation_code" :value="nation.nation_code" :disabled="nation.sperre">{{nation.kurztext}}</option>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Matrikelnummer"
|
||||
v-if="!config.hiddenFields.includes('matr_nr')"
|
||||
container-class="col-4 stv-details-details-matr_nr"
|
||||
:label="$p.t('person', 'matrikelnummer')"
|
||||
type="text"
|
||||
v-model="data.matr_nr"
|
||||
name="matr_nr"
|
||||
@@ -316,8 +323,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Sprache"
|
||||
v-if="!config.hiddenFields.includes('sprache')"
|
||||
container-class="col-4 stv-details-details-sprache"
|
||||
:label="$p.t('person', 'sprache')"
|
||||
type="select"
|
||||
v-model="data.sprache"
|
||||
name="sprache"
|
||||
@@ -327,8 +335,9 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Geschlecht"
|
||||
v-if="!config.hiddenFields.includes('geschlecht')"
|
||||
container-class="col-4 stv-details-details-geschlecht"
|
||||
:label="$p.t('person', 'geschlecht')"
|
||||
type="select"
|
||||
v-model="data.geschlecht"
|
||||
name="geschlecht"
|
||||
@@ -336,8 +345,9 @@ export default {
|
||||
<option v-for="geschlecht in lists.geschlechter" :key="geschlecht.geschlecht" :value="geschlecht.geschlecht">{{geschlecht.bezeichnung}}</option>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Familienstand"
|
||||
v-if="!config.hiddenFields.includes('familienstand')"
|
||||
container-class="col-4 stv-details-details-familienstand"
|
||||
:label="$p.t('person', 'familienstand')"
|
||||
type="select"
|
||||
v-model="data.familienstand"
|
||||
name="familienstand"
|
||||
@@ -347,8 +357,9 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Foto"
|
||||
v-if="!config.hiddenFields.includes('foto')"
|
||||
container-class="col-4 stv-details-details-foto"
|
||||
:label="$p.t('person', 'foto')"
|
||||
type="UploadImage"
|
||||
v-model="data.foto"
|
||||
name="foto"
|
||||
@@ -356,8 +367,9 @@ export default {
|
||||
<img alt="No Image" :src="noImageSrc" class="w-100">
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Anmerkung"
|
||||
v-if="!config.hiddenFields.includes('anmerkung')"
|
||||
container-class="col-4 stv-details-details-anmerkung"
|
||||
:label="$p.t('global', 'anmerkung')"
|
||||
type="textarea"
|
||||
v-model="data.anmerkung"
|
||||
name="anmerkung"
|
||||
@@ -365,8 +377,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Homepage"
|
||||
v-if="!config.hiddenFields.includes('homepage')"
|
||||
container-class="col-4 stv-details-details-homepage"
|
||||
:label="$p.t('person', 'homepage')"
|
||||
type="text"
|
||||
v-model="data.homepage"
|
||||
name="homepage"
|
||||
@@ -376,17 +389,26 @@ export default {
|
||||
</div>
|
||||
</template>
|
||||
<div v-else>
|
||||
Loading...
|
||||
{{$p.t('ui', 'dropdownLoading')}}...
|
||||
</div>
|
||||
<core-udf @load="udfsLoaded" v-model="data" class="row-cols-3 g-3 mb-3" ci-model="person/person" :pk="{person_id:modelValue.person_id}"></core-udf>
|
||||
<core-udf
|
||||
v-if="!config.hideUDFs"
|
||||
@load="udfsLoaded"
|
||||
v-model="data"
|
||||
class="row-cols-3 g-3 mb-3"
|
||||
ci-model="person/person"
|
||||
:pk="{person_id:modelValue.person_id}"
|
||||
>
|
||||
</core-udf>
|
||||
</fieldset>
|
||||
<fieldset v-if="data?.student_uid" class="overflow-hidden">
|
||||
<legend>StudentIn</legend>
|
||||
<legend>{{$p.t('person', 'studentIn')}}</legend>
|
||||
<template v-if="data">
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="UID"
|
||||
v-if="!config.hiddenFields.includes('student_uid')"
|
||||
container-class="col-4 stv-details-details-student_uid"
|
||||
:label="$p.t('person', 'uid')"
|
||||
type="text"
|
||||
v-model="data.student_uid"
|
||||
name="student_uid"
|
||||
@@ -394,8 +416,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Personenkennzeichen"
|
||||
v-if="!config.hiddenFields.includes('matrikelnr')"
|
||||
container-class="col-4 stv-details-details-matrikelnr"
|
||||
:label="$p.t('person', 'personenkennzeichen')"
|
||||
type="text"
|
||||
v-model="data.matrikelnr"
|
||||
name="matrikelnr"
|
||||
@@ -404,8 +427,9 @@ export default {
|
||||
</form-input>
|
||||
<div class="col-4 pt-4 d-flex align-items-center">
|
||||
<form-input
|
||||
container-class="form-check"
|
||||
label="Aktiv"
|
||||
v-if="!config.hiddenFields.includes('aktiv')"
|
||||
container-class="form-check stv-details-details-aktiv"
|
||||
:label="$p.t('person', 'aktiv')"
|
||||
type="checkbox"
|
||||
v-model="data.aktiv"
|
||||
name="aktiv"
|
||||
@@ -415,8 +439,9 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Semester"
|
||||
v-if="!config.hiddenFields.includes('semester')"
|
||||
container-class="col-4 stv-details-details-semester"
|
||||
:label="$p.t('lehre', 'semester')"
|
||||
type="text"
|
||||
v-model="data.semester"
|
||||
name="semester"
|
||||
@@ -424,8 +449,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Verband"
|
||||
v-if="!config.hiddenFields.includes('verband')"
|
||||
container-class="col-4 stv-details-details-verband"
|
||||
:label="$p.t('lehre', 'verband')"
|
||||
type="text"
|
||||
v-model="data.verband"
|
||||
name="verband"
|
||||
@@ -433,8 +459,9 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Gruppe"
|
||||
v-if="!config.hiddenFields.includes('gruppe')"
|
||||
container-class="col-4 stv-details-details-gruppe"
|
||||
:label="$p.t('lehre', 'gruppe')"
|
||||
type="text"
|
||||
v-model="data.gruppe"
|
||||
name="gruppe"
|
||||
@@ -444,8 +471,9 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
label="Alias"
|
||||
v-if="!config.hiddenFields.includes('alias')"
|
||||
container-class="col-4 stv-details-details-alias"
|
||||
:label="$p.t('person', 'alias')"
|
||||
type="text"
|
||||
v-model="data.alias"
|
||||
name="alias"
|
||||
@@ -455,7 +483,7 @@ export default {
|
||||
</div>
|
||||
</template>
|
||||
<div v-else>
|
||||
Loading...
|
||||
{{$p.t('ui', 'dropdownLoading')}}...
|
||||
</div>
|
||||
</fieldset>
|
||||
</core-form>`
|
||||
|
||||
@@ -18,10 +18,15 @@ export default{
|
||||
uid: Number
|
||||
},
|
||||
data() {
|
||||
return{
|
||||
return {
|
||||
tabulatorOptions: {
|
||||
ajaxURL: 'api/frontend/v1/stv/kontakt/getAdressen/' + this.uid,
|
||||
ajaxRequestFunc: this.$fhcApi.get,
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: this.$fhcApi.factory.stv.kontakt.getAdressen,
|
||||
ajaxParams: () => {
|
||||
return {
|
||||
id: this.uid
|
||||
};
|
||||
},
|
||||
ajaxResponse: (url, params, response) => response.data,
|
||||
//autoColumns: true,
|
||||
columns:[
|
||||
@@ -57,10 +62,10 @@ export default{
|
||||
{title:"Adresse_id", field:"adresse_id", visible:false},
|
||||
{title:"Person_id", field:"person_id", visible:false},
|
||||
{title:"Name", field:"name", visible:false},
|
||||
{title:"letzte Änderung", field:"updateamum", visible:false},
|
||||
{title:"letzte Änderung", field:"lastupdate", visible:false},
|
||||
{title:"Rechnungsadresse", field:"rechnungsadresse", visible:false,
|
||||
formatter: (cell, formatterParams, onRendered) => {
|
||||
let output = cell.getValue() ? "ja" : "nein";
|
||||
let output = cell.getValue() ? this.$p.t('ui','ja') : this.$p.t('ui','nein');
|
||||
return output;
|
||||
}
|
||||
},
|
||||
@@ -74,6 +79,7 @@ export default{
|
||||
let button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-edit"></i>';
|
||||
button.title = this.$p.t('person', 'adresse_edit');
|
||||
button.addEventListener('click', (event) =>
|
||||
this.actionEditAdress(cell.getData().adresse_id)
|
||||
);
|
||||
@@ -82,9 +88,15 @@ export default{
|
||||
button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-xmark"></i>';
|
||||
button.addEventListener('click', () =>
|
||||
this.actionDeleteAdress(cell.getData().adresse_id)
|
||||
);
|
||||
button.title = this.$p.t('person', 'adresse_delete');
|
||||
|
||||
button.addEventListener('click', () => {
|
||||
if (cell.getData().heimatadresse)
|
||||
this.$fhcAlert.alertError(this.$p.t('person', 'error_deleteHomeAdress'));
|
||||
else
|
||||
this.actionDeleteAdress(cell.getData().adresse_id)
|
||||
});
|
||||
|
||||
container.append(button);
|
||||
|
||||
return container;
|
||||
@@ -103,7 +115,7 @@ export default{
|
||||
{
|
||||
event: 'tableBuilt',
|
||||
handler: async () => {
|
||||
await this.$p.loadCategory(['notiz','global','person', 'ui']);
|
||||
await this.$p.loadCategory(['notiz', 'global', 'person', 'ui']);
|
||||
let cm = this.$refs.table.tabulator.columnManager;
|
||||
|
||||
cm.getColumnByField('bezeichnung').component.updateDefinition({
|
||||
@@ -127,6 +139,9 @@ export default{
|
||||
cm.getColumnByField('heimatadresse').component.updateDefinition({
|
||||
title: this.$p.t('person', 'heimatadresse')
|
||||
});
|
||||
cm.getColumnByField('zustelladresse').component.updateDefinition({
|
||||
title: this.$p.t('person', 'zustelladresse')
|
||||
});
|
||||
cm.getColumnByField('co_name').component.updateDefinition({
|
||||
title: this.$p.t('person', 'co_name')
|
||||
});
|
||||
@@ -136,7 +151,7 @@ export default{
|
||||
cm.getColumnByField('firmenname').component.updateDefinition({
|
||||
title: this.$p.t('person', 'firma')
|
||||
});
|
||||
cm.getColumnByField('updateamum').component.updateDefinition({
|
||||
cm.getColumnByField('lastupdate').component.updateDefinition({
|
||||
title: this.$p.t('notiz', 'letzte_aenderung')
|
||||
});
|
||||
cm.getColumnByField('rechnungsadresse').component.updateDefinition({
|
||||
@@ -145,6 +160,18 @@ export default{
|
||||
cm.getColumnByField('anmerkung').component.updateDefinition({
|
||||
title: this.$p.t('global', 'anmerkung')
|
||||
});
|
||||
cm.getColumnByField('firma_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'firma_id')
|
||||
});
|
||||
cm.getColumnByField('adresse_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'adresse_id')
|
||||
});
|
||||
cm.getColumnByField('person_id').component.updateDefinition({
|
||||
title: this.$p.t('person', 'person_id')
|
||||
});
|
||||
/* cm.getColumnByField('actions').component.updateDefinition({
|
||||
title: this.$p.t('global', 'aktionen')
|
||||
});*/
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -153,7 +180,9 @@ export default{
|
||||
heimatadresse: true,
|
||||
rechnungsadresse: false,
|
||||
typ: 'h',
|
||||
nation: 'A'
|
||||
nation: 'A',
|
||||
address: {plz: null},
|
||||
plz: null
|
||||
},
|
||||
statusNew: true,
|
||||
places: [],
|
||||
@@ -164,8 +193,9 @@ export default{
|
||||
filteredFirmen: [],
|
||||
abortController: {
|
||||
suggestions: null,
|
||||
places: null
|
||||
}
|
||||
places: null,
|
||||
firmen: null
|
||||
},
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
@@ -189,60 +219,59 @@ export default{
|
||||
this.resetModal();
|
||||
this.$refs.adressModal.show();
|
||||
},
|
||||
actionEditAdress(adress_id) {
|
||||
actionEditAdress(adresse_id) {
|
||||
this.statusNew = false;
|
||||
this.loadAdress(adress_id).then(() => {
|
||||
this.loadAdress(adresse_id).then(() => {
|
||||
if(this.addressData.adresse_id)
|
||||
{
|
||||
this.loadPlaces(this.addressData.plz);
|
||||
this.addressData.address.plz = this.addressData.plz;
|
||||
// delete this.addressData.plz;
|
||||
this.loadPlaces(this.addressData.address.plz);
|
||||
this.$refs.adressModal.show();
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
actionDeleteAdress(adress_id) {
|
||||
this.loadAdress(adress_id).then(() => {
|
||||
if(this.addressData.adresse_id)
|
||||
if(this.addressData.heimatadresse)
|
||||
this.$fhcAlert.alertError(this.$p.t('person', 'error_deleteHomeAdress'));
|
||||
else {
|
||||
this.$fhcAlert
|
||||
.confirmDelete()
|
||||
.then(result => result
|
||||
? adress_id
|
||||
: Promise.reject({handled: true}))
|
||||
.then(this.deleteAddress)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
}
|
||||
});
|
||||
actionDeleteAdress(adresse_id) {
|
||||
this.$fhcAlert
|
||||
.confirmDelete()
|
||||
.then(result => result
|
||||
? adresse_id
|
||||
: Promise.reject({handled: true}))
|
||||
.then(this.deleteAddress)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
addNewAddress(addressData) {
|
||||
this.$fhcApi.post('api/frontend/v1/stv/kontakt/addNewAddress/' + this.uid,
|
||||
this.addressData
|
||||
).then(response => {
|
||||
this.addressData.plz = this.addressData.address.plz;
|
||||
return this.$refs.addressData.factory.stv.kontakt.addNewAddress(this.uid, this.addressData)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.hideModal('adressModal');
|
||||
this.resetModal();
|
||||
}).catch(this.$fhcAlert.handleSystemError)
|
||||
.finally(() => {
|
||||
window.scrollTo(0, 0);
|
||||
//window.scrollTo(0, 0);
|
||||
this.reload();
|
||||
});
|
||||
},
|
||||
reload() {
|
||||
this.$refs.table.reloadTable();
|
||||
},
|
||||
loadAdress(adress_id) {
|
||||
loadAdress(adresse_id) {
|
||||
this.statusNew = false;
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/loadAddress/' + adress_id)
|
||||
return this.$fhcApi.factory.stv.kontakt.loadAddress(adresse_id)
|
||||
.then(result => {
|
||||
this.addressData = result.data;
|
||||
return result;
|
||||
this.addressData = result.data;
|
||||
this.addressData.address = {};
|
||||
this.addressData.address.plz = this.addressData.plz || null;
|
||||
// delete this.addressData.plz;
|
||||
return result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
updateAddress(adress_id) {
|
||||
this.$fhcApi.post('api/frontend/v1/stv/kontakt/updateAddress/' + adress_id,
|
||||
updateAddress(adresse_id) {
|
||||
this.addressData.plz = this.addressData.address.plz;
|
||||
return this.$refs.addressData.factory.stv.kontakt.updateAddress(adresse_id,
|
||||
this.addressData
|
||||
).then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
@@ -250,12 +279,12 @@ export default{
|
||||
this.resetModal();
|
||||
}).catch(this.$fhcAlert.handleSystemError)
|
||||
.finally(() => {
|
||||
window.scrollTo(0, 0);
|
||||
//window.scrollTo(0, 0);
|
||||
this.reload();
|
||||
});
|
||||
},
|
||||
deleteAddress(adress_id) {
|
||||
this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteAddress/' + adress_id)
|
||||
deleteAddress(adresse_id) {
|
||||
return this.$fhcApi.factory.stv.kontakt.deleteAddress(adresse_id)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||
}).catch(this.$fhcAlert.handleSystemError)
|
||||
@@ -267,27 +296,24 @@ export default{
|
||||
loadPlaces() {
|
||||
if (this.abortController.places)
|
||||
this.abortController.places.abort();
|
||||
if (this.addressData.nation != 'A' || !this.addressData.plz)
|
||||
if (this.addressData.nation != 'A' || !this.addressData.address.plz)
|
||||
return;
|
||||
|
||||
this.abortController.places = new AbortController();
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/address/getPlaces/' + this.addressData.plz, undefined, {
|
||||
signal: this.abortController.places.signal
|
||||
})
|
||||
|
||||
return this.$refs.addressData.factory.stv.kontakt.getPlaces(this.addressData.address.plz)
|
||||
.then(result => {
|
||||
this.places = result.data;
|
||||
});
|
||||
/* .catch(error => {
|
||||
if (error.code != "ERR_CANCELED")
|
||||
window.setTimeout(this.loadPlaces, 100);
|
||||
else
|
||||
this.$fhcAlert.handleSystemError(error);
|
||||
});*/
|
||||
},
|
||||
search(event) {
|
||||
return this.$fhcApi
|
||||
.get('api/frontend/v1/stv/kontakt/getFirmen/' + event.query)
|
||||
if (this.abortController.firmen) {
|
||||
this.abortController.firmen.abort();
|
||||
}
|
||||
|
||||
this.abortController.firmen = new AbortController();
|
||||
|
||||
return this.$refs.addressData.factory.stv.kontakt.getFirmen(event.query)
|
||||
.then(result => {
|
||||
this.filteredFirmen = result.data.retval;
|
||||
});
|
||||
@@ -308,24 +334,23 @@ export default{
|
||||
this.addressData.anmerkung = null;
|
||||
this.addressData.typ = 'h';
|
||||
this.addressData.nation = 'A';
|
||||
this.addressData.plz = null;
|
||||
this.addressData.address = {plz: null};
|
||||
|
||||
this.statusNew = true;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/address/getNations')
|
||||
this.$fhcApi.factory.stv.kontakt.getNations()
|
||||
.then(result => {
|
||||
this.nations = result.data;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/kontakt/getAdressentypen')
|
||||
|
||||
this.$fhcApi.factory.stv.kontakt.getAdressentypen()
|
||||
.then(result => {
|
||||
this.adressentypen = result.data;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
template: `
|
||||
<div class="stv-details-kontakt-address h-100 pt-3">
|
||||
@@ -386,9 +411,9 @@ export default{
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
type="text"
|
||||
name="plz"
|
||||
name="address[plz]"
|
||||
:label="$p.t('person/plz') + ' *'"
|
||||
v-model="addressData.plz"
|
||||
v-model="addressData.address.plz"
|
||||
required
|
||||
@input="loadPlaces"
|
||||
>
|
||||
@@ -416,6 +441,7 @@ export default{
|
||||
v-else
|
||||
type="text"
|
||||
name="addressData.gemeinde"
|
||||
:label="$p.t('person/gemeinde')"
|
||||
v-model="addressData.gemeinde"
|
||||
>
|
||||
</form-input>
|
||||
@@ -442,6 +468,7 @@ export default{
|
||||
v-else
|
||||
type="text"
|
||||
name="ort"
|
||||
:label="$p.t('person/ort')"
|
||||
v-model="addressData.ort"
|
||||
>
|
||||
</form-input>
|
||||
@@ -560,7 +587,7 @@ export default{
|
||||
</form-form>
|
||||
|
||||
<template #footer>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{$p.t('ui', 'abbrechen')}}</button>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="reload()">{{$p.t('ui', 'abbrechen')}}</button>
|
||||
<button v-if="statusNew" type="button" class="btn btn-primary" @click="addNewAddress()">OK</button>
|
||||
<button v-else type="button" class="btn btn-primary" @click="updateAddress(addressData.adresse_id)">OK</button>
|
||||
</template>
|
||||
@@ -574,7 +601,7 @@ export default{
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Adresse"
|
||||
:new-btn-label="this.$p.t('person', 'adresse')"
|
||||
@click:new="actionNewAdress"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
|
||||
@@ -16,8 +16,13 @@ export default{
|
||||
data() {
|
||||
return{
|
||||
tabulatorOptions: {
|
||||
ajaxURL: 'api/frontend/v1/stv/Kontakt/getBankverbindung/' + this.uid,
|
||||
ajaxRequestFunc: this.$fhcApi.get,
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: this.$fhcApi.factory.stv.kontakt.getBankverbindung,
|
||||
ajaxParams: () => {
|
||||
return {
|
||||
id: this.uid
|
||||
};
|
||||
},
|
||||
ajaxResponse: (url, params, response) => response.data,
|
||||
columns:[
|
||||
{title:"Name", field:"name"},
|
||||
@@ -31,10 +36,10 @@ export default{
|
||||
let output;
|
||||
switch(cell.getValue()){
|
||||
case "p":
|
||||
output = "Privatkonto";
|
||||
output = this.$p.t('person', 'privatkonto');
|
||||
break;
|
||||
case "f":
|
||||
output = "Firmenkonto";
|
||||
output = this.$p.t('person', 'firmenkonto');
|
||||
break;
|
||||
default:
|
||||
output = cell.getValue();
|
||||
@@ -63,6 +68,7 @@ export default{
|
||||
let button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-edit"></i>';
|
||||
button.title = this.$p.t('person', 'bankvb_edit');
|
||||
button.addEventListener('click', (event) =>
|
||||
this.actionEditBankverbindung(cell.getData().bankverbindung_id)
|
||||
);
|
||||
@@ -71,6 +77,7 @@ export default{
|
||||
button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-xmark"></i>';
|
||||
button.title = this.$p.t('person', 'bankvb_delete');
|
||||
button.addEventListener('click', () =>
|
||||
this.actionDeleteBankverbindung(cell.getData().bankverbindung_id)
|
||||
);
|
||||
@@ -96,6 +103,13 @@ export default{
|
||||
|
||||
let cm = this.$refs.table.tabulator.columnManager;
|
||||
|
||||
cm.getColumnByField('name').component.updateDefinition({
|
||||
title: this.$p.t('global', 'name')
|
||||
});
|
||||
|
||||
cm.getColumnByField('typ').component.updateDefinition({
|
||||
title: this.$p.t('global', 'typ')
|
||||
});
|
||||
cm.getColumnByField('anschrift').component.updateDefinition({
|
||||
title: this.$p.t('person', 'anschrift')
|
||||
});
|
||||
@@ -105,12 +119,18 @@ export default{
|
||||
cm.getColumnByField('blz').component.updateDefinition({
|
||||
title: this.$p.t('person', 'blz')
|
||||
});
|
||||
cm.getColumnByField('typ').component.updateDefinition({
|
||||
title: this.$p.t('global', 'typ')
|
||||
});
|
||||
cm.getColumnByField('verrechnung').component.updateDefinition({
|
||||
title: this.$p.t('person', 'verrechnung')
|
||||
});
|
||||
cm.getColumnByField('person_id').component.updateDefinition({
|
||||
title: this.$p.t('person', 'person_id')
|
||||
});
|
||||
cm.getColumnByField('bankverbindung_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'bankverbindung_id')
|
||||
});
|
||||
/* cm.getColumnByField('actions').component.updateDefinition({
|
||||
title: this.$p.t('global', 'aktionen')
|
||||
});*/
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -140,20 +160,17 @@ export default{
|
||||
});
|
||||
},
|
||||
actionDeleteBankverbindung(bankverbindung_id){
|
||||
this.loadBankverbindung(bankverbindung_id).then(() => {
|
||||
this.$fhcAlert
|
||||
.confirmDelete()
|
||||
.then(result => result
|
||||
? bankverbindung_id
|
||||
: Promise.reject({handled: true}))
|
||||
.then(this.deleteBankverbindung)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
});
|
||||
this.$fhcAlert
|
||||
.confirmDelete()
|
||||
.then(result => result
|
||||
? bankverbindung_id
|
||||
: Promise.reject({handled: true}))
|
||||
.then(this.deleteBankverbindung)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
addNewBankverbindung(bankverbindungData) {
|
||||
this.$fhcApi.post('api/frontend/v1/stv/kontakt/addNewBankverbindung/' + this.uid,
|
||||
this.bankverbindungData
|
||||
).then(response => {
|
||||
return this.$refs.bankverbindungData.factory.stv.kontakt.addNewBankverbindung(this.uid, this.bankverbindungData)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.hideModal('bankverbindungModal');
|
||||
this.resetModal();
|
||||
@@ -165,7 +182,7 @@ export default{
|
||||
},
|
||||
loadBankverbindung(bankverbindung_id){
|
||||
this.statusNew = false;
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/loadBankverbindung/' + bankverbindung_id)
|
||||
return this.$fhcApi.factory.stv.kontakt.loadBankverbindung(bankverbindung_id)
|
||||
.then(
|
||||
result => {
|
||||
this.bankverbindungData = result.data;
|
||||
@@ -174,7 +191,7 @@ export default{
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
updateBankverbindung(bankverbindung_id){
|
||||
this.$fhcApi.post('api/frontend/v1/stv/kontakt/updateBankverbindung/' + bankverbindung_id,
|
||||
return this.$refs.bankverbindungData.factory.stv.kontakt.updateBankverbindung(bankverbindung_id,
|
||||
this.bankverbindungData)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
@@ -187,7 +204,7 @@ export default{
|
||||
});
|
||||
},
|
||||
deleteBankverbindung(bankverbindung_id){
|
||||
this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteBankverbindung/' + bankverbindung_id)
|
||||
return this.$fhcApi.factory.stv.kontakt.deleteBankverbindung(bankverbindung_id)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||
}).catch(this.$fhcAlert.handleSystemError)
|
||||
@@ -222,7 +239,7 @@ export default{
|
||||
<div class="stv-details-kontakt-bankaccount h-100 pt-3">
|
||||
|
||||
<!--Modal: Bankverbindung-->
|
||||
<BsModal title="Bankverbindung anlegen" ref="bankverbindungModal">
|
||||
<BsModal ref="bankverbindungModal">
|
||||
<template #title>
|
||||
<p v-if="statusNew" class="fw-bold mt-3">{{$p.t('person', 'bankvb_new')}}</p>
|
||||
<p v-else class="fw-bold mt-3">{{$p.t('person', 'bankvb_edit')}}</p>
|
||||
@@ -234,7 +251,7 @@ export default{
|
||||
<form-input
|
||||
type="text"
|
||||
name="name"
|
||||
label="Name"
|
||||
:label="$p.t('global/name')"
|
||||
v-model="bankverbindungData.name"
|
||||
>
|
||||
</form-input>
|
||||
@@ -328,7 +345,7 @@ export default{
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Bankverbindung"
|
||||
:new-btn-label="this.$p.t('person', 'bankverbindung')"
|
||||
@click:new="actionNewBankverbindung"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
|
||||
@@ -18,8 +18,13 @@ export default{
|
||||
data() {
|
||||
return{
|
||||
tabulatorOptions: {
|
||||
ajaxURL: 'api/frontend/v1/stv/Kontakt/getKontakte/' + this.uid,
|
||||
ajaxRequestFunc: this.$fhcApi.get,
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: this.$fhcApi.factory.stv.kontakt.getKontakte,
|
||||
ajaxParams: () => {
|
||||
return {
|
||||
id: this.uid
|
||||
};
|
||||
},
|
||||
ajaxResponse: (url, params, response) => response.data,
|
||||
columns:[
|
||||
{title:"Typ", field:"kontakttyp"},
|
||||
@@ -51,6 +56,7 @@ export default{
|
||||
let button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-edit"></i>';
|
||||
button.title = this.$p.t('person', 'kontakt_edit');
|
||||
button.addEventListener('click', (event) =>
|
||||
this.actionEditContact(cell.getData().kontakt_id)
|
||||
);
|
||||
@@ -59,6 +65,7 @@ export default{
|
||||
button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-xmark"></i>';
|
||||
button.title = this.$p.t('person', 'kontakt_delete');
|
||||
button.addEventListener('click', () =>
|
||||
this.actionDeleteContact(cell.getData().kontakt_id)
|
||||
);
|
||||
@@ -96,7 +103,6 @@ export default{
|
||||
cm.getColumnByField('anmerkung').component.updateDefinition({
|
||||
title: this.$p.t('global', 'anmerkung')
|
||||
});
|
||||
|
||||
cm.getColumnByField('lastupdate').component.updateDefinition({
|
||||
title: this.$p.t('notiz', 'letzte_aenderung')
|
||||
});
|
||||
@@ -106,6 +112,21 @@ export default{
|
||||
cm.getColumnByField('bezeichnung').component.updateDefinition({
|
||||
title: this.$p.t('person', 'standort')
|
||||
});
|
||||
cm.getColumnByField('firma_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'firma_id')
|
||||
});
|
||||
cm.getColumnByField('kontakt_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'kontakt_id')
|
||||
});
|
||||
cm.getColumnByField('person_id').component.updateDefinition({
|
||||
title: this.$p.t('person', 'person_id')
|
||||
});
|
||||
cm.getColumnByField('standort_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'standort_id')
|
||||
});
|
||||
/* cm.getColumnByField('actions').component.updateDefinition({
|
||||
title: this.$p.t('global', 'aktionen')
|
||||
});*/
|
||||
}}
|
||||
],
|
||||
lastSelected: null,
|
||||
@@ -119,6 +140,10 @@ export default{
|
||||
firmen: [],
|
||||
filteredFirmen: [],
|
||||
filteredOrte: null,
|
||||
abortController: {
|
||||
firmen: null,
|
||||
standorte: null
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -156,8 +181,7 @@ export default{
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
addNewContact(formData) {
|
||||
this.$fhcApi.post('api/frontend/v1/stv/kontakt/addNewContact/' + this.uid,
|
||||
this.contactData)
|
||||
return this.$refs.contactData.factory.stv.kontakt.addNewContact(this.uid, this.contactData)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.hideModal("contactModal");
|
||||
@@ -168,11 +192,11 @@ export default{
|
||||
this.reload();
|
||||
});
|
||||
},
|
||||
loadContact(contact_id){
|
||||
loadContact(kontakt_id){
|
||||
this.statusNew = false;
|
||||
if(this.contactData.firma_id)
|
||||
this.loadStandorte(this.contactData.firma_id);
|
||||
return this.$fhcApi.get('api/frontend/v1/stv/kontakt/loadContact/' + contact_id)
|
||||
return this.$fhcApi.factory.stv.kontakt.loadContact(kontakt_id)
|
||||
.then(
|
||||
result => {
|
||||
this.contactData = result.data;
|
||||
@@ -181,7 +205,7 @@ export default{
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
deleteContact(kontakt_id){
|
||||
this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteContact/' + kontakt_id)
|
||||
return this.$fhcApi.factory.stv.kontakt.deleteContact(kontakt_id)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||
})
|
||||
@@ -193,9 +217,9 @@ export default{
|
||||
});
|
||||
},
|
||||
updateContact(kontakt_id){
|
||||
this.$fhcApi.post('api/frontend/v1/stv/kontakt/updateContact/' + kontakt_id,
|
||||
this.contactData).
|
||||
then(response => {
|
||||
return this.$refs.contactData.factory.stv.kontakt.updateContact(kontakt_id,
|
||||
this.contactData)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.hideModal('contactModal');
|
||||
this.resetModal();
|
||||
@@ -214,15 +238,25 @@ export default{
|
||||
this.$refs.table.reloadTable();
|
||||
},
|
||||
searchFirma(event) {
|
||||
return this.$fhcApi
|
||||
.get('api/frontend/v1/stv/kontakt/getFirmen/' + event.query)
|
||||
if (this.abortController.firmen) {
|
||||
this.abortController.firmen.abort();
|
||||
}
|
||||
|
||||
this.abortController.firmen = new AbortController();
|
||||
|
||||
return this.$fhcApi.factory.stv.kontakt.getFirmen(event.query)
|
||||
.then(result => {
|
||||
this.filteredFirmen = result.data.retval;
|
||||
});
|
||||
},
|
||||
loadStandorte(firmen_id) {
|
||||
return this.$fhcApi
|
||||
.get('api/frontend/v1/stv/kontakt/getStandorteByFirma/' + firmen_id)
|
||||
if (this.abortController.standorte) {
|
||||
this.abortController.standorte.abort();
|
||||
}
|
||||
|
||||
this.abortController.standorte = new AbortController();
|
||||
|
||||
return this.$fhcApi.factory.stv.kontakt.getStandorteByFirma(firmen_id)
|
||||
.then(result => {
|
||||
this.filteredOrte = result.data;
|
||||
});
|
||||
@@ -242,8 +276,7 @@ export default{
|
||||
},
|
||||
},
|
||||
created(){
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/kontakt/getKontakttypen')
|
||||
this.$fhcApi.factory.stv.kontakt.getKontakttypen()
|
||||
.then(result => {
|
||||
this.kontakttypen = result.data;
|
||||
})
|
||||
@@ -393,7 +426,7 @@ export default{
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Kontakt"
|
||||
:new-btn-label="this.$p.t('global', 'kontakt')"
|
||||
@click:new="actionNewContact"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
|
||||
@@ -124,7 +124,7 @@ export default {
|
||||
type="select"
|
||||
v-model="data.buchungstyp_kurzbz"
|
||||
name="buchungstyp_kurzbz"
|
||||
:label="$p.t('konto/buchungstyp')"
|
||||
:label="$p.t('konto/buchungstyp') + ' *'"
|
||||
@update:model-value="checkDefaultBetrag"
|
||||
>
|
||||
<option v-for="typ in activeBuchungstypen" :key="typ.buchungstyp_kurzbz" :value="typ.buchungstyp_kurzbz" :class="typ.aktiv ? '' : 'text-decoration-line-through text-muted'">
|
||||
|
||||
@@ -8,9 +8,10 @@ export default {
|
||||
modelValue: Object
|
||||
},
|
||||
template: `
|
||||
<div class="stv-details-notizen h-100 pb-3 overflow-hidden">
|
||||
<div class="stv-details-notizen h-100 pb-3">
|
||||
<!-- mit factory als endpoint -->
|
||||
<core-notiz
|
||||
class="overflow-hidden"
|
||||
:endpoint="$fhcApi.factory.notiz.person"
|
||||
ref="formc"
|
||||
notiz-layout="twoColumnsFormLeft"
|
||||
|
||||
@@ -15,14 +15,6 @@ export default {
|
||||
lists: {
|
||||
from: 'lists'
|
||||
},
|
||||
showZgvErfuellt: {
|
||||
from: 'configShowZgvErfuellt',
|
||||
default: false
|
||||
},
|
||||
showZgvDoktor: {
|
||||
from: 'configShowZgvDoktor',
|
||||
default: false
|
||||
},
|
||||
hasPrestudentPermission: {
|
||||
from: 'hasPrestudentPermission',
|
||||
default: false
|
||||
@@ -41,6 +33,10 @@ export default {
|
||||
},
|
||||
props: {
|
||||
modelValue: Object,
|
||||
config: {
|
||||
type: Object,
|
||||
default: {}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -58,6 +54,7 @@ export default {
|
||||
{ text: 'Nein', value: false }
|
||||
],
|
||||
listStgTyp: [],
|
||||
listBisStandort: [],
|
||||
initialFormData: {},
|
||||
deltaArray: {},
|
||||
actionUpdate: false
|
||||
@@ -91,8 +88,7 @@ export default {
|
||||
|
||||
methods: {
|
||||
loadPrestudent() {
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/prestudent/get/' + this.modelValue.prestudent_id)
|
||||
return this.$fhcApi.factory.stv.prestudent.get(this.modelValue.prestudent_id)
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.data = result;
|
||||
@@ -105,10 +101,10 @@ export default {
|
||||
this.initialFormData = {...(this.initialFormData || {}), ...udfs};
|
||||
},
|
||||
updatePrestudent(){
|
||||
this.$refs.form
|
||||
.post('api/frontend/v1/stv/prestudent/updatePrestudent/' + this.modelValue.prestudent_id, this.deltaArray)
|
||||
return this.$refs.form.factory.stv.prestudent.updatePrestudent(this.modelValue.prestudent_id, this.deltaArray)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.initialFormData = {...this.data};
|
||||
this.deltaArray = [];
|
||||
this.actionUpdate = false;
|
||||
})
|
||||
@@ -120,62 +116,60 @@ export default {
|
||||
},
|
||||
created() {
|
||||
this.loadPrestudent();
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/prestudent/getBezeichnungZGV')
|
||||
this.$fhcApi.factory.stv.prestudent.getBezeichnungZGV()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listZgvs = result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/prestudent/getBezeichnungMZgv')
|
||||
this.$fhcApi.factory.stv.prestudent.getBezeichnungMZgv()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listZgvsmaster = result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/prestudent/getBezeichnungDZgv')
|
||||
this.$fhcApi.factory.stv.prestudent.getBezeichnungDZgv()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listZgvsdoktor = result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/lists/getStgs')
|
||||
this.$fhcApi.factory.stv.prestudent.getStgs()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listStgs = result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/prestudent/getAusbildung')
|
||||
this.$fhcApi.factory.stv.prestudent.getAusbildung()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listAusbildung = result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/prestudent/getAufmerksamdurch')
|
||||
this.$fhcApi.factory.stv.prestudent.getAufmerksamdurch()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listAufmerksamdurch = result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/prestudent/getBerufstaetigkeit')
|
||||
this.$fhcApi.factory.stv.prestudent.getBerufstaetigkeit()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listBerufe = result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/prestudent/getTypenStg')
|
||||
this.$fhcApi.factory.stv.prestudent.getTypenStg()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listStgTyp = result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.$fhcApi.factory.stv.prestudent.getBisstandort()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listBisStandort = result;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
template: `
|
||||
<div class="stv-details-prestudent h-100 pb-3">
|
||||
@@ -187,7 +181,8 @@ export default {
|
||||
<legend>{{$p.t('lehre', 'title_zgv')}} {{modelValue.nachname}} {{modelValue.vorname}}</legend>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('prestudent_id')"
|
||||
container-class="col-3 stv-details-prestudent-prestudent_id"
|
||||
label="Prestudent_id"
|
||||
type="text"
|
||||
v-model="data.prestudent_id"
|
||||
@@ -196,6 +191,8 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
v-if="!config.hiddenFields.includes('person_id')"
|
||||
container-class="col-4 stv-details-prestudent-person_id"
|
||||
container-class="col-3"
|
||||
label="Person_id"
|
||||
type="text"
|
||||
@@ -207,7 +204,8 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgv_code')"
|
||||
container-class="col-3 stv-details-prestudent-zgv_code"
|
||||
label="ZGV"
|
||||
type="select"
|
||||
v-model="data.zgv_code"
|
||||
@@ -216,7 +214,8 @@ export default {
|
||||
<option v-for="zgv in listZgvs" :key="zgv.zgv_code" :value="zgv.zgv_code">{{zgv.zgv_bez}}</option>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvOrt')"
|
||||
container-class="col-3 stv-details-prestudent-zgvOrt"
|
||||
:label="$p.t('infocenter', 'zgvOrt')"
|
||||
type="text"
|
||||
v-model="data.zgvort"
|
||||
@@ -224,7 +223,8 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvDatum')"
|
||||
container-class="col-3 stv-details-prestudent-zgvDatum"
|
||||
:label="$p.t('infocenter', 'zgvDatum')"
|
||||
type="DatePicker"
|
||||
v-model="data.zgvdatum"
|
||||
@@ -238,7 +238,8 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvNation')"
|
||||
container-class="col-3 stv-details-prestudent-zgvNation"
|
||||
:label="$p.t('infocenter', 'zgvNation')"
|
||||
type="select"
|
||||
v-model="data.zgvnation"
|
||||
@@ -250,7 +251,8 @@ export default {
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvmas_code')"
|
||||
container-class="col-3 stv-details-prestudent-zgvmas_code"
|
||||
:label="$p.t('lehre', 'zgvMaster')"
|
||||
type="select"
|
||||
v-model="data.zgvmas_code"
|
||||
@@ -259,7 +261,8 @@ export default {
|
||||
<option v-for="mzgv in listZgvsmaster" :key="mzgv.zgvmas_code" :value="mzgv.zgvmas_code">{{mzgv.zgvmas_bez}}</option>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvmaort')"
|
||||
container-class="col-3 stv-details-prestudent-zgvmaort"
|
||||
:label="$p.t('lehre', 'zgvMasterOrt')"
|
||||
type="text"
|
||||
v-model="data.zgvmaort"
|
||||
@@ -267,7 +270,8 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvmadatum')"
|
||||
container-class="col-3 stv-details-prestudent-zgvmadatum"
|
||||
:label="$p.t('lehre', 'zgvMasterDatum')"
|
||||
type="DatePicker"
|
||||
v-model="data.zgvmadatum"
|
||||
@@ -281,7 +285,8 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvmanation')"
|
||||
container-class="col-3 stv-details-prestudent-zgvmanation"
|
||||
:label="$p.t('lehre', 'zgvMasterNation')"
|
||||
type="select"
|
||||
v-model="data.zgvmanation"
|
||||
@@ -292,9 +297,10 @@ export default {
|
||||
</form-input>
|
||||
</div>
|
||||
<!--ZGV Doktor-->
|
||||
<div v-if="showZgvDoktor" class="row mb-3">
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvdoktor_code')"
|
||||
container-class="col-3 stv-details-prestudent-zgvdoktor_code"
|
||||
:label="$p.t('lehre', 'zgvDoktor')"
|
||||
type="select"
|
||||
v-model="data.zgvdoktor_code"
|
||||
@@ -303,7 +309,8 @@ export default {
|
||||
<option v-for="zgv in listZgvsdoktor" :key="zgv.zgvdoktor_code" :value="zgv.zgvdoktor_code">{{zgv.zgvdoktor_bez}}</option>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvdoktorort')"
|
||||
container-class="col-3 stv-details-prestudent-zgvdoktorort"
|
||||
:label="$p.t('lehre', 'zgvDoktorOrt')"
|
||||
type="text"
|
||||
v-model="data.zgvdoktorort"
|
||||
@@ -311,7 +318,8 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvdoktordatum')"
|
||||
container-class="col-3 stv-details-prestudent-zgvdoktordatum"
|
||||
:label="$p.t('lehre', 'zgvDoktorDatum')"
|
||||
type="DatePicker"
|
||||
v-model="data.zgvdoktordatum"
|
||||
@@ -325,7 +333,8 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
v-if="!config.hiddenFields.includes('zgvdoktornation')"
|
||||
container-class="col-3 stv-details-prestudent-zgvdoktornation"
|
||||
:label="$p.t('lehre', 'zgvDoktorNation')"
|
||||
type="select"
|
||||
v-model="data.zgvdoktornation"
|
||||
@@ -336,10 +345,11 @@ export default {
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<div v-if="showZgvErfuellt" class="row mb-3">
|
||||
<div class="row mb-3">
|
||||
<div class="col-3 pt-4 d-flex align-items-center">
|
||||
<form-input
|
||||
container-class="form-check"
|
||||
v-if="!config.hiddenFields.includes('zgv_erfuellt')"
|
||||
container-class="form-check stv-details-prestudent-zgv_erfuellt"
|
||||
:label="$p.t('infocenter', 'zgvErfuellt')"
|
||||
type="checkbox"
|
||||
v-model="data.zgv_erfuellt"
|
||||
@@ -349,18 +359,20 @@ export default {
|
||||
</div>
|
||||
<div class="col-3 pt-4 d-flex align-items-center">
|
||||
<form-input
|
||||
container-class="form-check"
|
||||
:label="$p.t('infocenter', 'zgvMasterErfuellt')"
|
||||
v-if="!config.hiddenFields.includes('zgvmas_erfuellt')"
|
||||
container-class="form-check stv-details-prestudent-zgvmas_erfuellt"
|
||||
:label="$p.t('lehre', 'zgvMasterErfuellt')"
|
||||
type="checkbox"
|
||||
v-model="data.zgvmas_erfuellt"
|
||||
name="zgvmas_erfuellt"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
<div v-if="showZgvDoktor" class="col-3 pt-4 d-flex align-items-center">
|
||||
<div class="col-3 pt-4 d-flex align-items-center">
|
||||
<form-input
|
||||
container-class="form-check"
|
||||
:label="$p.t('infocenter', 'zgvDoktorErfuellt')"
|
||||
v-if="!config.hiddenFields.includes('zgvdoktor_erfuellt')"
|
||||
container-class="form-check stv-details-prestudent-zgvdoktor_erfuellt"
|
||||
:label="$p.t('lehre', 'zgvDoktorErfuellt')"
|
||||
type="checkbox"
|
||||
v-model="data.zgvdoktor_erfuellt"
|
||||
name="zgvdoktor_erfuellt"
|
||||
@@ -373,7 +385,8 @@ export default {
|
||||
<legend>PrestudentIn</legend>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
v-if="!config.hiddenFields.includes('aufmerksamdurch_kurzbz')"
|
||||
container-class="col-4 stv-details-prestudent-aufmerksamdurch_kurzbz"
|
||||
:label="$p.t('person', 'aufmerksamDurch')"
|
||||
type="select"
|
||||
v-model="data.aufmerksamdurch_kurzbz"
|
||||
@@ -382,7 +395,8 @@ export default {
|
||||
<option v-for="adurch in listAufmerksamdurch" :key="adurch.aufmerksamdurch_kurzbz" :value="adurch.aufmerksamdurch_kurzbz">{{adurch.beschreibung}}</option>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
v-if="!config.hiddenFields.includes('berufstaetigkeit_code')"
|
||||
container-class="col-4 stv-details-prestudent-berufstaetigkeit_code"
|
||||
:label="$p.t('person', 'berufstaetigkeit')"
|
||||
type="select"
|
||||
v-model="data.berufstaetigkeit_code"
|
||||
@@ -391,7 +405,8 @@ export default {
|
||||
<option v-for="beruf in listBerufe" :key="beruf.berufstaetigkeit_code" :value="beruf.berufstaetigkeit_code">{{beruf.berufstaetigkeit_bez}} </option>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
v-if="!config.hiddenFields.includes('ausbildungcode')"
|
||||
container-class="col-4 stv-details-prestudent-ausbildungcode"
|
||||
:label="$p.t('person', 'ausbildung')"
|
||||
type="select"
|
||||
v-model="data.ausbildungcode"
|
||||
@@ -401,21 +416,22 @@ export default {
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
` + /* TODO(chris): Ausgeblendet für Testing
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
v-if="!config.hiddenFields.includes('aufnahmeschluessel')"
|
||||
container-class="col-4 stv-details-prestudent-aufnahmeschluessel"
|
||||
label="Aufnahmeschlüssel"
|
||||
type="text"
|
||||
v-model="data.aufnahmeschluessel"
|
||||
name="aufnahmeschluessel"
|
||||
disabled
|
||||
disabled
|
||||
>
|
||||
</form-input>
|
||||
|
||||
<div class="col-4 pt-4 d-flex align-items-center">
|
||||
<form-input
|
||||
container-class="form-check"
|
||||
v-if="!config.hiddenFields.includes('facheinschlaegigBerufstaetig')"
|
||||
container-class="form-check stv-details-prestudent-facheinschlaegigBerufstaetig"
|
||||
:label="$p.t('person', 'facheinschlaegigBerufstaetig')"
|
||||
type="checkbox"
|
||||
v-model="data.facheinschlberuf"
|
||||
@@ -424,45 +440,46 @@ export default {
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<!--Todo(manu) validierung Integer, liste hier null-->
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
v-if="!config.hiddenFields.includes('standort_code')"
|
||||
container-class="col-4 stv-details-prestudent-standort_code"
|
||||
:label="$p.t('person', 'bisstandort')"
|
||||
type="text"
|
||||
type="select"
|
||||
v-model="data.standort_code"
|
||||
name="standort_code"
|
||||
disabled
|
||||
>
|
||||
</form-input>
|
||||
|
||||
<option v-for="standort in listBisStandort" :key="standort.standort_code" :value="standort.standort_code">{{standort.bezeichnung}}</option>
|
||||
</form-input>
|
||||
</div>
|
||||
*/`
|
||||
|
||||
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
v-if="!config.hiddenFields.includes('studiengang_kz')"
|
||||
container-class="col-4 stv-details-prestudent-studiengang_kz"
|
||||
:label="$p.t('lehre', 'studiengang')"
|
||||
type="select"
|
||||
v-model="data.studiengang_kz"
|
||||
name="studiengang_kz"
|
||||
disabled
|
||||
>
|
||||
<option v-for="stg in listStgs" :key="stg.studiengang_kz" :value="stg.studiengang_kz">{{stg.kuerzel}} - {{stg.bezeichnung}} </option>
|
||||
<option v-for="stg in listStgs" :key="stg.studiengang_kz" :value="stg.studiengang_kz">{{stg.kuerzel}} - {{stg.bezeichnung}}</option>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
v-if="!config.hiddenFields.includes('gsstudientyp_kurzbz')"
|
||||
container-class="col-4 stv-details-prestudent-gsstudientyp_kurzbz"
|
||||
:label="$p.t('lehre', 'studientyp')"
|
||||
type="select"
|
||||
v-model="data.gsstudientyp_kurzbz"
|
||||
name="gsstudientyp_kurzbz"
|
||||
>
|
||||
<option v-for="typ in listStgTyp" :key="typ.typ" :value="typ.typ">{{typ.bezeichnung}} </option>
|
||||
<option v-for="typ in listStgTyp" :key="typ.typ" :value="typ.typ">{{typ.bezeichnung}}</option>
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-4"
|
||||
v-if="!config.hiddenFields.includes('anmerkung')"
|
||||
container-class="col-4 stv-details-prestudent-anmerkung"
|
||||
:label="$p.t('global', 'anmerkung')"
|
||||
type="text"
|
||||
v-model="data.anmerkung"
|
||||
@@ -471,7 +488,8 @@ export default {
|
||||
</form-input>
|
||||
<div class="col-2 pt-4 d-flex align-items-center">
|
||||
<form-input
|
||||
container-class="form-check"
|
||||
v-if="!config.hiddenFields.includes('bismelden')"
|
||||
container-class="form-check stv-details-prestudent-bismelden"
|
||||
:label="$p.t('person', 'bismelden')"
|
||||
type="checkbox"
|
||||
v-model="data.bismelden"
|
||||
@@ -481,7 +499,8 @@ export default {
|
||||
</div>
|
||||
<div class="col-2 pt-4 d-flex align-items-center">
|
||||
<form-input
|
||||
container-class="form-check"
|
||||
v-if="!config.hiddenFields.includes('dual')"
|
||||
container-class="form-check stv-details-prestudent-dual"
|
||||
:label="$p.t('lehre', 'dual')"
|
||||
type="checkbox"
|
||||
v-model="data.dual"
|
||||
@@ -489,7 +508,7 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
` + /* TODO(chris): Ausgeblendet für Testing
|
||||
|
||||
<form-input
|
||||
container-class="col-3"
|
||||
:label="$p.t('lehre', 'foerderrelevant')"
|
||||
@@ -499,9 +518,9 @@ export default {
|
||||
>
|
||||
<option v-for="entry in listFoerderrelevant" :value="entry.value">{{entry.text}}</option>
|
||||
</form-input>
|
||||
*/`
|
||||
|
||||
<form-input
|
||||
v-if="!config.hiddenFields.includes('priorisierung')"
|
||||
container-class="col-1"
|
||||
:label="$p.t('lehre', 'prioritaet')"
|
||||
type="text"
|
||||
@@ -511,7 +530,15 @@ export default {
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
<core-udf @load="udfsLoaded" v-model="data" class="row-cols-3 g-3 mb-3" ci-model="crm/prestudent" :pk="{prestudent_id:modelValue.prestudent_id}"></core-udf>
|
||||
<core-udf
|
||||
v-if="!config.hideUDFs"
|
||||
@load="udfsLoaded"
|
||||
v-model="data"
|
||||
class="row-cols-3 g-3 mb-3"
|
||||
ci-model="crm/prestudent"
|
||||
:pk="{prestudent_id:modelValue.prestudent_id}"
|
||||
>
|
||||
</core-udf>
|
||||
</fieldset>
|
||||
</form-form>
|
||||
<div>
|
||||
|
||||
@@ -11,8 +11,13 @@ export default{
|
||||
data() {
|
||||
return {
|
||||
tabulatorOptions: {
|
||||
ajaxURL: 'api/frontend/v1/stv/Prestudent/getHistoryPrestudents/' + this.personId,
|
||||
ajaxRequestFunc: this.$fhcApi.get,
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: this.$fhcApi.factory.stv.prestudent.getHistoryPrestudents,
|
||||
ajaxParams: () => {
|
||||
return {
|
||||
id: this.personId
|
||||
};
|
||||
},
|
||||
ajaxResponse: (url, params, response) => response.data,
|
||||
//autoColumns: true,
|
||||
columns:[
|
||||
@@ -63,8 +68,12 @@ export default{
|
||||
},
|
||||
watch: {
|
||||
personId() {
|
||||
this.$refs.table.tabulator.setData('api/frontend/v1/stv/Prestudent/getHistoryPrestudents/' + this.personId);
|
||||
}
|
||||
this.$fhcApi.factory.stv.prestudent.getHistoryPrestudents(this.personId)
|
||||
.then(result => {
|
||||
this.$refs.table.tabulator.setData(result.data);
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError); // Handle any errors
|
||||
},
|
||||
},
|
||||
template: `
|
||||
<div class="stv-details-prestudent-history h-100 pt-3">
|
||||
|
||||
@@ -57,8 +57,13 @@ export default{
|
||||
data() {
|
||||
return {
|
||||
tabulatorOptions: {
|
||||
ajaxURL: 'api/frontend/v1/stv/Status/getHistoryPrestudent/' + this.modelValue.prestudent_id,
|
||||
ajaxRequestFunc: this.$fhcApi.get,
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: this.$fhcApi.factory.stv.prestudent.getHistoryPrestudent,
|
||||
ajaxParams: () => {
|
||||
return {
|
||||
id: this.modelValue.prestudent_id
|
||||
};
|
||||
},
|
||||
ajaxResponse: (url, params, response) => response.data,
|
||||
columns: [
|
||||
{title: "Kurzbz", field: "status_kurzbz", tooltip: true},
|
||||
@@ -79,6 +84,7 @@ export default{
|
||||
{title: "InsertVon", field: "insertvon", visible: false},
|
||||
{title: "UpdateAmUm", field: "format_updateamum", visible: false},
|
||||
{title: "UpdateVon", field: "updatevon", visible: false},
|
||||
/* {title: "Aufnahmestufe", field: "aufnahmestufe", visible: false},*/
|
||||
{
|
||||
title: 'Aktionen', field: 'actions',
|
||||
minWidth: 150, // Ensures Action-buttons will be always fully displayed
|
||||
@@ -92,7 +98,7 @@ export default{
|
||||
let button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-forward"></i>';
|
||||
button.title = 'Status vorrücken';
|
||||
button.title = this.$p.t('ui', 'btn_statusVorruecken');
|
||||
button.addEventListener('click', () =>
|
||||
this.actionAdvanceStatus(data.status_kurzbz, data.studiensemester_kurzbz, data.ausbildungssemester)
|
||||
);
|
||||
@@ -103,7 +109,7 @@ export default{
|
||||
button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-check"></i>';
|
||||
button.title = 'Status bestätigen';
|
||||
button.title = this.$p.t('ui', 'btn_confirmStatus');
|
||||
button.addEventListener('click', () =>
|
||||
this.actionConfirmStatus(data.status_kurzbz, data.studiensemester_kurzbz, data.ausbildungssemester)
|
||||
);
|
||||
@@ -114,7 +120,7 @@ export default{
|
||||
button = document.createElement('button');
|
||||
button.className = 'btn btn-outline-secondary btn-action';
|
||||
button.innerHTML = '<i class="fa fa-edit"></i>';
|
||||
button.title = 'Status bearbeiten';
|
||||
button.title = this.$p.t('ui', 'btn_editStatus');
|
||||
button.addEventListener('click', () =>
|
||||
this.actionEditStatus(data.status_kurzbz, data.studiensemester_kurzbz, data.ausbildungssemester)
|
||||
);
|
||||
@@ -125,7 +131,7 @@ export default{
|
||||
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.title = this.$p.t('ui', 'btn_deleteStatus');
|
||||
button.addEventListener('click', () =>
|
||||
this.actionDeleteStatus(data.status_kurzbz, data.studiensemester_kurzbz, data.ausbildungssemester)
|
||||
);
|
||||
@@ -149,12 +155,14 @@ export default{
|
||||
layoutColumnsOnNewData: false,
|
||||
height: 'auto',
|
||||
selectable: false,
|
||||
index: 'statusId',
|
||||
persistenceID: 'stv-multistatus'
|
||||
},
|
||||
tabulatorEvents: [
|
||||
{
|
||||
event: 'tableBuilt',
|
||||
handler: async () => {
|
||||
await this.$p.loadCategory(['lehre','global','person']);
|
||||
await this.$p.loadCategory(['lehre','global','person','ui']);
|
||||
|
||||
let cm = this.$refs.table.tabulator.columnManager;
|
||||
|
||||
@@ -197,6 +205,14 @@ export default{
|
||||
cm.getColumnByField('insertvon').component.updateDefinition({
|
||||
title: this.$p.t('lehre', 'insert_von')
|
||||
});
|
||||
|
||||
cm.getColumnByField('prestudent_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'prestudent_id')
|
||||
});
|
||||
|
||||
cm.getColumnByField('studienplan_id').component.updateDefinition({
|
||||
title: this.$p.t('ui', 'studienplan_id')
|
||||
});
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -210,10 +226,7 @@ export default{
|
||||
watch: {
|
||||
modelValue() {
|
||||
if (this.$refs.table) {
|
||||
if (this.$refs.table.tableBuilt)
|
||||
this.$refs.table.tabulator.setData('api/frontend/v1/stv/Status/getHistoryPrestudent/' + this.modelValue.prestudent_id);
|
||||
else
|
||||
this.data.tabulatorOptions.ajaxURL = 'api/frontend/v1/stv/Status/getHistoryPrestudent/' + this.modelValue.prestudent_id;
|
||||
this.$refs.table.reloadTable();
|
||||
}
|
||||
this.getMaxSem();
|
||||
}
|
||||
@@ -224,8 +237,7 @@ export default{
|
||||
? [this.modelValue.studiengang_kz]
|
||||
: this.modelValue.map(prestudent => prestudent.studiengang_kz);
|
||||
this.maxSem = 0;
|
||||
this.$fhcApi
|
||||
.post('api/frontend/v1/stv/status/getMaxSemester/', {studiengang_kzs})
|
||||
this.$fhcApi.factory.stv.prestudent.getMaxSem(studiengang_kzs)
|
||||
.then(result => this.maxSem = result.data)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
@@ -245,24 +257,32 @@ export default{
|
||||
|
||||
this.$fhcAlert
|
||||
.confirmDelete()
|
||||
.then(result => result
|
||||
? 'api/frontend/v1/stv/status/isLastStatus/' + statusId.prestudent_id
|
||||
: Promise.reject({handled: true})
|
||||
)
|
||||
.then(this.$fhcApi.get)
|
||||
.then(result => result.data
|
||||
? new Promise((resolve, reject) => { BsConfirm.popup(this.$p.t('lehre', 'last_status_confirm_delete')).then(resolve).catch(() => reject({handled:true})) })
|
||||
: true
|
||||
)
|
||||
.then(result => result
|
||||
? 'api/frontend/v1/stv/status/deleteStatus/' + Object.values(statusId).join('/')
|
||||
: Promise.reject({handled: true})
|
||||
)
|
||||
.then(this.$fhcApi.post)
|
||||
.then(() => this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete')))
|
||||
.then(this.reload)
|
||||
.then(this.$reloadList)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
.then(result => {
|
||||
// If confirmed, check if this is the last status
|
||||
return result
|
||||
? this.$fhcApi.factory.stv.prestudent.isLastStatus(statusId.prestudent_id)
|
||||
: Promise.reject({handled: true});
|
||||
})
|
||||
.then(result => {
|
||||
return result.data
|
||||
? new Promise((resolve, reject) => {
|
||||
BsConfirm.popup(this.$p.t('lehre', 'last_status_confirm_delete'))
|
||||
.then(resolve)
|
||||
.catch(() => reject({handled: true}));
|
||||
})
|
||||
: true;
|
||||
})
|
||||
.then(result => {
|
||||
return result
|
||||
? this.$fhcApi.factory.stv.prestudent.deleteStatus(statusId)
|
||||
: Promise.reject({handled: true});
|
||||
})
|
||||
.then(() => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||
this.reload();
|
||||
this.$reloadList();
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError); // Handle any errors
|
||||
},
|
||||
actionAdvanceStatus(status, stdsem, ausbildungssemester) {
|
||||
const statusId = {
|
||||
@@ -271,22 +291,21 @@ export default{
|
||||
studiensemester_kurzbz: stdsem,
|
||||
ausbildungssemester: ausbildungssemester
|
||||
};
|
||||
this.$fhcApi
|
||||
.post('api/frontend/v1/stv/status/advanceStatus/' + Object.values(statusId).join('/'))
|
||||
return this.$fhcApi.factory.stv.prestudent.advanceStatus(statusId)
|
||||
.then(() => this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successAdvance')))
|
||||
.then(this.reload)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
actionConfirmStatus(status, stdsem, ausbildungssemester) {
|
||||
const statusId = {
|
||||
prestudent_id: this.modelValue.prestudent_id,
|
||||
status_kurzbz: status,
|
||||
studiensemester_kurzbz: stdsem,
|
||||
ausbildungssemester: ausbildungssemester
|
||||
};
|
||||
BsConfirm
|
||||
.popup(this.$p.t('stv', 'status_confirm_popup'))
|
||||
.then(() => this.$fhcApi.post(
|
||||
'api/frontend/v1/stv/status/confirmStatus/' +
|
||||
this.modelValue.prestudent_id + '/' +
|
||||
status + '/' +
|
||||
stdsem + '/' +
|
||||
ausbildungssemester
|
||||
))
|
||||
.then(() => this.$fhcApi.factory.stv.prestudent.confirmStatus(statusId))
|
||||
.then(() => this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successConfirm')))
|
||||
.then(this.reload)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
@@ -298,9 +317,7 @@ export default{
|
||||
},
|
||||
created() {
|
||||
this.getMaxSem();
|
||||
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/status/getLastBismeldestichtag/')
|
||||
this.$fhcApi.factory.stv.prestudent.getLastBismeldestichtag()
|
||||
.then(result => {
|
||||
this.dataMeldestichtag = result.data[0].meldestichtag;
|
||||
if (this.$refs.table && this.$refs.table.tableBuilt)
|
||||
@@ -309,8 +326,7 @@ export default{
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
template: `
|
||||
<div class="stv-multistatus h-100 pt-3">
|
||||
|
||||
<div class="stv-multistatus h-100 pt-3">
|
||||
<status-modal
|
||||
ref="test"
|
||||
:meldestichtag="new Date(dataMeldestichtag)"
|
||||
@@ -328,7 +344,7 @@ export default{
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Status"
|
||||
:new-btn-label="this.$p.t('global', 'status')"
|
||||
@click:new="actionNewStatus"
|
||||
>
|
||||
|
||||
@@ -339,6 +355,7 @@ export default{
|
||||
:show-toolbar-student="showToolbarStudent"
|
||||
:show-toolbar-interessent="showToolbarInteressent"
|
||||
:prestudent-ids="prestudentIds"
|
||||
:max-sem="maxSem"
|
||||
@reload-table="reload"
|
||||
>
|
||||
</status-dropdown>
|
||||
@@ -353,6 +370,7 @@ export default{
|
||||
:show-toolbar-student="showToolbarStudent"
|
||||
:show-toolbar-interessent="showToolbarInteressent"
|
||||
:prestudent-ids="prestudentIds"
|
||||
:max-sem="maxSem"
|
||||
@reload-table="reload"
|
||||
>
|
||||
</status-dropdown>
|
||||
|
||||
@@ -30,12 +30,15 @@ export default {
|
||||
type: Array,
|
||||
required: true,
|
||||
default: () => []
|
||||
},
|
||||
maxSem: {
|
||||
type: Number,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
listDataToolbar: [],
|
||||
//TODO(Manu) get from config
|
||||
statiInteressent: ["Bewerber", "Aufgenommener", "Student" , "Wartender", "Abgewiesener"],
|
||||
statiStudent: ["Abbrecher", "Unterbrecher", "Student" , "Diplomand", "Absolvent"]
|
||||
};
|
||||
@@ -139,12 +142,7 @@ export default {
|
||||
addStudent(data) {
|
||||
Promise
|
||||
.allSettled(
|
||||
this.prestudentIds.map(prestudent_id => this.$fhcApi.post(
|
||||
'api/frontend/v1/stv/status/addStudent/' + prestudent_id,
|
||||
data,
|
||||
{ errorHeader: prestudent_id }
|
||||
))
|
||||
)
|
||||
this.prestudentIds.map(prestudent_id => this.$fhcApi.factory.stv.status.addStudent(prestudent_id, data)))
|
||||
.then(res => this.showFeedback(res, data.status_kurzbz));
|
||||
},
|
||||
changeStatusToAbbrecher(statusgrund_id) {
|
||||
@@ -207,27 +205,40 @@ export default {
|
||||
},
|
||||
promtAusbildungssemester(status, statusgrund_id) {
|
||||
const count = this.prestudentIds.length;
|
||||
return BsPrompt
|
||||
.popup(this.$p.t(
|
||||
'lehre',
|
||||
count > 1 ? 'modal_askAusbildungssemPlural' : 'modal_askAusbildungssem',
|
||||
{ count, status }
|
||||
))
|
||||
.then(ausbildungssemester => ({
|
||||
status_kurzbz: status,
|
||||
ausbildungssemester,
|
||||
statusgrund_id
|
||||
}));
|
||||
|
||||
const askForSemester = () => {
|
||||
return BsPrompt
|
||||
.popup(this.$p.t(
|
||||
'lehre',
|
||||
count > 1 ? 'modal_askAusbildungssemPlural' : 'modal_askAusbildungssem',
|
||||
{ count, status }
|
||||
))
|
||||
.then(input => {
|
||||
const ausbildungssemester = parseInt(input, 10);
|
||||
//check if valid number
|
||||
if ((!/^\d+$/.test(input) || ausbildungssemester < 0)) {
|
||||
this.$fhcAlert.alertError(this.$p.t('ui', 'error_noInteger'));
|
||||
|
||||
return askForSemester();
|
||||
}
|
||||
if (ausbildungssemester > this.maxSem) {
|
||||
this.$fhcAlert.alertError(this.$p.t('ui', 'error_maxSem'));
|
||||
|
||||
return askForSemester();
|
||||
}
|
||||
return {
|
||||
status_kurzbz: status,
|
||||
ausbildungssemester,
|
||||
statusgrund_id
|
||||
};
|
||||
});
|
||||
};
|
||||
return askForSemester();
|
||||
},
|
||||
changeStatus(data) {
|
||||
Promise
|
||||
.allSettled(
|
||||
this.prestudentIds.map(prestudent_id => this.$fhcApi.post(
|
||||
'api/frontend/v1/stv/status/changeStatus/' + prestudent_id,
|
||||
data,
|
||||
{ errorHeader: prestudent_id }
|
||||
))
|
||||
)
|
||||
this.prestudentIds.map(prestudent_id => this.$fhcApi.factory.stv.status.changeStatus(prestudent_id, data)))
|
||||
.then(res => this.showFeedback(res, data.status_kurzbz));
|
||||
},
|
||||
showFeedback(results, status_kurzbz) {
|
||||
@@ -248,8 +259,7 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/status/getStatusarray/')
|
||||
this.$fhcApi.factory.stv.status.getStatusarray()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listDataToolbar = result;
|
||||
@@ -258,7 +268,7 @@ export default {
|
||||
},
|
||||
template: `
|
||||
<div class="stv-status-dropdown">
|
||||
|
||||
|
||||
<div v-if="showToolbar" class="btn-group">
|
||||
<button ref="toolbarButton" type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
||||
{{$p.t('lehre', 'btn_statusAendern')}}
|
||||
|
||||
@@ -127,9 +127,8 @@ export default{
|
||||
studiensemester_kurzbz,
|
||||
ausbildungssemester
|
||||
};
|
||||
|
||||
this.$fhcApi
|
||||
.post('api/frontend/v1/stv/status/loadStatus/', this.statusId)
|
||||
|
||||
this.$fhcApi.factory.stv.status.loadStatus(this.statusId)
|
||||
.then(result => {
|
||||
this.statusNew = false;
|
||||
this.formData = result.data;
|
||||
@@ -143,12 +142,9 @@ export default{
|
||||
}
|
||||
},
|
||||
insertStatus() {
|
||||
this.$refs.form
|
||||
.post(
|
||||
'api/frontend/v1/stv/status/insertStatus/' + this.statusId,
|
||||
this.formData
|
||||
)
|
||||
this.$fhcApi.factory.stv.status.insertStatus(this.statusId, this.formData)
|
||||
.then(result => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.$reloadList();
|
||||
this.$emit('saved');
|
||||
this.$refs.modal.hide();
|
||||
@@ -156,11 +152,7 @@ export default{
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
editStatus() {
|
||||
this.$refs.form
|
||||
.post(
|
||||
'api/frontend/v1/stv/status/updateStatus/' + Object.values(this.statusId).join('/'),
|
||||
this.formData
|
||||
)
|
||||
this.$fhcApi.factory.stv.status.updateStatus(this.statusId, this.formData)
|
||||
.then(result => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.$reloadList();
|
||||
@@ -174,24 +166,23 @@ export default{
|
||||
this.prestudent = prestudent;
|
||||
if (old_id == prestudent.prestudent_id)
|
||||
return Promise.resolve();
|
||||
|
||||
return this.$fhcApi
|
||||
.get('api/frontend/v1/stv/prestudent/getStudienplaene/' + prestudent.prestudent_id)
|
||||
|
||||
return this.$fhcApi.factory.stv.status.getStudienplaene(prestudent.prestudent_id)
|
||||
.then(result => this.studienplaene = result.data)
|
||||
.then(() => this.$fhcApi.get('api/frontend/v1/stv/prestudent/getStudiengang/' + prestudent.prestudent_id))
|
||||
.then(() => this.$fhcApi.factory.stv.status.getStudiengang(prestudent.prestudent_id))
|
||||
.then(result => this.mischform = result.data.mischform);
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/stv/status/getStatusgruende')
|
||||
this.$fhcApi.factory.stv.status.getStatusgruende()
|
||||
.then(result => this.statusgruende = result.data)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
/*this.$fhcApi
|
||||
.get('api/frontend/v1/stv/lists/getStati')
|
||||
|
||||
//TODO(Manu) check why it is/was hard coded
|
||||
this.$fhcApi.factory.stv.status.getStati()
|
||||
.then(result => this.stati = result.data)
|
||||
.catch(this.$fhcAlert.handleSystemError);*/
|
||||
this.stati = [
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
/* this.stati = [
|
||||
{ status_kurzbz: 'Interessent', bezeichnung: 'Interessent'},
|
||||
{ status_kurzbz: 'Bewerber', bezeichnung: 'Bewerber'},
|
||||
{ status_kurzbz: 'Aufgenommener', bezeichnung: 'Aufgenommener'},
|
||||
@@ -203,7 +194,7 @@ export default{
|
||||
{ status_kurzbz: 'Abbrecher', bezeichnung: 'Abbrecher'},
|
||||
{ status_kurzbz: 'Abgewiesener', bezeichnung: 'Abgewiesener'},
|
||||
{ status_kurzbz: 'Wartender', bezeichnung: 'Wartender'}
|
||||
];
|
||||
];*/
|
||||
},
|
||||
template: `
|
||||
<bs-modal class="stv-status-modal" ref="modal">
|
||||
@@ -212,7 +203,7 @@ export default{
|
||||
</template>
|
||||
|
||||
<core-form ref="form">
|
||||
|
||||
|
||||
<form-validation></form-validation>
|
||||
|
||||
<p v-if="bisLocked && !isStatusBeforeStudent">
|
||||
|
||||
@@ -24611,6 +24611,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'notiz',
|
||||
'phrase' => 'notiz_delete',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Notiz löschen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Delete Note',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'notiz',
|
||||
@@ -33264,6 +33284,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'bankverbindung',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Bankverbindung',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'bank details',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
//Status
|
||||
array(
|
||||
'app' => 'core',
|
||||
@@ -34385,6 +34425,87 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'btn_statusVorruecken',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Status vorrücken',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'advance status',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'btn_confirmStatus',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Status bestätigen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'confirm status',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'btn_editStatus',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Status bearbeiten',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'edit status',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'btn_deleteStatus',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Status löschen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'delete status',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
// Betriebsmittel begin
|
||||
array(
|
||||
'app' => 'core',
|
||||
@@ -36574,6 +36695,67 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'betriebsmittel',
|
||||
'phrase' => 'btn_printUebernahmebestaetigung',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Übernahmebestätigung drucken',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Print acceptance confirmation',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'betriebsmittel',
|
||||
'phrase' => 'btn_editBetriebsmittel',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betriebsmittel bearbeiten',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Edit Resource',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'betriebsmittel',
|
||||
'phrase' => 'btn_deleteBetriebsmittel',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betriebsmittel löschen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Delete Resource',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// Betriebsmittel end
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'uhstat',
|
||||
@@ -37297,7 +37479,569 @@ array(
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// FHC4 Phrases CleanUpTasks End
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'wahlname',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Wahlname',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'elective name',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'familienstand',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Familienstand',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'marital status',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'foto',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Foto',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'photo',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'homepage',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Homepage',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'homepage',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'lehre',
|
||||
'phrase' => 'verband',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Verband',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'verband',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'aktiv',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Aktiv',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'active',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'lehre',
|
||||
'phrase' => 'error_no_person',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Keine Person gefunden',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'No Person found',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'lehre',
|
||||
'phrase' => 'error_no_student',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Kein/e Student/in gefunden',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'No Student found',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'geschieden',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'geschieden',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'divorced',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'ledig',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'ledig',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'single',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'verheiratet',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'verheiratet',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'married',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'verwitwet',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'verwitwet',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'widowed',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'firma_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Firma Id',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Company Id',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'adresse_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Adresse ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Address ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'kontakt_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Kontakt ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Contact ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'standort_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Standort ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Location ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'bankverbindung_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Bankverbindung ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Bankdetails ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'studienplan_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Studienplan ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Studyplan ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'prestudent_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'PrestudentIn ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Prestudent ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'notiz_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Notiz ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Notes ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'notizzuordnung_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Notizzuordnung ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Noteassignment ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'extension_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Extension ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Extension ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'type_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Type ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Type ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'betriebsmittel_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betriebsmittel ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Ressource ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'betriebsmittelperson_id',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betriebsmittelperson ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Ressourceperson ID',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'dropdownLoading',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Daten werden geladen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Loading',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'error_noInteger',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Nur Eingabe von ganzen Zahlen erlaubt',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Error: Only input of whole numbers allowed',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'error_maxSem',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Ausbildungssemester nicht zulässig: größer als Höchstsemester',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Error: Semester not allowed: higher than max Semester',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// FHC4 Phrases CleanUpTasks End
|
||||
);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user