mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-10-13 23:39:35 +00:00
Compare commits
148
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
893552357f | ||
|
|
ed83b5e617 | ||
|
|
7ffb1ab90f | ||
|
|
510ce22cc9 | ||
|
|
355f7220fe | ||
|
|
53049504a7 | ||
|
|
e818bc5e4d | ||
|
|
3e06740758 | ||
|
|
73d22e14e5 | ||
|
|
dc4939ee78 | ||
|
|
bca2884aa2 | ||
|
|
e2c2339f89 | ||
|
|
63d0bfc69b | ||
|
|
ab05f32fde | ||
|
|
68482a429e | ||
|
|
6f4482cff4 | ||
|
|
cdd36f61b1 | ||
|
|
9e2a818eab | ||
|
|
3214ae3101 | ||
|
|
5313693651 | ||
|
|
8db60c67f8 | ||
|
|
65c931ea2d | ||
|
|
762fd1cadd | ||
|
|
9feb442a07 | ||
|
|
0ce4acc71b | ||
|
|
33038f409a | ||
|
|
f8cea9036c | ||
|
|
759aad047b | ||
|
|
fd0262f708 | ||
|
|
16689f4d6e | ||
|
|
0bd75716f2 | ||
|
|
9782fe5459 | ||
|
|
e110e8fa57 | ||
|
|
76b9c6781d | ||
|
|
856706bc1c | ||
|
|
d54747c4df | ||
|
|
da3b329772 | ||
|
|
41d40102f3 | ||
|
|
1496045c40 | ||
|
|
e2dadcd208 | ||
|
|
070ac1e878 | ||
|
|
63ff8dd4c4 | ||
|
|
366edb7e90 | ||
|
|
9430135592 | ||
|
|
199b62d13f | ||
|
|
b0fc5a3618 | ||
|
|
6e599908cd | ||
|
|
b1be5a4ba4 | ||
|
|
71f68da90b | ||
|
|
c11fd03362 | ||
|
|
ec1422a136 | ||
|
|
89e98056e6 | ||
|
|
5cf14aa886 | ||
|
|
9ee6a0a01a | ||
|
|
6d26ec2ab7 | ||
|
|
0a18fcf732 | ||
|
|
e08b731cb5 | ||
|
|
d1a4cfd5df | ||
|
|
37b70861d1 | ||
|
|
150d54eeda | ||
|
|
68b26a1091 | ||
|
|
5c371a20d2 | ||
|
|
d42157c5f8 | ||
|
|
502851856b | ||
|
|
4b767d4a57 | ||
|
|
5d461a72f6 | ||
|
|
942b4512fe | ||
|
|
3778b27574 | ||
|
|
15b340db56 | ||
|
|
05838cc477 | ||
|
|
96e02c9911 | ||
|
|
248fceb4b5 | ||
|
|
92697d9468 | ||
|
|
d1ec9c92eb | ||
|
|
454cf5ea64 | ||
|
|
4563533e67 | ||
|
|
640e719eda | ||
|
|
aece2b1d90 | ||
|
|
cb13655ecd | ||
|
|
9b3b6cec8f | ||
|
|
3ca1a1f1c7 | ||
|
|
a7210208d6 | ||
|
|
eaad23ff69 | ||
|
|
c7ddf0a2a9 | ||
|
|
b129ef873b | ||
|
|
d927426d70 | ||
|
|
9ced137ded | ||
|
|
a89da50e0a | ||
|
|
9256046b6c | ||
|
|
fd95dd8023 | ||
|
|
cda2b84939 | ||
|
|
d893fe63e7 | ||
|
|
5aedf85982 | ||
|
|
55ab79c004 | ||
|
|
7c7a72600d | ||
|
|
01357654c0 | ||
|
|
cd5900481b | ||
|
|
ddef97d49f | ||
|
|
47b0449f22 | ||
|
|
0193460678 | ||
|
|
e02b3e78d2 | ||
|
|
c91e0a6b74 | ||
|
|
c6852a9514 | ||
|
|
04b5240615 | ||
|
|
483547cd9c | ||
|
|
345413cd1f | ||
|
|
046a60b89c | ||
|
|
da725e3ab1 | ||
|
|
edd34941cc | ||
|
|
c65686ef42 | ||
|
|
c7729f85df | ||
|
|
53b187c9b6 | ||
|
|
7bc18e41b1 | ||
|
|
8bc17eded5 | ||
|
|
9adeb1c63a | ||
|
|
091ed0dacd | ||
|
|
cf0a47cab7 | ||
|
|
bb7b24346a | ||
|
|
a68e2e798b | ||
|
|
bd49f3c420 | ||
|
|
3c1d67267d | ||
|
|
61e1933a5b | ||
|
|
25c443098c | ||
|
|
352c6e1d68 | ||
|
|
0e2444d7ce | ||
|
|
c4390819a2 | ||
|
|
51104268d8 | ||
|
|
cb5d43ab21 | ||
|
|
08de5cd377 | ||
|
|
274fa63658 | ||
|
|
81b2ed6551 | ||
|
|
d9c6c3947b | ||
|
|
2d6dbbdb16 | ||
|
|
b60faa1cab | ||
|
|
fd19953864 | ||
|
|
927bafd93a | ||
|
|
d93b21f0af | ||
|
|
6a8f6fa05a | ||
|
|
7f997c9411 | ||
|
|
2e3f98deb0 | ||
|
|
a5feb656e0 | ||
|
|
9329955328 | ||
|
|
5b99dd2685 | ||
|
|
19288fc8f5 | ||
|
|
9f97de5952 | ||
|
|
c476f7339c | ||
|
|
3dc1cf520a | ||
|
|
616c335a3b |
@@ -7,7 +7,7 @@ class Zeitsperren extends Auth_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct([
|
||||
'index' => ['basis/cis:r'],
|
||||
'index' => ['cis/eigene_zeitsperren:r'],
|
||||
]);
|
||||
|
||||
// Load Libraries
|
||||
|
||||
@@ -13,7 +13,7 @@ class Zeitsperrenma extends Auth_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct([
|
||||
'index' => ['basis/cis:r']
|
||||
'index' => ['cis/andere_zeitsperren:r']
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
@@ -7,14 +7,14 @@ class MaZeitsperren extends FHCAPI_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct([
|
||||
'getAllActiveZeitsperren' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'getAllZeitsperrenFixeMa' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'getAllZeitsperrenLector' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'getAllZeitsperrenOes' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'getZeitsperrenAss' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'getAllActiveZeitsperren' => ['cis/andere_zeitsperren:r', 'admin:r', 'assistenz:r'],
|
||||
'getAllZeitsperrenFixeMa' => ['cis/andere_zeitsperren:r', 'admin:r', 'assistenz:r'],
|
||||
'getAllZeitsperrenLector' => ['cis/andere_zeitsperren:r', 'admin:r', 'assistenz:r'],
|
||||
'getAllZeitsperrenOes' => ['cis/andere_zeitsperren:r', 'admin:r', 'assistenz:r'],
|
||||
'getZeitsperrenAss' => ['cis/andere_zeitsperren:r', 'admin:r', 'assistenz:r'],
|
||||
'getStgLectors' => self::PERM_LOGGED,
|
||||
'loadZeitsperrenLectorStg' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'loadZeitsperrenMa' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'loadZeitsperrenLectorStg' => ['cis/andere_zeitsperren:r', 'admin:r', 'assistenz:r'],
|
||||
'loadZeitsperrenMa' => ['cis/andere_zeitsperren:r', 'admin:r', 'assistenz:r'],
|
||||
'getDetailsMa' => self::PERM_LOGGED
|
||||
]);
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@ class Zeitsperren extends FHCAPI_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct([
|
||||
'getZeitsperrenUser' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'getZeitsperrenUser' => ['cis/eigene_zeitsperren:r', 'admin:r', 'assistenz:r'],
|
||||
'getTypenZeitsperren' => self::PERM_LOGGED,
|
||||
'getTypenErreichbarkeit' => self::PERM_LOGGED,
|
||||
'getStunden' => self::PERM_LOGGED,
|
||||
'loadZeitsperre' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'add' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'update' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'delete' => ['basis/mitarbeiter:r', 'admin:r', 'assistenz:r'],
|
||||
'loadZeitsperre' => ['cis/eigene_zeitsperren:r', 'admin:r', 'assistenz:r'],
|
||||
'add' => ['cis/eigene_zeitsperren:rw', 'admin:rw', 'assistenz:rw'],
|
||||
'update' => ['cis/eigene_zeitsperren:rw', 'admin:rw', 'assistenz:rw'],
|
||||
'delete' => ['cis/eigene_zeitsperren:rw', 'admin:rw', 'assistenz:rw'],
|
||||
]);
|
||||
|
||||
// Load Libraries
|
||||
@@ -179,6 +179,21 @@ class Zeitsperren extends FHCAPI_Controller
|
||||
);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
if($zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
$this->sendSanchoMailToVorgesetzten(
|
||||
'Sancho_Content_Zeitausgleich',
|
||||
array(
|
||||
'beschreibung' =>$zeitsperretyp_kurzbz,
|
||||
'vonDatum' => (new DateTime($vondatum))->format('d.m.Y'),
|
||||
'bisDatum' => (new DateTime($bisdatum))->format('d.m.Y'),
|
||||
'Saldo'=> ''
|
||||
),
|
||||
$this->p->t('zeitsperren', 'zeitausgleichNeu'),
|
||||
$mitarbeiter_uid
|
||||
);
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
|
||||
@@ -285,9 +300,13 @@ class Zeitsperren extends FHCAPI_Controller
|
||||
$zeitsperretyp_kurzbz = array_key_exists('zeitsperretyp_kurzbz', $post) ? $update['zeitsperretyp_kurzbz'] : $data->zeitsperretyp_kurzbz;
|
||||
|
||||
$result = $this->ZeitsperreModel->getSperreByDate($mitarbeiter_uid, $vondatum, $vonstunde, true);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
$data = (array) $this->getDataOrTerminateWithError($result);
|
||||
|
||||
if(hasData($result))
|
||||
$data = array_filter($data, function($zeitsperre) use ($zeitsperre_id) {
|
||||
return $zeitsperre->zeitsperre_id != $zeitsperre_id;
|
||||
});
|
||||
|
||||
if(count($data) > 0)
|
||||
{
|
||||
$this->terminateWithError($this->p->t('zeitsperren', 'error_existingZeitsperre', ['typ'=> current($data)->zeitsperretyp_kurzbz]), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
@@ -309,6 +328,21 @@ class Zeitsperren extends FHCAPI_Controller
|
||||
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
if($zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
$this->sendSanchoMailToVorgesetzten(
|
||||
'Sancho_Content_ZA_Aendern',
|
||||
array(
|
||||
'beschreibung' =>$zeitsperretyp_kurzbz,
|
||||
'vonDatum' => (new DateTime($vondatum))->format('d.m.Y'),
|
||||
'bisDatum' => (new DateTime($bisdatum))->format('d.m.Y'),
|
||||
'Saldo'=> ''
|
||||
),
|
||||
$this->p->t('zeitsperren', 'zeitausgleichGeaendert'),
|
||||
$mitarbeiter_uid
|
||||
);
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess($data);
|
||||
}
|
||||
else
|
||||
@@ -327,7 +361,8 @@ class Zeitsperren extends FHCAPI_Controller
|
||||
$loggedInUser = getAuthUID();
|
||||
$result = $this->ZeitsperreModel->load($zeitsperre_id);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
$uid = current($data)->mitarbeiter_uid;
|
||||
$zeitsperre = (is_array($data) && count($data) > 0) ? current($data) : null;
|
||||
$uid = (!is_null($zeitsperre)) ? $zeitsperre->mitarbeiter_uid : '';
|
||||
|
||||
if($uid != $loggedInUser)
|
||||
$this->terminateWithError($this->p->t('ui', 'noPermission'), self::ERROR_TYPE_GENERAL);
|
||||
@@ -339,6 +374,21 @@ class Zeitsperren extends FHCAPI_Controller
|
||||
if (isError($result)) {
|
||||
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
if($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
$res = $this->sendSanchoMailToVorgesetzten(
|
||||
'Sancho_Mail_ZA_loeschen',
|
||||
array(
|
||||
'beschreibung' =>$zeitsperre->zeitsperretyp_kurzbz,
|
||||
'vonDatum' => (new DateTime($zeitsperre->vondatum))->format('d.m.Y'),
|
||||
'bisDatum' => (new DateTime($zeitsperre->bisdatum))->format('d.m.Y')
|
||||
),
|
||||
$this->p->t('zeitsperren', 'zeitausgleichGeloescht'),
|
||||
$zeitsperre->mitarbeiter_uid
|
||||
);
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess((getData($result) ?: []));
|
||||
}
|
||||
|
||||
@@ -363,5 +413,57 @@ class Zeitsperren extends FHCAPI_Controller
|
||||
return $tage <= 14;
|
||||
}
|
||||
|
||||
protected function sendSanchoMailToVorgesetzten($sancho_vorlage_kurzbz,
|
||||
$sancho_vorlage_data, $subject, $mauid)
|
||||
{
|
||||
$this->load->helper('hlp_sancho_helper');
|
||||
|
||||
$this->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel');
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
|
||||
$fullname = getData($this->PersonModel->getFullName($mauid));
|
||||
$vorgesetzte = (array) getData($this->MitarbeiterModel->getVorgesetzte($mauid));
|
||||
|
||||
$to = array();
|
||||
$vorgesetzte_namen = array();
|
||||
$mailsent = false;
|
||||
$msg = $this->p->t('zeitsperren', 'konnteKeinFreigabemailVersendetWerden');
|
||||
|
||||
if(count($vorgesetzte) > 0)
|
||||
{
|
||||
foreach($vorgesetzte as $vg)
|
||||
{
|
||||
$to[] = $vg->vorgesetzter .'@' . DOMAIN;
|
||||
$vorgesetzter_fullname = getData($this->PersonModel->getFullName($vg->vorgesetzter));
|
||||
$vorgesetzte_namen[] = $vorgesetzter_fullname;
|
||||
}
|
||||
|
||||
$sancho_vorlage_data['vorgesetzter'] = implode(', ', $vorgesetzte_namen);
|
||||
$sancho_vorlage_data['nameMitarbeiter'] = $fullname;
|
||||
|
||||
$mailsent = sendSanchoMail(
|
||||
$sancho_vorlage_kurzbz,
|
||||
$sancho_vorlage_data,
|
||||
implode(',', $to),
|
||||
$subject
|
||||
);
|
||||
|
||||
if($mailsent)
|
||||
{
|
||||
$msg = $this->p->t('zeitsperren', 'VorgesetzteInformiert',
|
||||
array('vorgesetzte' => $sancho_vorlage_data['vorgesetzter']));
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg = $this->p->t('zeitsperren', 'fehlerBeimSendenAufgetreten',
|
||||
array('vorgesetzte' => $sancho_vorlage_data['vorgesetzter']));
|
||||
}
|
||||
}
|
||||
|
||||
$res = (object) array(
|
||||
'mailsent' => $mailsent,
|
||||
'msg' => $msg
|
||||
);
|
||||
$this->addMeta('mailstatus', $res);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ import CisMenu from "../../components/Cis/Menu.js";
|
||||
import PluginsPhrasen from '../../plugins/Phrasen.js';
|
||||
import Theme from "../../plugins/Theme.js";
|
||||
|
||||
import ApiAuthinfo from "../../api/factory/authinfo.js";
|
||||
|
||||
const app = Vue.createApp({
|
||||
name: 'CisMenuApp',
|
||||
components: {
|
||||
@@ -9,11 +11,15 @@ const app = Vue.createApp({
|
||||
},
|
||||
data: () => ({
|
||||
windowWidth: 0,
|
||||
isStudent: null,
|
||||
isMitarbeiter: null,
|
||||
}),
|
||||
provide() {
|
||||
return {
|
||||
isNarrow: Vue.computed(() => this.windowWidth < 992),
|
||||
isMobile: Vue.computed(() => this.windowWidth < 767),
|
||||
isStudent: Vue.computed(() => this.isStudent),
|
||||
isMitarbeiter: Vue.computed(() => this.isMitarbeiter)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -21,8 +27,12 @@ const app = Vue.createApp({
|
||||
this.windowWidth = window.innerWidth;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
async created() {
|
||||
this.windowWidth = window.innerWidth;
|
||||
await this.$api.call(ApiAuthinfo.getAuthInfo()).then((res) => {
|
||||
this.isMitarbeiter = res.data.isMitarbeiter;
|
||||
this.isStudent = res.data.isStudent;
|
||||
});
|
||||
},
|
||||
mounted() {
|
||||
window.addEventListener("resize", this.handleWindowResize);
|
||||
|
||||
@@ -67,7 +67,7 @@ export default {
|
||||
|
||||
new Tabulator(table, {
|
||||
index: index,
|
||||
layout: "fitDataFill",
|
||||
layout: "fitColumns",
|
||||
|
||||
columnDefaults: {
|
||||
formatter: "html",
|
||||
|
||||
@@ -68,7 +68,7 @@ export default {
|
||||
|
||||
new Tabulator(table, {
|
||||
index: index,
|
||||
layout: "fitDataFill",
|
||||
layout: "fitColumns",
|
||||
|
||||
columnDefaults: {
|
||||
formatter: "html",
|
||||
|
||||
@@ -74,7 +74,7 @@ export default {
|
||||
for (let table of tables) {
|
||||
this.sanitizeLegacyTables(table)
|
||||
new Tabulator(table, {
|
||||
layout: "fitDataStretch",
|
||||
layout: "fitColumns",
|
||||
|
||||
columnDefaults: {
|
||||
formatter: "html",
|
||||
|
||||
@@ -83,10 +83,26 @@ export default {
|
||||
});
|
||||
},
|
||||
getPromiseFunc(start, end) {
|
||||
return [
|
||||
this.$api.call(ApiLvPlan.eventsLv(this.propsViewData.lv_id, start.toISODate(), end.toISODate())),
|
||||
this.$api.call(ApiLvPlan.getLvPlanReservierungen(start.toISODate(), end.toISODate()))
|
||||
let functions = [
|
||||
this.$api.call(
|
||||
ApiLvPlan.eventsLv(
|
||||
this.propsViewData.lv_id,
|
||||
start.toISODate(),
|
||||
end.toISODate(),
|
||||
),
|
||||
),
|
||||
];
|
||||
if (!this.$props.propsViewData.lv_id?.length) {
|
||||
functions.push(
|
||||
this.$api.call(
|
||||
ApiLvPlan.getLvPlanReservierungen(
|
||||
start.toISODate(),
|
||||
end.toISODate(),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
return functions;
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
@@ -65,6 +65,10 @@ export default {
|
||||
label: Vue.computed(() => this.$p.t("profil/zeitsperren")),
|
||||
icon: "fas fa-calendar-days",
|
||||
type: "link",
|
||||
isMitarbeiter: Vue.computed(() => this.isMitarbeiter),
|
||||
renderif: function() {
|
||||
return this.isMitarbeiter;
|
||||
},
|
||||
action: function (data) {
|
||||
const uid = JSON.parse(data.data).uid;
|
||||
const link =
|
||||
@@ -163,7 +167,7 @@ export default {
|
||||
openMenuHierarchy: [],
|
||||
};
|
||||
},
|
||||
inject: ["isNarrow", "isMobile"],
|
||||
inject: ["isNarrow", "isMobile", "isMitarbeiter", "isStudent"],
|
||||
provide(){
|
||||
return{
|
||||
setActiveEntry: this.setActiveEntry,
|
||||
|
||||
@@ -91,6 +91,15 @@ export default {
|
||||
.then(() => this.deleteZeitsperre(zeitsperre_id))
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
alertMailstatus(response) {
|
||||
if(response?.meta?.mailstatus) {
|
||||
if(response.meta.mailstatus.mailsent) {
|
||||
this.$fhcAlert.alertInfo(response.meta.mailstatus.msg);
|
||||
} else {
|
||||
this.$fhcAlert.alertWarning(response.meta.mailstatus.msg);
|
||||
}
|
||||
}
|
||||
},
|
||||
saveZeitsperre(zeitsperreId = null) {
|
||||
const isNew = !zeitsperreId;
|
||||
|
||||
@@ -109,8 +118,9 @@ export default {
|
||||
|
||||
return this.$refs.dataZeitsperre
|
||||
.call(request)
|
||||
.then(() => {
|
||||
.then((response) => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.alertMailstatus(response);
|
||||
|
||||
this.reset();
|
||||
this.reload();
|
||||
@@ -122,6 +132,7 @@ export default {
|
||||
.call(ApiTimelocks.deleteZeitsperre(zeitsperre_id))
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||
this.alertMailstatus(response);
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError)
|
||||
.finally(()=> {
|
||||
|
||||
@@ -515,7 +515,7 @@ export default {
|
||||
},
|
||||
template: /* html */`
|
||||
<div class="stv" :class="{ 'sidebar-collapsed': sidebarCollapsed }">
|
||||
<header class="navbar navbar-expand-lg navbar-dark bg-dark flex-md-nowrap p-0 shadow">
|
||||
<header class="navbar navbar-expand-lg navbar-dark bg-dark flex-md-nowrap p-0 shadow" style="background-color: green !important;">
|
||||
<div class="col-md-4 col-lg-3 col-xl-2 d-flex align-items-center">
|
||||
<button
|
||||
class="btn btn-outline-light border-0 m-1 collapsed"
|
||||
@@ -528,7 +528,12 @@ export default {
|
||||
>
|
||||
<span class="svg-icon svg-icon-apps"></span>
|
||||
</button>
|
||||
<a class="navbar-brand me-0" :href="stvRoot">StudVw: {{studiensemesterKurzbz}} {{studiengangKuerzel}}</a>
|
||||
<a class="navbar-brand me-0" :href="stvRoot">
|
||||
<span style="font-size: 10px; line-height: 1; display: block; width: 100%; text-wrap: wrap; text-align: left;">
|
||||
DEMO Datenstand 29.09.2026
|
||||
</span>
|
||||
StudVw: {{studiensemesterKurzbz}} {{studiengangKuerzel}}
|
||||
</a>
|
||||
<button
|
||||
class="btn btn-outline-light border-0 d-none d-md-inline-flex m-1 ms-auto"
|
||||
type="button"
|
||||
|
||||
@@ -105,6 +105,7 @@ require_once('dbupdate_3.4/78292_gehaltsanpassungtyp.php');
|
||||
require_once('dbupdate_3.4/54225_reihungstest_ablauf_fuer_quereinsteiger.php');
|
||||
require_once('dbupdate_3.4/77757_widgets_berechtigungen.php');
|
||||
require_once('dbupdate_3.4/77048_cis4_mitarbeiter_studstatus_widget.php');
|
||||
require_once('dbupdate_3.4/83538_cis4_employees.php');
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
// Add permission: cis/eigene_zeitsperren
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'cis/eigene_zeitsperren';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('cis/eigene_zeitsperren', 'CI/VueJs Applikation Eigene Zeitsperren');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'system.tbl_berechtigung: Added permission "cis/eigene_zeitsperren"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
// Add permission: cis/andere_zeitsperren
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'cis/andere_zeitsperren';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('cis/andere_zeitsperren', 'CI/VueJs Applikation Zeitsperren anderer MA anzeigen');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'system.tbl_berechtigung: Added permission "cis/andere_zeitsperren"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -68077,6 +68077,128 @@ I have been informed that I am under no obligation to consent to the transmissio
|
||||
)
|
||||
),
|
||||
// MYLV PHRASES END
|
||||
// Zeitsperren Sancho Subjects begin
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'zeitsperren',
|
||||
'phrase' => 'zeitausgleichNeu',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Zeitausgleich wurde neu eingetragen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Compensatory time was entered',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'zeitsperren',
|
||||
'phrase' => 'zeitausgleichGeaendert',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Zeitausgleich wurde geändert',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Compensatory time was changed',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'zeitsperren',
|
||||
'phrase' => 'zeitausgleichGeloescht',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Zeitausgleich wurde gelöscht',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Compensatory time was deleted',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'zeitsperren',
|
||||
'phrase' => 'VorgesetzteInformiert',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Email wurde an {vorgesetzte} versandt',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Email was sent to {vorgesetzte}',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'zeitsperren',
|
||||
'phrase' => 'fehlerBeimSendenAufgetreten',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Fehler beim Senden des Freigabemails an {vorgesetzte}',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Error occured sending mail to {vorgesetzte}',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'zeitsperren',
|
||||
'phrase' => 'konnteKeinFreigabemailVersendetWerden',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Es konnte kein Freigabemail versendet werden, da kein Vorgesetzter eingetragen ist!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'An approval mail could not be sent because the “Superior” field was left blank!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// Zeitsperren Sancho Subjects end
|
||||
);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user