Compare commits

..

28 Commits

Author SHA1 Message Date
Harald Bamberger c84146fcbd Merge branch 'bug-77989/StudVW_Datepicker_check_modeltype' 2026-07-17 10:36:23 +02:00
ma0068 35decf476c make fields deletable with keyboard: Konto Buchungsdatum, Prüfung Datum, Abschlussprüfung Datum und Sponsion, Mobilität von und bis 2026-07-17 09:12:02 +02:00
Harald Bamberger 6cfc4b0973 Merge branch 'master' into bug-77989/StudVW_Datepicker_check_modeltype 2026-07-16 16:01:25 +02:00
Harald Bamberger 6296b87ea5 Merge branch 'bug-77989/StudVW_Datepicker_check_modeltype' 2026-07-16 15:54:18 +02:00
Harald Bamberger 576a44838f datetime format bewerbung_abgeschickt_am 2026-07-16 15:53:32 +02:00
Harald Bamberger c00e7a182c Merge branch 'master' into bug-77989/StudVW_Datepicker_check_modeltype 2026-07-16 15:00:45 +02:00
ma0068 fd1b5daf9c enable deletion of zgv and zgv master date with null and empty string 2026-07-16 14:51:38 +02:00
Harald Bamberger c0b5f2f748 add permission to DetailHeader function for use in pv21 2026-07-16 12:58:00 +02:00
ma0068 b217681ee5 use model-type for interessenten anlegen, listNew 2026-07-14 15:23:06 +02:00
ma0068 7841a73fc0 prepare field bewerbung_abgeschicktamum for showing in frontend (datestamp in database) and add also model-type to datepicker 2026-07-14 15:05:54 +02:00
ma0068 2064008f9e add model-type to fields Betriebsmittel/ausgegebenam, Betriebsmittel/retouram, Funktionen/datumvon und Funktionen/datumbis 2026-07-14 14:31:13 +02:00
ma0068 19b9906c86 Aufnahmetermine: use model-type isodate for field anmeldedatum 2026-07-14 14:23:37 +02:00
ma0068 2c3913a763 Mobility: use model-type isodate for fields von and bis 2026-07-14 14:19:25 +02:00
ma0068 9111edf442 Dokumente: use model-type isodate for field nachgereicht_am 2026-07-14 14:06:59 +02:00
ma0068 b1c47da3c3 use model-type isodate for fields in StatusModal datum and bestaetigtam 2026-07-14 14:01:12 +02:00
ma0068 67eb238876 use model-type isodate for field Details Gebdatum 2026-07-14 13:37:19 +02:00
Harald Bamberger a139cc8d2e initialize with luxon date iso format 2026-07-14 13:24:04 +02:00
Harald Bamberger 35ecbdefa8 studvw prestudent ZGV date fields and konto date fields use iso date as model-type 2026-07-14 13:17:27 +02:00
Harald Bamberger 5f0b1ace51 Merge branch 'epic/LV-Evaluierung_STG-KF-Datenaggregation' 2026-07-14 07:33:24 +02:00
Harald Bamberger b891d8baa5 Merge branch 'master' into epic/LV-Evaluierung_STG-KF-Datenaggregation 2026-07-13 18:01:35 +02:00
Cristina 5dbcf9ce70 Added sancho_header_lvevaluierung_rollout.jpg and sancho_footer_lvevaluierung_rollout.jpg 2026-07-13 17:31:34 +02:00
adisposkofh c26db6cc40 minor fix to tabulator localized columns parsing 2026-07-09 11:44:04 +02:00
Cristina 8548b93ddc Added method getPreviousSameSemesterFrom in Studiensemester_model.php
Method returns the current study semester and the previous semesters of the same type (SS/WS).
2026-07-08 18:57:31 +02:00
Cristina bdc4782e9d Merge branch 'master' into epic/LV-Evaluierung_STG-KF-Datenaggregation 2026-07-08 18:54:02 +02:00
Cristina 0583990870 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2026-07-08 18:53:37 +02:00
Cristina 335753be8c Adapted Lvevaluierung Mail texte "Evaluierungszeitfenster" instead of "Evaluationszeitraum" 2026-07-06 12:19:28 +02:00
Cristina 8862f050e8 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2026-06-09 10:37:53 +02:00
Cristina 29f9b226ab Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2026-05-12 17:08:53 +02:00
28 changed files with 116 additions and 87 deletions
@@ -259,7 +259,7 @@ class BetriebsmittelP extends FHCAPI_Controller
$kaution = $this->input->post('kaution'); $kaution = $this->input->post('kaution');
if($kaution) $kaution = str_replace(',', '.', $kaution); if($kaution) $kaution = str_replace(',', '.', $kaution);
$ausgegebenam = $this->input->post('ausgegebenam'); $ausgegebenam = $this->input->post('ausgegebenam');
$retouram = $this->input->post('retouram'); $retouram = $this->input->post('retouram') == "" ? null : $this->input->post('retouram');
// NOTE(chris): transform_kartennummer // NOTE(chris): transform_kartennummer
if ($betriebsmitteltyp == 'Zutrittskarte' && $nummer) if ($betriebsmitteltyp == 'Zutrittskarte' && $nummer)
@@ -9,9 +9,9 @@ class Detailheader extends FHCAPI_Controller
public function __construct() public function __construct()
{ {
parent::__construct([ parent::__construct([
'getHeader' => ['vertrag/mitarbeiter:r'], 'getHeader' => ['vertrag/mitarbeiter:r', 'basis/mitarbeiter:r'],
'getPersonAbteilung' => ['vertrag/mitarbeiter:r'], 'getPersonAbteilung' => ['vertrag/mitarbeiter:r', 'basis/mitarbeiter:r'],
'getLeitungOrg' => ['vertrag/mitarbeiter:r'], 'getLeitungOrg' => ['vertrag/mitarbeiter:r', 'basis/mitarbeiter:r'],
]); ]);
} }
@@ -294,6 +294,10 @@ class Funktionen extends FHCAPI_Controller
{ {
$this->terminateWithValidationErrors($this->form_validation->error_array()); $this->terminateWithValidationErrors($this->form_validation->error_array());
} }
if($datum_von == '')
$datum_von = null;
if($datum_bis == '')
$datum_bis = null;
$result = $this->BenutzerfunktionModel->update( $result = $this->BenutzerfunktionModel->update(
[ [
@@ -371,6 +371,9 @@ class Abschlusspruefung extends FHCAPI_Controller
$this->terminateWithValidationErrors($this->form_validation->error_array()); $this->terminateWithValidationErrors($this->form_validation->error_array());
} }
$datum = $formData['datum'] == '' ? null : $formData['datum'];
$sponsion = $formData['sponsion'] == '' ? null : $formData['sponsion'];
$result = $this->AbschlusspruefungModel->update( $result = $this->AbschlusspruefungModel->update(
[ [
'abschlusspruefung_id' => $abschlusspruefung_id 'abschlusspruefung_id' => $abschlusspruefung_id
@@ -382,8 +385,8 @@ class Abschlusspruefung extends FHCAPI_Controller
'vorsitz' => $vorsitz, 'vorsitz' => $vorsitz,
'pruefungsantritt_kurzbz' => $formData['pruefungsantritt_kurzbz'], 'pruefungsantritt_kurzbz' => $formData['pruefungsantritt_kurzbz'],
'abschlussbeurteilung_kurzbz' => $formData['abschlussbeurteilung_kurzbz'], 'abschlussbeurteilung_kurzbz' => $formData['abschlussbeurteilung_kurzbz'],
'datum' => $formData['datum'], 'datum' => $datum,
'sponsion' => $formData['sponsion'], 'sponsion' => $sponsion,
'pruefer1' => $pruefer1, 'pruefer1' => $pruefer1,
'pruefer2' => $pruefer2, 'pruefer2' => $pruefer2,
'pruefer3' => $pruefer3, 'pruefer3' => $pruefer3,
@@ -170,6 +170,8 @@ class Dokumente extends FHCAPI_Controller
$this->terminateWithValidationErrors($this->form_validation->error_array()); $this->terminateWithValidationErrors($this->form_validation->error_array());
} }
$nachgereicht_am = $this->input->post('nachgereicht_am') == '' ? null : $this->input->post('nachgereicht_am');
$uid = getAuthUID(); $uid = getAuthUID();
$result = $this->AkteModel->update( $result = $this->AkteModel->update(
@@ -180,7 +182,7 @@ class Dokumente extends FHCAPI_Controller
'dokument_kurzbz' => $this->input->post('dokument_kurzbz'), 'dokument_kurzbz' => $this->input->post('dokument_kurzbz'),
'anmerkung_intern' => $this->input->post('anmerkung_intern'), 'anmerkung_intern' => $this->input->post('anmerkung_intern'),
'titel_intern' => $this->input->post('titel_intern'), 'titel_intern' => $this->input->post('titel_intern'),
'nachgereicht_am' => $this->input->post('nachgereicht_am'), 'nachgereicht_am' => $nachgereicht_am,
'updateamum' => date('c'), 'updateamum' => date('c'),
'updatevon' => $uid, 'updatevon' => $uid,
] ]
@@ -429,9 +429,12 @@ class Konto extends FHCAPI_Controller
'updateamum' => date('c'), 'updateamum' => date('c'),
'updatevon' => getAuthUID() 'updatevon' => getAuthUID()
]; ];
foreach ($allowed as $field) foreach ($allowed as $field)
if ($this->input->post($field) !== null) if ($this->input->post($field) !== null)
$data[$field] = $this->input->post($field); $data[$field] = $this->input->post($field);
if($data['buchungsdatum'] == '')
$data['buchungsdatum'] = null;
$result = $this->KontoModel->update($id, $data); $result = $this->KontoModel->update($id, $data);
@@ -237,8 +237,8 @@ class Mobility extends FHCAPI_Controller
} }
$formData = $this->input->post('formData'); $formData = $this->input->post('formData');
$von = $formData['von'] ?? null; $von = ($formData['von'] ?? '') ?: null;
$bis = $formData['bis'] ?? null; $bis = ($formData['bis'] ?? '') ?: null;
$nation_code = $formData['nation_code'] ?? null; $nation_code = $formData['nation_code'] ?? null;
$mobilitaetsprogramm_code = $formData['mobilitaetsprogramm_code'] ?? null; $mobilitaetsprogramm_code = $formData['mobilitaetsprogramm_code'] ?? null;
$herkunftsland_code = $formData['herkunftsland_code'] ?? null; $herkunftsland_code = $formData['herkunftsland_code'] ?? null;
@@ -193,7 +193,7 @@ class Prestudent extends FHCAPI_Controller
} }
elseif ( elseif (
$val === '' $val === ''
&& in_array($prop, ['zgvnation', 'zgvmanation', 'zgvdoktornation', 'berufstaetigkeit_code', 'ausbildungcode']) && in_array($prop, ['zgvnation', 'zgvmanation', 'zgvdoktornation', 'berufstaetigkeit_code', 'ausbildungcode', 'zgvdatum', 'zgvmadatum'])
) )
{ {
$val = null; $val = null;
@@ -448,8 +448,10 @@ class Pruefung extends FHCAPI_Controller
} }
} }
$datum = $this->input->post('datum') == '' ? null : $this->input->post('datum');
if(intval($pruefung_id) > 0) if(intval($pruefung_id) > 0)
{ {
$result = $this->PruefungModel->update( $result = $this->PruefungModel->update(
[ [
'pruefung_id' => $pruefung_id 'pruefung_id' => $pruefung_id
@@ -459,7 +461,7 @@ class Pruefung extends FHCAPI_Controller
'mitarbeiter_uid' => $this->input->post('mitarbeiter_uid'), 'mitarbeiter_uid' => $this->input->post('mitarbeiter_uid'),
'note' => $this->input->post('note'), 'note' => $this->input->post('note'),
'pruefungstyp_kurzbz' => $this->input->post('pruefungstyp_kurzbz'), 'pruefungstyp_kurzbz' => $this->input->post('pruefungstyp_kurzbz'),
'datum' => $this->input->post('datum'), 'datum' => $datum,
'anmerkung' => $this->input->post('anmerkung'), 'anmerkung' => $this->input->post('anmerkung'),
'updatevon' => $authUID, 'updatevon' => $authUID,
'updateamum' => date('c'), 'updateamum' => date('c'),
@@ -472,7 +474,7 @@ class Pruefung extends FHCAPI_Controller
'lehreinheit_id' => $this->input->post('lehreinheit_id'), 'lehreinheit_id' => $this->input->post('lehreinheit_id'),
'student_uid' => $this->input->post('student_uid'), 'student_uid' => $this->input->post('student_uid'),
'mitarbeiter_uid' => $this->input->post('mitarbeiter_uid'), 'mitarbeiter_uid' => $this->input->post('mitarbeiter_uid'),
'datum' => $this->input->post('datum'), 'datum' => $datum,
'pruefungstyp_kurzbz' => $this->input->post('pruefungstyp_kurzbz'), 'pruefungstyp_kurzbz' => $this->input->post('pruefungstyp_kurzbz'),
'note' => $this->input->post('note'), 'note' => $this->input->post('note'),
'anmerkung' => $this->input->post('anmerkung'), 'anmerkung' => $this->input->post('anmerkung'),
@@ -520,7 +522,7 @@ class Pruefung extends FHCAPI_Controller
'studiensemester_kurzbz' => $studiensemester_kurzbz, 'studiensemester_kurzbz' => $studiensemester_kurzbz,
'note' => $this->input->post('note'), 'note' => $this->input->post('note'),
'uebernahmedatum' => date('c'), 'uebernahmedatum' => date('c'),
'benotungsdatum' => $this->input->post('datum'), 'benotungsdatum' => $datum,
'insertamum' => date('c'), 'insertamum' => date('c'),
'insertvon' => $authUID, 'insertvon' => $authUID,
'punkte' => $this->input->post('punkte') ? str_replace(',', '.', $this->input->post('punkte')) : null 'punkte' => $this->input->post('punkte') ? str_replace(',', '.', $this->input->post('punkte')) : null
@@ -555,7 +557,7 @@ class Pruefung extends FHCAPI_Controller
], [ ], [
'note' => $this->input->post('note'), 'note' => $this->input->post('note'),
'uebernahmedatum' => date('c'), 'uebernahmedatum' => date('c'),
'benotungsdatum' => $this->input->post('datum'), 'benotungsdatum' => $datum,
'updateamum' => date('c'), 'updateamum' => date('c'),
'updatevon' => $authUID, 'updatevon' => $authUID,
'punkte' => $this->input->post('punkte') ? str_replace(',', '.', $this->input->post('punkte')) : null 'punkte' => $this->input->post('punkte') ? str_replace(',', '.', $this->input->post('punkte')) : null
@@ -296,6 +296,10 @@ class Student extends FHCAPI_Controller
$fotoval = ($val == '') ? null : str_replace('data:image/jpeg;base64,', '', $val); $fotoval = ($val == '') ? null : str_replace('data:image/jpeg;base64,', '', $val);
$update_person[$prop] = $fotoval; $update_person[$prop] = $fotoval;
} }
else if ($prop == 'gebdatum')
{
$update_person[$prop] = ($val == '') ? null : $val;
}
else else
{ {
$update_person[$prop] = $val; $update_person[$prop] = $val;
+3 -58
View File
@@ -64,7 +64,7 @@ class AuthLib
{ {
// - The uid must be NOT an empty string // - The uid must be NOT an empty string
// - The current user should NOT be already logged as the given uid // - The current user should NOT be already logged as the given uid
if (!isEmptyString($uid) && $this->getAuthObj()->{self::AO_USERNAME} != $uid) if (!isEmptyString($uid) && $this->getAuthObj()->username != $uid)
{ {
$this->_ci->load->library('PermissionLib'); // Loads permissions library $this->_ci->load->library('PermissionLib'); // Loads permissions library
@@ -75,28 +75,8 @@ class AuthLib
$loginAS = $this->_createAuthObjByPerson(array('uid' => $uid)); $loginAS = $this->_createAuthObjByPerson(array('uid' => $uid));
if (isSuccess($loginAS)) if (isSuccess($loginAS))
{ {
$authObj = getData($loginAS); // get the authenticate object
// Store the new authentication object in authentication session // Store the new authentication object in authentication session
setSessionElement(self::SESSION_NAME, self::SESSION_AUTH_OBJ, $authObj); setSessionElement(self::SESSION_NAME, self::SESSION_AUTH_OBJ, getData($loginAS));
$authObjOrigin = getSessionElement(self::SESSION_NAME, self::SESSION_AUTH_OBJ_ORIGIN);
// Load the LogLib
$this->_ci->load->library('LogLib');
// Setup the LogLib
$this->_ci->loglib->setConfigs(
array(
'dbLogType' => 'API', // required
'dbExecuteUser' => $authObjOrigin->{self::AO_USERNAME}, // current logged user
'requestId' => 'API'
)
);
// Log into the database
$this->_ci->loglib->logInfoDB(
'The user "'.$authObjOrigin->{self::AO_USERNAME}.'" has changed identity with the user "'.$authObj->{self::AO_USERNAME}.
'" and person id '.$authObj->{self::AO_PERSON_ID}
);
} }
} }
else else
@@ -125,7 +105,7 @@ class AuthLib
{ {
// - The person id must be a number // - The person id must be a number
// - The current user should NOT be already logged as the given person id // - The current user should NOT be already logged as the given person id
if (is_numeric($person_id) && $this->getAuthObj()->{self::AO_PERSON_ID} != $person_id) if (is_numeric($person_id) && $this->getAuthObj()->person_id != $person_id)
{ {
$this->_ci->load->library('PermissionLib'); // Loads permissions library $this->_ci->load->library('PermissionLib'); // Loads permissions library
@@ -144,24 +124,6 @@ class AuthLib
{ {
// Store the new authentication object in authentication session // Store the new authentication object in authentication session
setSessionElement(self::SESSION_NAME, self::SESSION_AUTH_OBJ, $authObj); setSessionElement(self::SESSION_NAME, self::SESSION_AUTH_OBJ, $authObj);
$authObjOrigin = getSessionElement(self::SESSION_NAME, self::SESSION_AUTH_OBJ_ORIGIN);
// Load the LogLib
$this->_ci->load->library('LogLib');
// Setup the LogLib
$this->_ci->loglib->setConfigs(
array(
'dbLogType' => 'API', // required
'dbExecuteUser' => $authObjOrigin->{self::AO_USERNAME}, // current logged user
'requestId' => 'API'
)
);
// Log into the database
$this->_ci->loglib->logInfoDB(
'The user "'.$authObjOrigin->{self::AO_USERNAME}.'" has changed identity with the user "'.$authObj->{self::AO_USERNAME}.
'" and person id '.$authObj->{self::AO_PERSON_ID}
);
} }
else // if does NOT have permissions else // if does NOT have permissions
{ {
@@ -210,22 +172,6 @@ class AuthLib
// The LoginAs account is logged out // The LoginAs account is logged out
// The user is again connected with its real account // The user is again connected with its real account
setSessionElement(self::SESSION_NAME, self::SESSION_AUTH_OBJ, $authObjOrigin); setSessionElement(self::SESSION_NAME, self::SESSION_AUTH_OBJ, $authObjOrigin);
// Load the LogLib
$this->_ci->load->library('LogLib');
// Setup the LogLib
$this->_ci->loglib->setConfigs(
array(
'dbLogType' => 'API', // required
'dbExecuteUser' => $authObjOrigin->{self::AO_USERNAME}, // current logged user
'requestId' => 'API'
)
);
// Log into the database
$this->_ci->loglib->logInfoDB(
'The user "'.$authObjOrigin->{self::AO_USERNAME}.'" has logout from the user "'.$authObj->{self::AO_USERNAME}.
'" and person id '.$authObj->{self::AO_PERSON_ID}
);
} }
} }
@@ -662,4 +608,3 @@ class AuthLib
return $finalUserBasicDataByUID; return $finalUserBasicDataByUID;
} }
} }
@@ -122,6 +122,47 @@ class Studiensemester_model extends DB_Model
return $this->execQuery($query, array($studiensemester_kurzbz, $limit)); return $this->execQuery($query, array($studiensemester_kurzbz, $limit));
} }
/**
* Returns the current study semester and the previous semesters of the same type (SS/WS).
*
* Example:
* - SS2026, limit 3: SS2026, SS2025, SS2024
* - WS2025, limit 2: WS2025, WS2024
*
* @param $studiensemester_kurzbz
* @param $limit
*/
public function getPreviousSameSemesterFrom($studiensemester_kurzbz, $limit = 1)
{
$qry = '
SELECT
studiensemester_kurzbz,
start,
ende
FROM
public.tbl_studiensemester
WHERE
SUBSTRING(studiensemester_kurzbz FROM 1 FOR 2) = SUBSTRING(? FROM 1 FOR 2)
AND start <= (
SELECT start
FROM public.tbl_studiensemester
WHERE studiensemester_kurzbz = ?
)
ORDER BY
start DESC
LIMIT ?
';
return $this->execQuery($qry,
[
$studiensemester_kurzbz,
$studiensemester_kurzbz,
$limit
]
);
}
/** /**
* getNearest * getNearest
*/ */
@@ -260,7 +260,6 @@ class Benutzerfunktion_model extends DB_Model
return $this->execQuery($query, $parameters_array); return $this->execQuery($query, $parameters_array);
} }
/** /**
* Get active Kompetenzfeldleitung bei UID. * Get active Kompetenzfeldleitung bei UID.
* *
@@ -296,7 +295,6 @@ class Benutzerfunktion_model extends DB_Model
return $this->execQuery($query, $parameters_array); return $this->execQuery($query, $parameters_array);
} }
public function insertBenutzerfunktion($Json) public function insertBenutzerfunktion($Json)
{ {
unset($Json['benutzerfunktion_id']); unset($Json['benutzerfunktion_id']);
@@ -433,6 +433,7 @@ export default {
:label="$p.t('wawi/ausgegebenam')" :label="$p.t('wawi/ausgegebenam')"
name="ausgegebenam" name="ausgegebenam"
v-model="formData.ausgegebenam" v-model="formData.ausgegebenam"
model-type="yyyy-MM-dd"
auto-apply auto-apply
:enable-time-picker="false" :enable-time-picker="false"
text-input text-input
@@ -449,6 +450,7 @@ export default {
:label="$p.t('wawi/retouram')" :label="$p.t('wawi/retouram')"
name="retouram" name="retouram"
v-model="formData.retouram" v-model="formData.retouram"
model-type="yyyy-MM-dd"
auto-apply auto-apply
:enable-time-picker="false" :enable-time-picker="false"
text-input text-input
@@ -551,6 +551,7 @@ export default {
container-class="mb-3 col-3" container-class="mb-3 col-3"
type="DatePicker" type="DatePicker"
v-model="formData.datum_von" v-model="formData.datum_von"
model-type="yyyy-MM-dd"
name="datum_von" name="datum_von"
:label="$p.t('ui/from') + ' *'" :label="$p.t('ui/from') + ' *'"
auto-apply auto-apply
@@ -566,6 +567,7 @@ export default {
container-class="mb-3 col-3" container-class="mb-3 col-3"
type="DatePicker" type="DatePicker"
v-model="formData.datum_bis" v-model="formData.datum_bis"
model-type="yyyy-MM-dd"
name="datum_bis" name="datum_bis"
:label="$p.t('global/bis')" :label="$p.t('global/bis')"
auto-apply auto-apply
@@ -470,6 +470,7 @@ export default {
:label="$p.t('admission', 'anmeldundRtAm')" :label="$p.t('admission', 'anmeldundRtAm')"
type="DatePicker" type="DatePicker"
v-model="formData.anmeldedatum" v-model="formData.anmeldedatum"
model-type="yyyy-MM-dd"
auto-apply auto-apply
:enable-time-picker="false" :enable-time-picker="false"
text-input text-input
@@ -293,6 +293,7 @@ export default {
:label="$p.t('person', 'geburtsdatum')" :label="$p.t('person', 'geburtsdatum')"
type="DatePicker" type="DatePicker"
v-model="data.gebdatum" v-model="data.gebdatum"
model-type="yyyy-MM-dd"
name="gebdatum" name="gebdatum"
:clearable="false" :clearable="false"
no-today no-today
@@ -103,6 +103,7 @@ export default {
<form-input <form-input
type="DatePicker" type="DatePicker"
v-model="formData.nachgereicht_am" v-model="formData.nachgereicht_am"
model-type="yyyy-MM-dd"
name="nachgereicht_am" name="nachgereicht_am"
:label="$p.t('dokumente/nachreichungAm')" :label="$p.t('dokumente/nachreichungAm')"
auto-apply auto-apply
@@ -27,7 +27,7 @@ export default {
return { return {
filter: false, filter: false,
studiengang_kz: false, studiengang_kz: false,
counterdate: new Date() counterdate: luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate()
}; };
}, },
computed: { computed: {
@@ -259,6 +259,7 @@ export default {
<form-input <form-input
type="DatePicker" type="DatePicker"
v-model="counterdate" v-model="counterdate"
model-type="yyyy-MM-dd"
input-group input-group
:enable-time-picker="false" :enable-time-picker="false"
text-input text-input
@@ -79,6 +79,7 @@ export default {
<form-input <form-input
type="DatePicker" type="DatePicker"
v-model="data.buchungsdatum" v-model="data.buchungsdatum"
model-type="yyyy-MM-dd"
name="buchungsdatum" name="buchungsdatum"
:label="$p.t('konto/buchungsdatum')" :label="$p.t('konto/buchungsdatum')"
:enable-time-picker="false" :enable-time-picker="false"
@@ -88,7 +88,7 @@ export default {
this.data = { this.data = {
buchungstyp_kurzbz: '', buchungstyp_kurzbz: '',
betrag: '-0.00', betrag: '-0.00',
buchungsdatum: new Date(), buchungsdatum: luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate(),
buchungstext: '', buchungstext: '',
mahnspanne: 30, mahnspanne: 30,
studiensemester_kurzbz: this.currentSemester, studiensemester_kurzbz: this.currentSemester,
@@ -154,6 +154,7 @@ export default {
<form-input <form-input
type="DatePicker" type="DatePicker"
v-model="data.buchungsdatum" v-model="data.buchungsdatum"
model-type="yyyy-MM-dd"
name="buchungsdatum" name="buchungsdatum"
:label="$p.t('konto/buchungsdatum')" :label="$p.t('konto/buchungsdatum')"
:enable-time-picker="false" :enable-time-picker="false"
@@ -467,6 +467,7 @@ export default {
:label="$p.t('ui', 'von')" :label="$p.t('ui', 'von')"
type="DatePicker" type="DatePicker"
v-model="formData.von" v-model="formData.von"
model-type="yyyy-MM-dd"
auto-apply auto-apply
:enable-time-picker="false" :enable-time-picker="false"
text-input text-input
@@ -501,6 +502,7 @@ export default {
:label="$p.t('global', 'bis')" :label="$p.t('global', 'bis')"
type="DatePicker" type="DatePicker"
v-model="formData.bis" v-model="formData.bis"
model-type="yyyy-MM-dd"
auto-apply auto-apply
:enable-time-picker="false" :enable-time-picker="false"
text-input text-input
@@ -325,6 +325,7 @@ export default {
:label="$p.t('infocenter', 'zgvDatum')" :label="$p.t('infocenter', 'zgvDatum')"
type="DatePicker" type="DatePicker"
v-model="data.zgvdatum" v-model="data.zgvdatum"
model-type="yyyy-MM-dd"
name="zgvdatum" name="zgvdatum"
no-today no-today
auto-apply auto-apply
@@ -389,6 +390,7 @@ export default {
:label="$p.t('lehre', 'zgvMasterDatum')" :label="$p.t('lehre', 'zgvMasterDatum')"
type="DatePicker" type="DatePicker"
v-model="data.zgvmadatum" v-model="data.zgvmadatum"
model-type="yyyy-MM-dd"
name="zgvmadatum" name="zgvmadatum"
no-today no-today
auto-apply auto-apply
@@ -454,6 +456,7 @@ export default {
:label="$p.t('lehre', 'zgvDoktorDatum')" :label="$p.t('lehre', 'zgvDoktorDatum')"
type="DatePicker" type="DatePicker"
v-model="data.zgvdoktordatum" v-model="data.zgvdoktordatum"
model-type="yyyy-MM-dd"
name="zgvdoktordatum" name="zgvdoktordatum"
no-today no-today
auto-apply auto-apply
@@ -276,6 +276,7 @@ export default{
container-class="mb-3" container-class="mb-3"
type="DatePicker" type="DatePicker"
v-model="formData.datum" v-model="formData.datum"
model-type="yyyy-MM-dd"
name="datum" name="datum"
:label="$p.t('global/datum')" :label="$p.t('global/datum')"
auto-apply auto-apply
@@ -291,6 +292,7 @@ export default{
container-class="mb-3" container-class="mb-3"
type="DatePicker" type="DatePicker"
v-model="formData.bestaetigtam" v-model="formData.bestaetigtam"
model-type="yyyy-MM-dd"
name="bestaetigtam" name="bestaetigtam"
:label="$p.t('lehre/bestaetigt_am')" :label="$p.t('lehre/bestaetigt_am')"
auto-apply auto-apply
@@ -306,13 +308,14 @@ export default{
container-class="mb-3" container-class="mb-3"
type="DatePicker" type="DatePicker"
v-model="formData.bewerbung_abgeschicktamum" v-model="formData.bewerbung_abgeschicktamum"
model-type="yyyy-MM-dd HH:mm:ss"
name="bewerbung_abgeschicktamum" name="bewerbung_abgeschicktamum"
:label="$p.t('lehre/bewerbung_abgeschickt_am')" :label="$p.t('lehre/bewerbung_abgeschickt_am')"
auto-apply auto-apply
:enable-time-picker="false" :enable-time-picker="true"
format="dd.MM.yyyy" format="dd.MM.yyyy HH:mm:ss"
text-input text-input
preview-format="dd.MM.yyyy" preview-format="dd.MM.yyyy HH:mm:ss"
:teleport="true" :teleport="true"
:disabled="bisLocked || !hasPrestudentstatusPermission" :disabled="bisLocked || !hasPrestudentstatusPermission"
> >
@@ -285,6 +285,7 @@ export default {
uid="stv-list-new-gebdatum" uid="stv-list-new-gebdatum"
name="gebdatum" name="gebdatum"
v-model="formDataPerson['gebdatum']" v-model="formDataPerson['gebdatum']"
model-type="yyyy-MM-dd"
:disabled="!!person" :disabled="!!person"
@update:model-value="loadSuggestions" @update:model-value="loadSuggestions"
text-input text-input
+16 -8
View File
@@ -218,15 +218,23 @@ export const CoreFilterCmpt = {
}, },
columnsForFilter() { columnsForFilter() {
if (!this.filteredColumns || !this.datasetMetadata) return []; if (!this.filteredColumns || !this.datasetMetadata) return [];
const localizedColumnTitles = this.tabulator.getLang().columns;
const isTabulatorLocalized = !!this.$props.tabulatorOptions.locale; const isTabulatorLocalized = !!this.$props.tabulatorOptions.locale;
const filterTitles = this.filteredColumns.reduce((a, c) => {
a[c.field] = let filterTitles;
isTabulatorLocalized && localizedColumnTitles[c.field] if (isTabulatorLocalized) {
? localizedColumnTitles[c.field] const localizedColumnTitles = this.tabulator.getLang().columns;
: c.title; filterTitles = this.filteredColumns.reduce((a, c) => {
return a; a[c.field] = localizedColumnTitles[c.field];
}, {}); return a;
}, {});
} else {
filterTitles = this.filteredColumns.reduce((a, c) => {
a[c.field] = c.title;
return a;
}, {});
}
return this.datasetMetadata.map((el) => ({ return this.datasetMetadata.map((el) => ({
...el, ...el,
...{ title: filterTitles[el.name] }, ...{ title: filterTitles[el.name] },
Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB