Phrases valdidations, format dates, design adapations

This commit is contained in:
ma0068
2024-04-10 10:42:16 +02:00
parent 675ce0e9aa
commit 487a2b6037
4 changed files with 134 additions and 73 deletions
@@ -50,27 +50,18 @@ class Betriebsmittel extends FHCAPI_Controller
public function addNewBetriebsmittel()
{
//TODO(Manu) Berechtigungen
/* if(!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg))
{
$result = $this->p->t('lehre','error_keineSchreibrechte');
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}*/
$_POST = json_decode(utf8_encode($this->input->raw_input_stream), true);
$this->form_validation->set_rules('kaution', 'Kaution', 'numeric', [
'numeric' => $this->p->t('ui','error_fieldNotNumeric',['field' => 'Kaution'])
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Kaution'])
]);
$this->form_validation->set_rules('betriebsmitteltyp', 'TYP', 'required', [
'required' => $this->p->t('ui','error_fieldRequired',['field' => 'Typ'])
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Typ'])
]);
$this->form_validation->set_rules('ausgegebenam', 'Ausgegeben am', 'required', [
'required' => $this->p->t('ui','error_fieldRequired',['field' => 'Ausgegeben am'])
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Ausgegeben am'])
]);
@@ -100,14 +91,19 @@ class Betriebsmittel extends FHCAPI_Controller
if($betriebsmitteltyp == 'Zutrittskarte' && !$nummer)
{
return $this->terminateWithError("Eine Zutrittskarte muss eine Nummer haben. Um die Zuordnung zu dieser Karte zu loeschen entfernen Sie bitte den ganzen Datensatz", self::ERROR_TYPE_GENERAL);
return $this->terminateWithError($this->p->t('wawi', 'error_zutrittskarteOhneNummer'), self::ERROR_TYPE_GENERAL);
}
if($retouram && $retouram < $ausgegebenam)
return $this->terminateWithError("Retourdatum darf nicht vor Datum der Ausgabe liegen", self::ERROR_TYPE_GENERAL);
{
return $this->terminateWithError($this->p->t('wawi', 'error_retourdatumVorAusgabe'), self::ERROR_TYPE_GENERAL);
}
if($betriebsmitteltyp == "Inventar" && !($inventarData['inventarnummer']))
return $this->terminateWithError("Bitte wählen Sie das entsprechende Inventar aus dem Drop Down Menü aus", self::ERROR_TYPE_GENERAL);
{
return $this->terminateWithError($this->p->t('wawi', 'error_inventarWaehlen'), self::ERROR_TYPE_GENERAL);
}
// Start DB transaction
$this->db->trans_begin();
@@ -157,20 +153,10 @@ class Betriebsmittel extends FHCAPI_Controller
$this->db->trans_commit();
return $this->terminateWithSuccess(true);
}
public function updateBetriebsmittel()
{
//TODO(Manu) Berechtigungen
/* if(!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg))
{
$result = $this->p->t('lehre','error_keineSchreibrechte');
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}*/
$_POST = json_decode(utf8_encode($this->input->raw_input_stream), true);
$uid_user = getAuthUID();
@@ -189,15 +175,15 @@ class Betriebsmittel extends FHCAPI_Controller
$uid = $this->input->post('uid');
$this->form_validation->set_rules('kaution', 'Kaution', 'numeric', [
'numeric' => $this->p->t('ui','error_fieldNotNumeric',['field' => 'Kaution'])
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Kaution'])
]);
$this->form_validation->set_rules('betriebsmitteltyp', 'TYP', 'required', [
'required' => $this->p->t('ui','error_fieldRequired',['field' => 'Typ'])
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Typ'])
]);
$this->form_validation->set_rules('ausgegebenam', 'Ausgegeben am', 'required', [
'required' => $this->p->t('ui','error_fieldRequired',['field' => 'Ausgegeben am'])
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Ausgegeben am'])
]);
@@ -208,11 +194,13 @@ class Betriebsmittel extends FHCAPI_Controller
if($betriebsmitteltyp == 'Zutrittskarte' && !$nummer)
{
return $this->terminateWithError("Eine Zutrittskarte muss eine Nummer haben. Um die Zuordnung zu dieser Karte zu loeschen entfernen Sie bitte den ganzen Datensatz", self::ERROR_TYPE_GENERAL);
return $this->terminateWithError($this->p->t('wawi', 'error_zutrittskarteOhneNummer'), self::ERROR_TYPE_GENERAL);
}
if($retouram && $retouram < $ausgegebenam)
return $this->terminateWithError("Retourdatum darf nicht vor Datum der Ausgabe liegen", self::ERROR_TYPE_GENERAL);
{
return $this->terminateWithError($this->p->t('wawi', 'error_retourdatumVorAusgabe'), self::ERROR_TYPE_GENERAL);
}
// Start DB transaction
@@ -236,11 +224,10 @@ class Betriebsmittel extends FHCAPI_Controller
);
if($this->db->trans_status() === false || isError($result))
{
$this->db->trans_rollback();
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
{
$this->db->trans_rollback();
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
$result = $this->BetriebsmittelModel->update(
[
@@ -264,7 +251,6 @@ class Betriebsmittel extends FHCAPI_Controller
$this->db->trans_commit();
return $this->terminateWithSuccess(true);
}
public function loadBetriebsmittel()
@@ -286,7 +272,6 @@ class Betriebsmittel extends FHCAPI_Controller
}
$this->terminateWithSuccess(current(getData($result)));
}
public function deleteBetriebsmittel()
@@ -307,10 +292,9 @@ class Betriebsmittel extends FHCAPI_Controller
}
if (!hasData($result))
{
return $this->terminateWithError($this->p->t('ui','error_missingId',['id'=> 'Betriebsmittelperson_id']), self::ERROR_TYPE_GENERAL);
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Betriebsmittelperson_id']), self::ERROR_TYPE_GENERAL);
}
return $this->outputJsonSuccess(current(getData($result)));
}
public function getTypenBetriebsmittel()
@@ -115,7 +115,7 @@ class Betriebsmittelperson_model extends DB_Model
$query = "
SELECT
bm.nummer, bmp.person_id, bm.betriebsmitteltyp, bmp.anmerkung as anmerkung, bmp.retouram, bm.beschreibung, bmp.ausgegebenam, bmp.uid, bmp.kaution, bm.betriebsmittel_id, bmp.betriebsmittelperson_id, bm.inventarnummer --bm.*
bm.nummer, bmp.person_id, bm.betriebsmitteltyp, bmp.anmerkung as anmerkung, bmp.retouram, TO_CHAR(bmp.retouram::timestamp, 'DD.MM.YYYY') AS format_retour, bmp.ausgegebenam, TO_CHAR(bmp.ausgegebenam::timestamp, 'DD.MM.YYYY') AS format_ausgabe, bm.beschreibung, bmp.uid, bmp.kaution, bm.betriebsmittel_id, bmp.betriebsmittelperson_id, bm.inventarnummer
FROM
wawi.tbl_betriebsmittelperson bmp
JOIN
@@ -32,19 +32,20 @@ export default {
ajaxResponse: (url, params, response) => response.data,
columns: [
{title: "Nummer", field: "nummer"},
{title: "PersonId", field: "person_id"},
{title: "PersonId", field: "person_id", visible: false},
{title: "Typ", field: "betriebsmitteltyp"},
{title: "Anmerkung", field: "anmerkung", visible: false},
{title: "Retourdatum", field: "retouram"},
{title: "Retourdatum", field: "format_retour", visible: false},
{title: "Beschreibung", field: "beschreibung"},
{title: "Uid", field: "uid"},
{title: "Uid", field: "uid", visible: false},
{title: "Kaution", field: "kaution", visible: false},
{title: "Ausgabedatum", field: "ausgegebenam", visible: false},
{title: "Ausgabedatum", field: "format_ausgabe"},
{title: "Betriebsmittel_id", field: "betriebsmittel_id", visible: false},
{title: "Betriebsmittelperson_id", field: "betriebsmittelperson_id", visible: false},
{
title: 'Aktionen', field: 'actions',
minWidth: 150, // Ensures Action-buttons will be always fully displayed
maxWidth: 150,
formatter: (cell, formatterParams, onRendered) => {
let container = document.createElement('div');
container.className = "d-flex gap-2";
@@ -61,7 +62,7 @@ export default {
let linkToPdf = this.cisRoot +
'/content/pdfExport.php?xml=betriebsmittelperson.rdf.php&xsl=Uebernahme&id=' + cellData.betriebsmittelperson_id + '&output=pdf';
window.open(linkToPdf, '_blank');
window.open(linkToPdf, '_blank');
});
container.append(button);
@@ -93,14 +94,14 @@ export default {
}],
layout: 'fitColumns',
layoutColumnsOnNewData: false,
height: '150',
height: '550',
selectableRangeMode: 'click',
selectable: true
},
tabulatorEvents: [
{
event: 'tableBuilt',
handler: async () => {
handler: async() => {
await this.$p.loadCategory(['wawi', 'global', 'infocenter']);
@@ -112,18 +113,17 @@ export default {
cm.getColumnByField('anmerkung').component.updateDefinition({
title: this.$p.t('global', 'anmerkung')
});
cm.getColumnByField('retouram').component.updateDefinition({
cm.getColumnByField('format_retour').component.updateDefinition({
title: this.$p.t('wawi', 'retourdatum')
});
cm.getColumnByField('kaution').component.updateDefinition({
title: this.$p.t('infocenter', 'kaution')
});
cm.getColumnByField('ausgegebenam').component.updateDefinition({
cm.getColumnByField('format_ausgabe').component.updateDefinition({
title: this.$p.t('wawi', 'ausgabedatum')
});
}
}
],
betriebsmittelData: {},
@@ -262,6 +262,7 @@ export default {
template: `
<div class="betriebsmittel-betriebsmittel">
<!--Modal: deleteBetriebsmittelModal-->
<BsModal ref="deleteBetriebsmittelModal">
<template #title>{{$p.t('ui', 'betriebsmittel_delete')}}</template>
@@ -273,21 +274,28 @@ export default {
<button ref="Close" type="button" class="btn btn-primary" @click="deleteBetriebsmittel(formData.betriebsmittelperson_id)">OK</button>
</template>
</BsModal>
<div class="row col-12">
<div class="col-6">
<core-filter-cmpt
ref="table"
:tabulator-options="tabulatorOptions"
:tabulator-events="tabulatorEvents"
table-only
:side-menu="false"
reload
new-btn-show
new-btn-label="Betriebsmittel"
@click:new="actionNewBetriebsmittel"
>
</core-filter-cmpt>
</div>
<core-filter-cmpt
ref="table"
:tabulator-options="tabulatorOptions"
:tabulator-events="tabulatorEvents"
table-only
:side-menu="false"
reload
new-btn-show
new-btn-label="Betriebsmittel"
@click:new="actionNewBetriebsmittel"
>
</core-filter-cmpt>
<br>
<form-form class="row g-3 col-6" ref="betriebsmittelData">
<legend>Details</legend>
@@ -298,7 +306,7 @@ export default {
</div>
</div>
<div class="row mb-3">
<div class="row mb-3">
<label for="typ" class="form-label col-sm-4">{{$p.t('global', 'typ')}}</label>
<div class="col-sm-6">
<form-input
@@ -307,11 +315,16 @@ export default {
v-model="formData.betriebsmitteltyp"
:disabled="!statusNew"
>
<option v-for="entry in listBetriebsmitteltyp" :key="entry.betriebsmitteltyp" :value="entry.betriebsmitteltyp">{{entry.beschreibung}}</option>
<option
v-for="entry in listBetriebsmitteltyp"
:key="entry.betriebsmitteltyp"
:value="entry.betriebsmitteltyp"
>
{{entry.beschreibung}}
</option>
</form-input>
</div>
</div>
<div v-if="formData.betriebsmitteltyp == 'Inventar'" class="row mb-3">
<label for="inventarnummer" class="form-label col-sm-4">{{$p.t('wawi', 'inventarnummer')}}</label>
@@ -333,7 +346,7 @@ export default {
type="text"
name="nummer"
v-model="formData['nummer']"
>
>
</form-input>
</div>
</div>
@@ -345,7 +358,7 @@ export default {
type="text"
name="nummer2"
v-model="formData['nummer2']"
>
>
</form-input>
</div>
</div>
@@ -358,7 +371,7 @@ export default {
name="beschreibung"
v-model="formData['beschreibung']"
:disabled="formData.inventarnummer"
>
>
</form-input>
</div>
</div>
@@ -370,7 +383,7 @@ export default {
type="text"
name="kaution"
v-model="formData['kaution']"
>
>
</form-input>
</div>
</div>
@@ -382,7 +395,7 @@ export default {
type="textarea"
name="anmerkung"
v-model="formData['anmerkung']"
>
>
</form-input>
</div>
</div>
@@ -434,6 +447,13 @@ export default {
</div>
</form-form>
</div>
</div>`
}
+58 -1
View File
@@ -26463,7 +26463,7 @@ array(
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'ausgabedatum',
'text' => 'Ausgabedatum',
'description' => '',
'insertvon' => 'system'
),
@@ -26475,6 +26475,63 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'wawi',
'phrase' => 'error_zutrittskarteOhneNummer',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Eine Zutrittskarte muss eine Nummer haben. Um die Zuordnung zu dieser Karte zu löschen entfernen Sie bitte den ganzen Datensatz!',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'An access card must have a number. To delete the assignment to this card, please remove the entire data record!',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'wawi',
'phrase' => 'error_inventarWaehlen',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Bitte wählen Sie das entsprechende Inventar aus dem Drop Down Menü Inventarnummer aus!',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Please select the appropriate inventory from the inventory number drop down menu!',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'wawi',
'phrase' => 'error_retourdatumVorAusgabe',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Retourdatum darf nicht vor Datum der Ausgabe liegen!',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The return date must not be before the issue date!',
'description' => '',
'insertvon' => 'system'
)
)
),
);