mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
Adaptierungen Tab Adresse: show Zustelladresse, Heimatadresse Validierung backend, Layout: Ticks, required
This commit is contained in:
@@ -37,7 +37,8 @@ class Kontakt extends FHCAPI_Controller
|
||||
|
||||
// Load language phrases
|
||||
$this->loadPhrases([
|
||||
'ui'
|
||||
'ui',
|
||||
'person'
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -221,6 +222,18 @@ class Kontakt extends FHCAPI_Controller
|
||||
public function deleteAddress($adresse_id)
|
||||
{
|
||||
$this->load->model('person/Adresse_model', 'AdresseModel');
|
||||
$result = $this->AdresseModel->load([
|
||||
'adresse_id'=> $adresse_id,
|
||||
]);
|
||||
if(isError($result))
|
||||
{
|
||||
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
$result = current(getData($result));
|
||||
|
||||
if($result->heimatadresse)
|
||||
|
||||
$this->terminateWithError($this->p->t('person', 'error_deleteHomeAdress'), self::ERROR_TYPE_GENERAL);
|
||||
|
||||
$result = $this->AdresseModel->delete(
|
||||
array('adresse_id' => $adresse_id)
|
||||
@@ -234,7 +247,7 @@ class Kontakt extends FHCAPI_Controller
|
||||
{
|
||||
return $this->terminateWithError($this->p->t('ui','error_missingId',['id'=> 'Adresse_id']), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
//return $this->outputJsonSuccess(current(getData($result)));
|
||||
|
||||
return $this->terminateWithSuccess(current(getData($result)) ? : null);
|
||||
}
|
||||
|
||||
|
||||
@@ -27,10 +27,24 @@ export default{
|
||||
{title:"Ort", field:"ort"},
|
||||
{title:"Gemeinde", field:"gemeinde"},
|
||||
{title:"Nation", field:"nation"},
|
||||
{title:"Heimatadresse", field:"heimatadresse",
|
||||
formatter: (cell, formatterParams, onRendered) => {
|
||||
let output = cell.getValue() ? "ja" : "nein";
|
||||
return output;
|
||||
{
|
||||
title:"Heimatadresse",
|
||||
field:"heimatadresse",
|
||||
formatter:"tickCross",
|
||||
hozAlign:"center",
|
||||
formatterParams: {
|
||||
tickElement: '<i class="fa fa-check text-success"></i>',
|
||||
crossElement: '<i class="fa fa-xmark text-danger"></i>'
|
||||
}
|
||||
},
|
||||
{
|
||||
title:"Zustelladresse",
|
||||
field:"zustelladresse",
|
||||
formatter:"tickCross",
|
||||
hozAlign:"center",
|
||||
formatterParams: {
|
||||
tickElement: '<i class="fa fa-check text-success"></i>',
|
||||
crossElement: '<i class="fa fa-xmark text-danger"></i>'
|
||||
}
|
||||
},
|
||||
{title:"Abweich.Empf", field:"co_name"},
|
||||
@@ -125,7 +139,7 @@ export default{
|
||||
title: this.$p.t('person', 'rechnungsadresse')
|
||||
});
|
||||
cm.getColumnByField('anmerkung').component.updateDefinition({
|
||||
title: this.$p.t('notiz', 'document')
|
||||
title: this.$p.t('global', 'anmerkung')
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -239,7 +253,7 @@ export default{
|
||||
this.reload();
|
||||
});
|
||||
},
|
||||
loadPlaces() { //TODO(manu) Refactor API-controller
|
||||
loadPlaces() {
|
||||
if (this.abortController.places)
|
||||
this.abortController.places.abort();
|
||||
if (this.addressData.nation != 'A' || !this.addressData.plz)
|
||||
@@ -254,13 +268,11 @@ export default{
|
||||
this.places = result.data;
|
||||
});
|
||||
/* .catch(error => {
|
||||
if (error.code == 'ERR_BAD_REQUEST') {
|
||||
return this.$fhcAlert.handleFormValidation(error, this.$refs.form);
|
||||
}
|
||||
// NOTE(chris): repeat request
|
||||
if (error.code != "ERR_CANCELED")
|
||||
window.setTimeout(this.loadPlaces, 100);
|
||||
});*/
|
||||
if (error.code != "ERR_CANCELED")
|
||||
window.setTimeout(this.loadPlaces, 100);
|
||||
else
|
||||
this.$fhcAlert.handleSystemError(error);
|
||||
});*/
|
||||
},
|
||||
search(event) {
|
||||
return this.$fhcApi
|
||||
@@ -324,7 +336,7 @@ export default{
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="plz" class="required form-label col-sm-4" >{{$p.t('person', 'plz')}}</label>
|
||||
<label for="plz" class="required form-label col-sm-4" >{{$p.t('person', 'plz')}}<sup>*</sup></label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" required v-model="addressData['plz']" @input="loadPlaces" >
|
||||
</div>
|
||||
@@ -336,7 +348,7 @@ export default{
|
||||
<select v-if="addressData['nation'] == 'A'" name="addressData[gemeinde]" class="form-select" v-model="addressData['gemeinde']">
|
||||
<option v-if="!gemeinden.length" disabled>Bitte gültige PLZ wählen</option>
|
||||
<option v-for="gemeinde in gemeinden" :key="gemeinde.name" :value="gemeinde.name">{{gemeinde.name}}</option>
|
||||
</select>
|
||||
</select><!---->
|
||||
<input v-else type="text" class="form-control" v-model="addressData['gemeinde']">
|
||||
</div>
|
||||
</div>
|
||||
@@ -442,7 +454,7 @@ export default{
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="plz" class="required form-label col-sm-4" >{{$p.t('person', 'plz')}}</label>
|
||||
<label for="plz" class="required form-label col-sm-4" >{{$p.t('person', 'plz')}}<sup>*</sup></label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" required v-model="addressData['plz']" @input="loadPlaces">
|
||||
</div>
|
||||
@@ -472,7 +484,7 @@ export default{
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="heimatadresse" class="form-label col-sm-4">{{$p.t('person', 'heimatadresse')}}</label>
|
||||
<div class="col-sm-3">
|
||||
|
||||
@@ -37,10 +37,16 @@ export default{
|
||||
}
|
||||
return output;}
|
||||
},
|
||||
{title:"Verrechnung", field:"verrechnung", visible:false,
|
||||
formatter: (cell, formatterParams, onRendered) => {
|
||||
let output = cell.getValue() ? "ja" : "nein";
|
||||
return output;}
|
||||
{
|
||||
title:"Verrechnung",
|
||||
field:"verrechnung",
|
||||
visible:false,
|
||||
formatter:"tickCross",
|
||||
hozAlign:"center",
|
||||
formatterParams: {
|
||||
tickElement: '<i class="fa fa-check text-success"></i>',
|
||||
crossElement: '<i class="fa fa-xmark text-danger"></i>'
|
||||
}
|
||||
},
|
||||
{title:"Person_id", field:"person_id", visible:false},
|
||||
{title:"Bankverbindung_id", field:"bankverbindung_id", visible:false},
|
||||
@@ -214,7 +220,7 @@ export default{
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="iban" class="form-label col-sm-4">IBAN</label>
|
||||
<label for="iban" class="form-label col-sm-4">IBAN<sup>*</sup></label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" required class="form-control" id="iban" v-model="bankverbindungData['iban']">
|
||||
</div>
|
||||
@@ -238,7 +244,7 @@ export default{
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="typ" class="form-label col-sm-4">{{$p.t('global', 'typ')}}</label>
|
||||
<label for="typ" class="form-label col-sm-4">{{$p.t('global', 'typ')}}<sup>*</sup></label>
|
||||
<div class="col-sm-6">
|
||||
<select id="typ" class="form-select" required v-model="bankverbindungData['typ']">
|
||||
<option value="p">{{$p.t('person', 'privatkonto')}}</option>
|
||||
@@ -279,7 +285,7 @@ export default{
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="iban" class="form-label col-sm-4">IBAN</label>
|
||||
<label for="iban" class="form-label col-sm-4">IBAN<sup>*</sup></label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" required class="form-control" id="iban" v-model="bankverbindungData['iban']">
|
||||
</div>
|
||||
@@ -303,7 +309,7 @@ export default{
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="typ" class="form-label col-sm-4">{{$p.t('global', 'typ')}}</label>
|
||||
<label for="typ" class="form-label col-sm-4">{{$p.t('global', 'typ')}}<sup>*</sup></label>
|
||||
<div class="col-sm-6">
|
||||
<select id="typ" class="form-select" required v-model="bankverbindungData['typ']">
|
||||
<option value="p">{{$p.t('person', 'privatkonto')}}</option>
|
||||
|
||||
@@ -22,10 +22,15 @@ export default{
|
||||
columns:[
|
||||
{title:"Typ", field:"kontakttyp"},
|
||||
{title:"Kontakt", field:"kontakt"},
|
||||
{title:"Zustellung", field:"zustellung",
|
||||
formatter: (cell, formatterParams, onRendered) => {
|
||||
let output = cell.getValue() ? "ja" : "nein";
|
||||
return output;}
|
||||
{
|
||||
title:"Zustellung",
|
||||
field:"zustellung",
|
||||
formatter:"tickCross",
|
||||
hozAlign:"center",
|
||||
formatterParams: {
|
||||
tickElement: '<i class="fa fa-check text-success"></i>',
|
||||
crossElement: '<i class="fa fa-xmark text-danger"></i>'
|
||||
}
|
||||
},
|
||||
{title:"Anmerkung", field:"anmerkung"},
|
||||
{title:"Firma", field:"kurzbz", visible:false},
|
||||
@@ -221,7 +226,7 @@ export default{
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="kontakt" class="form-label col-sm-4">{{$p.t('global', 'kontakt')}}</label>
|
||||
<label for="kontakt" class="form-label col-sm-4">{{$p.t('global', 'kontakt')}}<sup>*</sup></label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="kontakt" v-model="contactData['kontakt']">
|
||||
</div>
|
||||
@@ -269,7 +274,7 @@ export default{
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="kontakt" class="form-label col-sm-4">{{$p.t('global', 'kontakt')}}</label>
|
||||
<label for="kontakt" class="form-label col-sm-4">{{$p.t('global', 'kontakt')}}<sup>*</sup></label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="kontakt" v-model="contactData['kontakt']">
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user