mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Phrases valdidations, format dates, design adapations
This commit is contained in:
@@ -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>`
|
||||
}
|
||||
|
||||
|
||||
@@ -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'
|
||||
)
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user