diff --git a/application/controllers/Cis/ProjektabgabeUebersicht.php b/application/controllers/Cis/ProjektabgabeUebersicht.php index 62c46dd5f..e7ce692f0 100644 --- a/application/controllers/Cis/ProjektabgabeUebersicht.php +++ b/application/controllers/Cis/ProjektabgabeUebersicht.php @@ -25,12 +25,6 @@ class ProjektabgabeUebersicht extends Auth_Controller */ public function index() { - // TODO create permission - $viewData = array( - 'uid' => getAuthUID(), - 'showEdit' => true - ); - - $this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'ProjektabgabeUebersicht']); + $this->load->view('CisRouterView/CisRouterView.php', ['route' => 'ProjektabgabeUebersicht']); } } diff --git a/application/controllers/api/frontend/v1/education/PaabgabeUebersicht.php b/application/controllers/api/frontend/v1/education/PaabgabeUebersicht.php index 13824d6df..f4efe2942 100644 --- a/application/controllers/api/frontend/v1/education/PaabgabeUebersicht.php +++ b/application/controllers/api/frontend/v1/education/PaabgabeUebersicht.php @@ -27,11 +27,12 @@ class PaabgabeUebersicht extends FHCAPI_Controller public function __construct() { parent::__construct([ + 'viewData' => self::PERM_LOGGED, 'getPaAbgaben' => array('lehre/abgabetool:r'), 'getStudiengaenge' => array('lehre/abgabetool:r'), 'getTermine' => array('lehre/abgabetool:r'), 'getPaAbgabetypen' => array('lehre/abgabetool:r'), - 'downloadZip' => array('lehre/abgabetool:r') + 'downloadZip' => array('lehre/abgabetool:r'), //'downloadProjektarbeit' => array('lehre/abgabetool:r') ]); @@ -45,6 +46,17 @@ class PaabgabeUebersicht extends FHCAPI_Controller ]); } + public function viewData() + { + $viewData = [ + "uid" => getAuthUID(), + // TODO create permission + "showEdit" => true, + ]; + + $this->terminateWithSuccess($viewData); + } + /** * Get Projektabgaben for search criteria. */ diff --git a/application/libraries/StundenplanLib.php b/application/libraries/StundenplanLib.php index 5be6e4110..cc8d4cc87 100644 --- a/application/libraries/StundenplanLib.php +++ b/application/libraries/StundenplanLib.php @@ -361,7 +361,10 @@ class StundenplanLib if (isError($ort_content_object)) { return error(getData($ort_content_object)); } - $ort_content_object = getData($ort_content_object)[0]; + $ort_content_object_data = getData($ort_content_object); + $ort_content_object = (is_array($ort_content_object_data) && count($ort_content_object_data) > 0) + ? $ort_content_object_data[0] + : null; if($ort_content_object) { $item->ort_content_id = $ort_content_object->content_id; } diff --git a/public/js/api/factory/paabgabeUebersicht.js b/public/js/api/factory/paabgabeUebersicht.js index 35120d2ab..bea754a14 100644 --- a/public/js/api/factory/paabgabeUebersicht.js +++ b/public/js/api/factory/paabgabeUebersicht.js @@ -26,5 +26,11 @@ export default { method: 'get', url: '/api/frontend/v1/education/PaabgabeUebersicht/getPaAbgabetypen' }; + }, + getViewData() { + return { + method: 'get', + url: '/api/frontend/v1/education/PaabgabeUebersicht/viewData' + }; } }; \ No newline at end of file diff --git a/public/js/components/Calendar/Base/Grid.js b/public/js/components/Calendar/Base/Grid.js index 1a10533b3..91f954d35 100644 --- a/public/js/components/Calendar/Base/Grid.js +++ b/public/js/components/Calendar/Base/Grid.js @@ -19,7 +19,8 @@ export default { originalBackgrounds: "backgrounds", dropAllowed: "dropAllowed", timezone: "timezone", - reservierbar: "isReservierbar" + reservierbar: "isReservierbar", + reservierbarMap: "reservierbarMap", }, provide() { return { @@ -328,6 +329,9 @@ export default { return !dayEvents.some(ev => ev.start < end && ev.end > start); } }, + created() { + this.$p.loadCategory(["LvPlan"]); + }, beforeUnmount() { this.disableAutoScroll(); }, @@ -424,9 +428,11 @@ export default { class="fhc-calendar-empty-slot" style="position:absolute; inset:0; z-index:1" v-cal-click:slot="{ date, part }" + :title="this.reservierbarMap?.[date.toISODate()] ? $p.t('LvPlan/add_reservation') : $p.t('LvPlan/reservation_not_allowed')" >
- + +
diff --git a/public/js/components/Calendar/LvPlan.js b/public/js/components/Calendar/LvPlan.js index d7049b23f..4f240cd73 100644 --- a/public/js/components/Calendar/LvPlan.js +++ b/public/js/components/Calendar/LvPlan.js @@ -230,6 +230,9 @@ export default { :is="renderers[event.type]?.calendarEvent" :event="event" @delete-event="(event) => $emit('delete-event', event)" + :timeSlotDisplayBehavior=" + $props.mode.toLowerCase() === 'list' ? 'always' : 'default' + " > diff --git a/public/js/components/Calendar/Widget.js b/public/js/components/Calendar/Widget.js index 54109268e..2266ce422 100644 --- a/public/js/components/Calendar/Widget.js +++ b/public/js/components/Calendar/Widget.js @@ -97,6 +97,7 @@ export default { diff --git a/public/js/components/Cis/Profil/MitarbeiterProfil.js b/public/js/components/Cis/Profil/MitarbeiterProfil.js index 855ba70fc..fe16bd548 100644 --- a/public/js/components/Cis/Profil/MitarbeiterProfil.js +++ b/public/js/components/Cis/Profil/MitarbeiterProfil.js @@ -340,7 +340,7 @@ export default {
-
+
{{ event.topic }} + {{ event.ort_kurzbz }} ... +{{ event.lektor.length - 3 }} - {{ event.ort_kurzbz }}
`, diff --git a/public/js/components/filter/Filter/Config.js b/public/js/components/filter/Filter/Config.js index 3c75c5a3c..3cee5f3e1 100644 --- a/public/js/components/filter/Filter/Config.js +++ b/public/js/components/filter/Filter/Config.js @@ -75,6 +75,7 @@ export default { }, methods: { switchFilter(evt) { + console.log(evt); this.$emit('switchFilter', evt.currentTarget.value); }, applyFilterConfig() { diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index b46d0a2d6..472899590 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -29924,6 +29924,46 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'LvPlan', + 'phrase' => 'add_reservation', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Reservierung hinzufügen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Add reservation', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'LvPlan', + 'phrase' => 'reservation_not_allowed', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Reservierung nicht erlaubt', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Reservation not allowed', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), // LvPlan Phrasen ende //ProfilUpdate Phrasen start array(