Merge branch 'master' into demo-cis40

This commit is contained in:
Harald Bamberger
2025-10-01 17:46:28 +02:00
5 changed files with 34 additions and 10 deletions
+4 -3
View File
@@ -229,9 +229,10 @@ class StundenplanLib
$this->_ci->load->model('ressource/Stundenplan_model', 'StundenplanModel');
$is_mitarbeiter = getData($this->_ci->MitarbeiterModel->isMitarbeiter(getAuthUID()));
if ($is_mitarbeiter) {
$reservierungen = $this->_ci->ReservierungModel->getReservierungenMitarbeiter($start_date, $end_date, $ort_kurzbz);
if ($is_mitarbeiter && empty($ort_kurzbz)) {
// request for personal lvplan show only reservations of logged in user
$reservierungen = $this->_ci->ReservierungModel->getReservierungenMitarbeiter($start_date, $end_date);
} else {
// querying the reservierungen
$reservierungen = $this->_ci->ReservierungModel->getReservierungen($start_date, $end_date, $ort_kurzbz);
@@ -76,7 +76,7 @@ class Reservierung_model extends DB_Model
*
* @return stdClass
*/
public function getReservierungenMitarbeiter($start_date, $end_date, $ort_kurzbz = null)
public function getReservierungenMitarbeiter($start_date, $end_date)
{
$raum_reservierungen_query = "SELECT res.*, beginn, ende,
@@ -89,7 +89,6 @@ class Reservierung_model extends DB_Model
JOIN lehre.tbl_stunde ON lehre.tbl_stunde.stunde = res.stunde
WHERE res.uid = ? AND datum >= ? AND datum <= ?";
// $subquery = is_null($ort_kurzbz)? $lvplan_reservierungen_query:$raum_reservierungen_query;
$subquery = $raum_reservierungen_query;
+2 -2
View File
@@ -50,7 +50,7 @@ const app = Vue.createApp({
defaultaction: {
type: "link",
renderif: function(data) {
if(data.content_id === "N/A"){
if(data.content_id === null){
return false;
}
return true;
@@ -79,7 +79,7 @@ const app = Vue.createApp({
icon: "fas fa-info-circle",
type: "link",
renderif: function(data) {
if(data.content_id === "N/A"){
if(data.content_id === null){
return false;
}
return true;
@@ -19,10 +19,24 @@ export default {
if (this.action.type === 'function')
this.action.action(this.res);
this.$emit('actionexecuted');
},
renderif: function() {
if(this.action?.renderif === undefined) {
return true;
}
return this.action.renderif(this.res);
}
},
template: `
<template v-if="this.renderif()">
<a class="searchbar-result-template-action" :href="actionHref" @click="actionFunc">
<slot>{{ $p.t('search/action_default_label') }}</slot>
</a>`
</a>
</template>
<template v-else>
<div class="searchbar-result-template-action">
<slot>{{ $p.t('search/action_default_label') }}</slot>
</div>
</template>`
};
@@ -10,11 +10,20 @@ export default {
res: Object,
actions: Array
},
methods: {
renderif: function(action) {
if(action?.renderif === undefined) {
return true;
}
return action.renderif(this.res);
}
},
template: `
<div v-if="actions.length" class="searchbar-result-template-actions">
<template v-for="(action, index) in actions" :key="action.label">
<result-action
v-for="(action, index) in actions"
:key="action.label"
v-if="this.renderif(action)"
:res="res"
:action="action"
class="btn btn-primary btn-sm"
@@ -23,5 +32,6 @@ export default {
<i v-if="action.icon" :class="action.icon"></i>
<span class="p-2">{{ action.label }}</span>
</result-action>
</template>
</div>`
};