CIS4 and old CIS support

This commit is contained in:
Paolo
2024-12-11 17:15:18 +01:00
parent 83e74cbdaf
commit bfb3f09f79
7 changed files with 229 additions and 7 deletions
+43
View File
@@ -0,0 +1,43 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
class BankData extends Auth_Controller
{
/**
*
*/
public function __construct()
{
parent::__construct(
array(
'view' => 'basis/cis:r'
)
);
}
/**
*
*/
public function view()
{
$this->load->view('Cis/BankData');
}
}
@@ -72,11 +72,11 @@ class Bank extends FHCAPI_Controller
array($loggedPersonId)
);
// If a db error occurred then terminate
if (isError($bankDataResult)) $this->terminateWithError('Database error while retrieving bank data', self::ERROR_TYPE_DB);
// Get the retrieved data or terminate
$data = $this->getDataOrTerminateWithError($bankDataResult);
// If everythin was fine then return the database results
$this->terminateWithSuccess(getData($bankDataResult));
// Anyway terminate it!
$this->terminateWithSuccess($data);
}
/**
@@ -120,7 +120,7 @@ class Bank extends FHCAPI_Controller
$writeDataResult = null; // it is considered as an error
// If at least a record exists
// If at least a record exists then update
if (hasData($bankDataResult))
{
// Then update
@@ -136,7 +136,7 @@ class Bank extends FHCAPI_Controller
)
);
}
else
else // otherwise insert
{
// Otherwise insert
$writeDataResult = $this->BankverbindungModel->insert(
+31
View File
@@ -0,0 +1,31 @@
<?php
$includesArray = array(
'title' => 'Bank data',
'primevue3' => true,
'customJSModules' => ['public/js/apps/Cis/BankData.js'],
'customCSSs' => ['public/css/components/FormUnderline.css']
);
if (defined('CIS4'))
{
$this->load->view('templates/CISVUE-Header', $includesArray);
}
else
{
$this->load->view('templates/FHC-Header', $includesArray);
}
?>
<div id="content"></div>
<?php
if (defined('CIS4'))
{
$this->load->view('templates/CISVUE-Footer', $includesArray);
}
else
{
$this->load->view('templates/FHC-Footer', $includesArray);
}
?>
+14
View File
@@ -0,0 +1,14 @@
export default {
getBankData() {
return this.$fhcApi.get('api/frontend/v1/Bank/getBankData');
},
postBankData(name, bic, iban) {
return this.$fhcApi.post(
'api/frontend/v1/Bank/postBankData', {
name: name,
bic: bic,
iban: iban
});
}
};
+4 -1
View File
@@ -33,6 +33,7 @@ import ort from "./ort.js";
import cms from "./cms.js";
import lehre from "./lehre.js";
import addons from "./addons.js";
import bankData from "./bankData.js";
export default {
search,
@@ -52,5 +53,7 @@ export default {
ort,
cms,
lehre,
addons
addons,
bankData
};
+31
View File
@@ -0,0 +1,31 @@
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import BankData from "../../components/Cis/BankData.js";
import fhcapifactory from "../../api/fhcapifactory.js";
import Phrasen from "../../plugin/Phrasen.js";
const bankDataApp = Vue.createApp({
name: 'BankDataApp',
components: {
BankData
},
template: `<bank-data></bank-data>`
});
bankDataApp.use(Phrasen).mount('#content');
+100
View File
@@ -0,0 +1,100 @@
/**
* Copyright (C) 2022 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import CoreForm from '../Form/Form.js';
import FormInput from '../Form/Input.js';
import FormValidation from "../Form/Validation.js";
export default {
components: {
CoreForm,
FormValidation,
FormInput
},
data() {
return {
bankName: '',
bic: '',
iban: ''
}
},
methods: {
save() {
this.$refs.form.factory.bankData.postBankData(this.bankName, this.bic, this.iban)
.then(result => {
this.$emit('saved', result.data);
this.$fhcAlert.alertSuccess(this.$p.t('ui/gespeichert'));
})
.catch(error => {
this.$fhcAlert.handleSystemError(error);
});
}
},
created() {
this.$fhcApi.factory.bankData.getBankData()
.then(result => {
if (result.data.length > 0)
{
this.bankName = result.data[0].name;
this.bic = result.data[0].bic;
this.iban = result.data[0].iban;
}
})
.catch(this.$fhcAlert.handleSystemError);
},
template: `
<div>
<core-form ref="form" @submit.prevent="save">
<fieldset class="overflow-hidden">
<div class="row mb-3">
<form-input
container-class="col-4"
label="Bank name"
type="text"
v-model="bankName"
name="bankName"
>
</form-input>
</div>
<div class="row mb-3">
<form-input
container-class="col-4"
label="BIC"
type="text"
v-model="bic"
name="bic"
>
</form-input>
</div>
<div class="row mb-3">
<form-input
container-class="col-4"
label="IBAN"
type="text"
v-model="iban"
name="iban"
>
</form-input>
</div>
</fieldset>
<div class="btn-group flex-grow-0" role="group" aria-label="Save">
<button type="button" class="btn btn-outline-secondary" @click="save">Save</button>
</div>
</core-form>
</div>`
};