Add user group constants and implement user role management in the calendar

This commit is contained in:
Narindra ezway 2025-03-12 16:25:36 +03:00
parent 1727db1cc2
commit e7bf6d0902
47 changed files with 668 additions and 247 deletions

View File

@ -164570,7 +164570,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"compressed":true,"categories":[{"id"
/******/ // This function allow to reference async chunks /******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => { /******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template /******/ // return url for filenames based on template
/******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"7bde6f386631234ba146","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"2e0b0e8bc0e8488c397c","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"728c782d2751f8e6150a","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141"}[chunkId] + ""; /******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"741d92f5ec54d0c1ff41","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"0658eb6db50a09dd2afe","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"e0f3178442f3c9eb35e1","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141"}[chunkId] + "";
/******/ }; /******/ };
/******/ })(); /******/ })();
/******/ /******/
@ -164827,4 +164827,4 @@ const visitorInfo = (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__.loa
/******/ })() /******/ })()
; ;
//# sourceMappingURL=calendar-appointments-booking.js.map?v=b7719d864afe6419c183 //# sourceMappingURL=calendar-appointments-booking.js.map?v=312d2cc5b7ca549a9366

File diff suppressed because one or more lines are too long

View File

@ -37516,4 +37516,4 @@ const booking = (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__.loadSta
/******/ })() /******/ })()
; ;
//# sourceMappingURL=calendar-appointments-confirmation.js.map?v=e09415d738d19b735882 //# sourceMappingURL=calendar-appointments-confirmation.js.map?v=a2ee83495b163cb419ce

File diff suppressed because one or more lines are too long

View File

@ -37552,4 +37552,4 @@ const booking = (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__.loadSta
/******/ })() /******/ })()
; ;
//# sourceMappingURL=calendar-appointments-conflict.js.map?v=203b5778e2275f51e478 //# sourceMappingURL=calendar-appointments-conflict.js.map?v=b617e2fd0c187cf8a3ef

File diff suppressed because one or more lines are too long

View File

@ -160605,4 +160605,4 @@ vue__WEBPACK_IMPORTED_MODULE_5__["default"].prototype.$n = _nextcloud_l10n__WEBP
/******/ })() /******/ })()
; ;
//# sourceMappingURL=calendar-appointments-overview.js.map?v=11949b799a3d070cc45a //# sourceMappingURL=calendar-appointments-overview.js.map?v=f24398268fe4a78a6630

File diff suppressed because one or more lines are too long

View File

@ -500,4 +500,4 @@ if(false) {}
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-dashboard-lazy.js.map?v=0dd354a2fd4b9e38ddcf //# sourceMappingURL=calendar-dashboard-lazy.js.map?v=60b7f707e08fff04c7a1

File diff suppressed because one or more lines are too long

View File

@ -1322,7 +1322,7 @@ function b(n) {
/******/ // This function allow to reference async chunks /******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => { /******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template /******/ // return url for filenames based on template
/******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"7bde6f386631234ba146","vendors-node_modules_vue_dist_vue_runtime_esm_js":"7e3171593bdc0f62040b","vendors-node_modules_nextcloud_cdav-library_dist_dist_js-node_modules_nextcloud_logger_dist_i-36c16b":"c3b3db23da041c717fc1","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","vendors-node_modules_vue-material-design-icons_CalendarBlankOutline_vue-node_modules_nextclou-4adead":"273df538e0dc19672feb","vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d":"86eaa619747854c0da61","src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790":"94fac30d128df46a89a6","src_store_index_js":"8e651e1007c1cc1d62d0","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"740a2859d1f364b508c1","dashboard-lazy":"0dd354a2fd4b9e38ddcf","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"2e0b0e8bc0e8488c397c","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"728c782d2751f8e6150a","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96":"ce1bed825f57dd1d117a","node_modules_moment_locale_sync_recursive_":"4bc2c39c5e0ff182c2e3"}[chunkId] + ""; /******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"741d92f5ec54d0c1ff41","vendors-node_modules_vue_dist_vue_runtime_esm_js":"7e3171593bdc0f62040b","vendors-node_modules_nextcloud_cdav-library_dist_dist_js-node_modules_nextcloud_logger_dist_i-36c16b":"c3b3db23da041c717fc1","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","vendors-node_modules_vue-material-design-icons_CalendarBlankOutline_vue-node_modules_nextclou-4adead":"01a7eb6779cc0e417f44","vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d":"c2bd3081c493a88308a2","src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790":"94fac30d128df46a89a6","src_store_index_js":"276ff6be1cb450405b79","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"740a2859d1f364b508c1","dashboard-lazy":"60b7f707e08fff04c7a1","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"0658eb6db50a09dd2afe","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"e0f3178442f3c9eb35e1","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96":"ce1bed825f57dd1d117a","node_modules_moment_locale_sync_recursive_":"4bc2c39c5e0ff182c2e3"}[chunkId] + "";
/******/ }; /******/ };
/******/ })(); /******/ })();
/******/ /******/
@ -1580,4 +1580,4 @@ document.addEventListener('DOMContentLoaded', function () {
/******/ })() /******/ })()
; ;
//# sourceMappingURL=calendar-dashboard.js.map?v=561bba8d5d28f5eebd8f //# sourceMappingURL=calendar-dashboard.js.map?v=ea575d366c0a35d0da21

File diff suppressed because one or more lines are too long

View File

@ -2596,6 +2596,10 @@ __webpack_require__.r(__webpack_exports__);
isPublic: { isPublic: {
type: Boolean, type: Boolean,
required: true required: true
},
canAccessPreviousEvent: {
type: Boolean,
default: true
} }
} }
}); });
@ -2642,6 +2646,10 @@ __webpack_require__.r(__webpack_exports__);
isWidget: { isWidget: {
type: Boolean, type: Boolean,
default: false default: false
},
canAccessPreviousEvent: {
type: Boolean,
default: true
} }
}, },
data() { data() {
@ -2653,6 +2661,9 @@ __webpack_require__.r(__webpack_exports__);
...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapState)({ ...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapState)({
locale: state => state.settings.momentLocale locale: state => state.settings.momentLocale
}), }),
minimumDate() {
return this.canAccessPreviousEvent ? new Date(this.$store.state.davRestrictions.minimumDate) : new Date();
},
selectedDate() { selectedDate() {
var _this$$route$params$f, _this$$route$params; var _this$$route$params$f, _this$$route$params;
if (this.isWidget) { if (this.isWidget) {
@ -2895,9 +2906,15 @@ __webpack_require__.r(__webpack_exports__);
ViewModule: vue_material_design_icons_ViewModule_vue__WEBPACK_IMPORTED_MODULE_4__["default"], ViewModule: vue_material_design_icons_ViewModule_vue__WEBPACK_IMPORTED_MODULE_4__["default"],
ViewWeek: vue_material_design_icons_ViewWeek_vue__WEBPACK_IMPORTED_MODULE_5__["default"] ViewWeek: vue_material_design_icons_ViewWeek_vue__WEBPACK_IMPORTED_MODULE_5__["default"]
}, },
props: {
canAccessPreviousEvent: {
type: Boolean,
default: true
}
},
computed: { computed: {
views() { views() {
return [{ let menus = [{
id: 'timeGridDay', id: 'timeGridDay',
icon: 'ViewDay', icon: 'ViewDay',
label: this.$t('calendar', 'Day') label: this.$t('calendar', 'Day')
@ -2905,19 +2922,24 @@ __webpack_require__.r(__webpack_exports__);
id: 'timeGridWeek', id: 'timeGridWeek',
icon: 'ViewWeek', icon: 'ViewWeek',
label: this.$t('calendar', 'Week') label: this.$t('calendar', 'Week')
}, {
id: 'dayGridMonth',
icon: 'ViewModule',
label: this.$t('calendar', 'Month')
}, {
id: 'multiMonthYear',
icon: 'ViewComfy',
label: this.$t('calendar', 'Year')
}, {
id: 'listMonth',
icon: 'ViewList',
label: this.$t('calendar', 'List')
}]; }];
if (this.canAccessPreviousEvent) {
let additionalMenus = [{
id: 'dayGridMonth',
icon: 'ViewModule',
label: this.$t('calendar', 'Month')
}, {
id: 'multiMonthYear',
icon: 'ViewComfy',
label: this.$t('calendar', 'Year')
}, {
id: 'listMonth',
icon: 'ViewList',
label: this.$t('calendar', 'List')
}];
menus = menus.concat(additionalMenus);
}
return menus;
}, },
shortKeyConf() { shortKeyConf() {
return { return {
@ -4956,6 +4978,10 @@ __webpack_require__.r(__webpack_exports__);
isWidget: { isWidget: {
type: Boolean, type: Boolean,
default: false default: false
},
canAccessPreviousEvent: {
type: Boolean,
default: true
} }
}, },
computed: { computed: {
@ -6807,6 +6833,10 @@ __webpack_require__.r(__webpack_exports__);
isAuthenticatedUser: { isAuthenticatedUser: {
type: Boolean, type: Boolean,
required: true required: true
},
isAdmin: {
type: Boolean,
default: true
} }
}, },
data() { data() {
@ -6836,10 +6866,14 @@ __webpack_require__.r(__webpack_exports__);
_this$$route$params$v, _this$$route$params$v,
_this$$route2, _this$$route2,
_this = this; _this = this;
let defaultView = 'dayGridMonth';
if (this.isAdmin === false) {
defaultView = 'timeGridWeek';
}
return { return {
// Initialization: // Initialization:
initialDate: (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_16__.getYYYYMMDDFromFirstdayParam)((_this$$route$params$f = (_this$$route = this.$route) === null || _this$$route === void 0 || (_this$$route = _this$$route.params) === null || _this$$route === void 0 ? void 0 : _this$$route.firstDay) !== null && _this$$route$params$f !== void 0 ? _this$$route$params$f : 'now'), initialDate: (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_16__.getYYYYMMDDFromFirstdayParam)((_this$$route$params$f = (_this$$route = this.$route) === null || _this$$route === void 0 || (_this$$route = _this$$route.params) === null || _this$$route === void 0 ? void 0 : _this$$route.firstDay) !== null && _this$$route$params$f !== void 0 ? _this$$route$params$f : 'now'),
initialView: (_this$$route$params$v = (_this$$route2 = this.$route) === null || _this$$route2 === void 0 ? void 0 : _this$$route2.params.view) !== null && _this$$route$params$v !== void 0 ? _this$$route$params$v : 'dayGridMonth', initialView: (_this$$route$params$v = (_this$$route2 = this.$route) === null || _this$$route2 === void 0 ? void 0 : _this$$route2.params.view) !== null && _this$$route$params$v !== void 0 ? _this$$route$params$v : defaultView,
// Data // Data
eventSources: this.eventSources, eventSources: this.eventSources,
// Plugins // Plugins
@ -13249,20 +13283,18 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _components_CalendarGrid_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/CalendarGrid.vue */ "./src/components/CalendarGrid.vue"); /* harmony import */ var _components_CalendarGrid_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/CalendarGrid.vue */ "./src/components/CalendarGrid.vue");
/* harmony import */ var _components_AppNavigation_EditCalendarModal_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/AppNavigation/EditCalendarModal.vue */ "./src/components/AppNavigation/EditCalendarModal.vue"); /* harmony import */ var _components_AppNavigation_EditCalendarModal_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/AppNavigation/EditCalendarModal.vue */ "./src/components/AppNavigation/EditCalendarModal.vue");
/* harmony import */ var _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./EditSimple.vue */ "./src/views/EditSimple.vue"); /* harmony import */ var _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./EditSimple.vue */ "./src/views/EditSimple.vue");
/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @nextcloud/axios */ "./node_modules/@nextcloud/axios/dist/index.es.mjs"); /* harmony import */ var _services_caldavService_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../services/caldavService.js */ "./src/services/caldavService.js");
/* harmony import */ var _services_caldavService_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../services/caldavService.js */ "./src/services/caldavService.js"); /* harmony import */ var _utils_color_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/color.js */ "./src/utils/color.js");
/* harmony import */ var _utils_color_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/color.js */ "./src/utils/color.js"); /* harmony import */ var _utils_date_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/date.js */ "./src/utils/date.js");
/* harmony import */ var _utils_date_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/date.js */ "./src/utils/date.js"); /* harmony import */ var _services_timezoneDataProviderService_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../services/timezoneDataProviderService.js */ "./src/services/timezoneDataProviderService.js");
/* harmony import */ var _services_timezoneDataProviderService_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/timezoneDataProviderService.js */ "./src/services/timezoneDataProviderService.js"); /* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/logger.js */ "./src/utils/logger.js");
/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/logger.js */ "./src/utils/logger.js"); /* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js"); /* harmony import */ var _utils_moment_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/moment.js */ "./src/utils/moment.js");
/* harmony import */ var _utils_moment_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/moment.js */ "./src/utils/moment.js"); /* harmony import */ var _nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @nextcloud/initial-state */ "./node_modules/@nextcloud/initial-state/dist/index.es.mjs");
/* harmony import */ var _nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @nextcloud/initial-state */ "./node_modules/@nextcloud/initial-state/dist/index.es.mjs"); /* harmony import */ var _nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.mjs");
/* harmony import */ var _nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.mjs"); /* harmony import */ var _nextcloud_dialogs_dist_index_css__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @nextcloud/dialogs/dist/index.css */ "./node_modules/@nextcloud/dialogs/dist/style.css");
/* harmony import */ var _nextcloud_dialogs_dist_index_css__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @nextcloud/dialogs/dist/index.css */ "./node_modules/@nextcloud/dialogs/dist/style.css"); /* harmony import */ var _components_AppNavigation_CalendarList_Trashbin_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../components/AppNavigation/CalendarList/Trashbin.vue */ "./src/components/AppNavigation/CalendarList/Trashbin.vue");
/* harmony import */ var _components_AppNavigation_CalendarList_Trashbin_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../components/AppNavigation/CalendarList/Trashbin.vue */ "./src/components/AppNavigation/CalendarList/Trashbin.vue"); /* harmony import */ var _components_AppNavigation_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../components/AppNavigation/AppointmentConfigList.vue */ "./src/components/AppNavigation/AppointmentConfigList.vue");
/* harmony import */ var _components_AppNavigation_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../components/AppNavigation/AppointmentConfigList.vue */ "./src/components/AppNavigation/AppointmentConfigList.vue");
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.mjs");
// Import vue components // Import vue components
@ -13275,7 +13307,6 @@ __webpack_require__.r(__webpack_exports__);
// Import CalDAV related methods // Import CalDAV related methods
@ -13291,11 +13322,10 @@ __webpack_require__.r(__webpack_exports__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
name: 'Calendar', name: 'Calendar',
components: { components: {
AppointmentConfigList: _components_AppNavigation_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_21__["default"], AppointmentConfigList: _components_AppNavigation_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_20__["default"],
CalendarGrid: _components_CalendarGrid_vue__WEBPACK_IMPORTED_MODULE_7__["default"], CalendarGrid: _components_CalendarGrid_vue__WEBPACK_IMPORTED_MODULE_7__["default"],
EmptyCalendar: _components_EmptyCalendar_vue__WEBPACK_IMPORTED_MODULE_6__["default"], EmptyCalendar: _components_EmptyCalendar_vue__WEBPACK_IMPORTED_MODULE_6__["default"],
EmbedTopNavigation: _components_AppNavigation_EmbedTopNavigation_vue__WEBPACK_IMPORTED_MODULE_5__["default"], EmbedTopNavigation: _components_AppNavigation_EmbedTopNavigation_vue__WEBPACK_IMPORTED_MODULE_5__["default"],
@ -13307,7 +13337,7 @@ __webpack_require__.r(__webpack_exports__);
AppNavigation: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigation, AppNavigation: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigation,
AppNavigationSpacer: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigationSpacer, AppNavigationSpacer: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigationSpacer,
CalendarListNew: _components_AppNavigation_CalendarList_CalendarListNew_vue__WEBPACK_IMPORTED_MODULE_4__["default"], CalendarListNew: _components_AppNavigation_CalendarList_CalendarListNew_vue__WEBPACK_IMPORTED_MODULE_4__["default"],
Trashbin: _components_AppNavigation_CalendarList_Trashbin_vue__WEBPACK_IMPORTED_MODULE_20__["default"], Trashbin: _components_AppNavigation_CalendarList_Trashbin_vue__WEBPACK_IMPORTED_MODULE_19__["default"],
EditCalendarModal: _components_AppNavigation_EditCalendarModal_vue__WEBPACK_IMPORTED_MODULE_8__["default"], EditCalendarModal: _components_AppNavigation_EditCalendarModal_vue__WEBPACK_IMPORTED_MODULE_8__["default"],
EditSimple: _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__["default"] EditSimple: _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__["default"]
}, },
@ -13329,12 +13359,13 @@ __webpack_require__.r(__webpack_exports__);
}; };
}, },
computed: { computed: {
...(0,vuex__WEBPACK_IMPORTED_MODULE_23__.mapGetters)({ ...(0,vuex__WEBPACK_IMPORTED_MODULE_21__.mapGetters)({
timezoneId: 'getResolvedTimezone', timezoneId: 'getResolvedTimezone',
hasTrashBin: 'hasTrashBin', hasTrashBin: 'hasTrashBin',
currentUserPrincipal: 'getCurrentUserPrincipal' currentUserPrincipal: 'getCurrentUserPrincipal',
canAccessPreviousEvent: 'userRole/canAccessPreviousEvent'
}), }),
...(0,vuex__WEBPACK_IMPORTED_MODULE_23__.mapState)({ ...(0,vuex__WEBPACK_IMPORTED_MODULE_21__.mapState)({
eventLimit: state => state.settings.eventLimit, eventLimit: state => state.settings.eventLimit,
skipPopover: state => state.settings.skipPopover, skipPopover: state => state.settings.skipPopover,
showWeekends: state => state.settings.showWeekends, showWeekends: state => state.settings.showWeekends,
@ -13345,11 +13376,12 @@ __webpack_require__.r(__webpack_exports__);
timezone: state => state.settings.timezone, timezone: state => state.settings.timezone,
modificationCount: state => state.calendarObjects.modificationCount, modificationCount: state => state.calendarObjects.modificationCount,
disableAppointments: state => state.settings.disableAppointments, disableAppointments: state => state.settings.disableAppointments,
attachmentsFolder: state => state.settings.attachmentsFolder attachmentsFolder: state => state.settings.attachmentsFolder,
roles: state => state.userRole.roles
}), }),
defaultDate() { defaultDate() {
var _this$$route$params$f, _this$$route; var _this$$route$params$f, _this$$route;
return (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_13__.getYYYYMMDDFromFirstdayParam)((_this$$route$params$f = (_this$$route = this.$route) === null || _this$$route === void 0 || (_this$$route = _this$$route.params) === null || _this$$route === void 0 ? void 0 : _this$$route.firstDay) !== null && _this$$route$params$f !== void 0 ? _this$$route$params$f : 'now'); return (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_12__.getYYYYMMDDFromFirstdayParam)((_this$$route$params$f = (_this$$route = this.$route) === null || _this$$route === void 0 || (_this$$route = _this$$route.params) === null || _this$$route === void 0 ? void 0 : _this$$route.firstDay) !== null && _this$$route$params$f !== void 0 ? _this$$route$params$f : 'now');
}, },
isEditable() { isEditable() {
var _this$$route2, _this$$route3; var _this$$route2, _this$$route3;
@ -13392,7 +13424,7 @@ __webpack_require__.r(__webpack_exports__);
}, },
created() { created() {
this.timeFrameCacheExpiryJob = setInterval(() => { this.timeFrameCacheExpiryJob = setInterval(() => {
const timestamp = (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_13__.getUnixTimestampFromDate)((0,_utils_date_js__WEBPACK_IMPORTED_MODULE_13__.dateFactory)()) - 60 * 10; const timestamp = (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_12__.getUnixTimestampFromDate)((0,_utils_date_js__WEBPACK_IMPORTED_MODULE_12__.dateFactory)()) - 60 * 10;
const timeRanges = this.$store.getters.getAllTimeRangesOlderThan(timestamp); const timeRanges = this.$store.getters.getAllTimeRangesOlderThan(timestamp);
for (const timeRange of timeRanges) { for (const timeRange of timeRanges) {
this.$store.commit('removeTimeRange', { this.$store.commit('removeTimeRange', {
@ -13410,29 +13442,29 @@ __webpack_require__.r(__webpack_exports__);
async beforeMount() { async beforeMount() {
var _this$$route4, _this$$route5; var _this$$route4, _this$$route5;
this.$store.commit('loadSettingsFromServer', { this.$store.commit('loadSettingsFromServer', {
appVersion: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'app_version'), appVersion: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'app_version'),
eventLimit: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'event_limit'), eventLimit: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'event_limit'),
firstRun: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'first_run'), firstRun: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'first_run'),
showWeekends: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_weekends'), showWeekends: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_weekends'),
showWeekNumbers: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_week_numbers'), showWeekNumbers: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_week_numbers'),
skipPopover: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'skip_popover'), skipPopover: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'skip_popover'),
slotDuration: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'slot_duration'), slotDuration: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'slot_duration'),
defaultReminder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'default_reminder'), defaultReminder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'default_reminder'),
talkEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'talk_enabled'), talkEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'talk_enabled'),
tasksEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'tasks_enabled'), tasksEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'tasks_enabled'),
timezone: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'timezone'), timezone: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'timezone'),
showTasks: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_tasks'), showTasks: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_tasks'),
hideEventExport: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'hide_event_export'), hideEventExport: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'hide_event_export'),
forceEventAlarmType: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'force_event_alarm_type', false), forceEventAlarmType: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'force_event_alarm_type', false),
disableAppointments: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'disable_appointments', false), disableAppointments: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'disable_appointments', false),
canSubscribeLink: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'can_subscribe_link', false), canSubscribeLink: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'can_subscribe_link', false),
attachmentsFolder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'attachments_folder', false), attachmentsFolder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'attachments_folder', false),
showResources: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_resources', true), showResources: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_resources', true),
publicCalendars: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'publicCalendars', []) publicCalendars: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'publicCalendars', [])
}); });
this.$store.dispatch('initializeCalendarJsConfig'); this.$store.dispatch('initializeCalendarJsConfig');
if ((_this$$route4 = this.$route) !== null && _this$$route4 !== void 0 && _this$$route4.name.startsWith('Public') || (_this$$route5 = this.$route) !== null && _this$$route5 !== void 0 && _this$$route5.name.startsWith('Embed') || this.isWidget) { if ((_this$$route4 = this.$route) !== null && _this$$route4 !== void 0 && _this$$route4.name.startsWith('Public') || (_this$$route5 = this.$route) !== null && _this$$route5 !== void 0 && _this$$route5.name.startsWith('Embed') || this.isWidget) {
await (0,_services_caldavService_js__WEBPACK_IMPORTED_MODULE_11__.initializeClientForPublicView)(); await (0,_services_caldavService_js__WEBPACK_IMPORTED_MODULE_10__.initializeClientForPublicView)();
const tokens = this.isWidget ? [this.referenceToken] : this.$route.params.tokens.split('-'); const tokens = this.isWidget ? [this.referenceToken] : this.$route.params.tokens.split('-');
const calendars = await this.$store.dispatch('getPublicCalendars', { const calendars = await this.$store.dispatch('getPublicCalendars', {
tokens tokens
@ -13442,13 +13474,13 @@ __webpack_require__.r(__webpack_exports__);
this.showEmptyCalendarScreen = true; this.showEmptyCalendarScreen = true;
} }
} else { } else {
await (0,_services_caldavService_js__WEBPACK_IMPORTED_MODULE_11__.initializeClientForUserView)(); await (0,_services_caldavService_js__WEBPACK_IMPORTED_MODULE_10__.initializeClientForUserView)();
await this.$store.dispatch('fetchCurrentUserPrincipal'); await this.$store.dispatch('fetchCurrentUserPrincipal');
const { const {
calendars, calendars,
trashBin trashBin
} = await this.$store.dispatch('loadCollections'); } = await this.$store.dispatch('loadCollections');
_utils_logger_js__WEBPACK_IMPORTED_MODULE_15__["default"].debug('calendars and trash bin loaded', { _utils_logger_js__WEBPACK_IMPORTED_MODULE_14__["default"].debug('calendars and trash bin loaded', {
calendars, calendars,
trashBin trashBin
}); });
@ -13469,37 +13501,37 @@ __webpack_require__.r(__webpack_exports__);
// No writeable calendars? Create a new one! // No writeable calendars? Create a new one!
if (writeableCalendarIndex === -1) { if (writeableCalendarIndex === -1) {
_utils_logger_js__WEBPACK_IMPORTED_MODULE_15__["default"].info('User has no writable calendar, a new personal calendar will be created'); _utils_logger_js__WEBPACK_IMPORTED_MODULE_14__["default"].info('User has no writable calendar, a new personal calendar will be created');
this.loadingCalendars = true; this.loadingCalendars = true;
await this.$store.dispatch('appendCalendar', { await this.$store.dispatch('appendCalendar', {
displayName: this.$t('calendar', 'Personal'), displayName: this.$t('calendar', 'Personal'),
color: (0,_utils_color_js__WEBPACK_IMPORTED_MODULE_12__.uidToHexColor)(this.$t('calendar', 'Personal')), color: (0,_utils_color_js__WEBPACK_IMPORTED_MODULE_11__.uidToHexColor)(this.$t('calendar', 'Personal')),
order: 0 order: 0
}); });
} }
this.loadingCalendars = false; this.loadingCalendars = false;
await this.fetchUserTypesAndUpdateCalendars(calendars);
} }
}, },
async mounted() { async mounted() {
if (this.timezone === 'automatic' && this.timezoneId === 'UTC') { if (this.timezone === 'automatic' && this.timezoneId === 'UTC') {
const { const {
toastElement toastElement
} = (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_18__.showWarning)(this.$t('calendar', 'The automatic time zone detection determined your time zone to be UTC.\nThis is most likely the result of security measures of your web browser.\nPlease set your time zone manually in the calendar settings.'), { } = (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_17__.showWarning)(this.$t('calendar', 'The automatic time zone detection determined your time zone to be UTC.\nThis is most likely the result of security measures of your web browser.\nPlease set your time zone manually in the calendar settings.'), {
timeout: 60000 timeout: 60000
}); });
toastElement.classList.add('toast-calendar-multiline'); toastElement.classList.add('toast-calendar-multiline');
} }
if ((0,_services_timezoneDataProviderService_js__WEBPACK_IMPORTED_MODULE_14__["default"])().getTimezoneForId(this.timezoneId) === null) { if ((0,_services_timezoneDataProviderService_js__WEBPACK_IMPORTED_MODULE_13__["default"])().getTimezoneForId(this.timezoneId) === null) {
const { const {
toastElement toastElement
} = (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_18__.showWarning)(this.$t('calendar', 'Your configured time zone ({timezoneId}) was not found. Falling back to UTC.\nPlease change your time zone in the settings and report this issue.', { } = (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_17__.showWarning)(this.$t('calendar', 'Your configured time zone ({timezoneId}) was not found. Falling back to UTC.\nPlease change your time zone in the settings and report this issue.', {
timezoneId: this.timezoneId timezoneId: this.timezoneId
}), { }), {
timeout: 60000 timeout: 60000
}); });
toastElement.classList.add('toast-calendar-multiline'); toastElement.classList.add('toast-calendar-multiline');
} }
await this.$store.dispatch("userRole/fetchUserRoles");
await this.loadMomentLocale(); await this.loadMomentLocale();
}, },
methods: { methods: {
@ -13509,7 +13541,7 @@ __webpack_require__.r(__webpack_exports__);
* @return {Promise<void>} * @return {Promise<void>}
*/ */
async loadMomentLocale() { async loadMomentLocale() {
const locale = await (0,_utils_moment_js__WEBPACK_IMPORTED_MODULE_16__["default"])(); const locale = await (0,_utils_moment_js__WEBPACK_IMPORTED_MODULE_15__["default"])();
this.$store.commit('setMomentLocale', { this.$store.commit('setMomentLocale', {
locale locale
}); });
@ -13526,8 +13558,8 @@ __webpack_require__.r(__webpack_exports__);
}, },
async fetchUserTypeForCalendar(userPrincipalId) { async fetchUserTypeForCalendar(userPrincipalId) {
let url = '/apps/gestion/getUserTypeByUserUuid/' + userPrincipalId; let url = '/apps/gestion/getUserTypeByUserUuid/' + userPrincipalId;
const ajaxUrl = (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_22__.generateUrl)(url); const ajaxUrl = generateUrl(url);
const response = await _nextcloud_axios__WEBPACK_IMPORTED_MODULE_10__["default"].get(ajaxUrl); const response = await axios.get(ajaxUrl);
let responseValue = JSON.parse(response.data); let responseValue = JSON.parse(response.data);
return responseValue.thanatoTypeLabel; return responseValue.thanatoTypeLabel;
} }
@ -14263,9 +14295,17 @@ var render = function render() {
_c = _vm._self._c; _c = _vm._self._c;
return _c("header", { return _c("header", {
staticClass: "app-navigation-header" staticClass: "app-navigation-header"
}, [_c("AppNavigationHeaderDatePicker"), _vm._v(" "), _c("div", { }, [_c("AppNavigationHeaderDatePicker", {
attrs: {
"can-access-previous-event": _vm.canAccessPreviousEvent
}
}), _vm._v(" "), _c("div", {
staticClass: "new-event-today-view-section" staticClass: "new-event-today-view-section"
}, [!_vm.isPublic ? _c("AppNavigationHeaderNewEvent") : _vm._e(), _vm._v(" "), _c("AppNavigationHeaderTodayButton"), _vm._v(" "), _c("AppNavigationHeaderViewMenu")], 1)], 1); }, [!_vm.isPublic ? _c("AppNavigationHeaderNewEvent") : _vm._e(), _vm._v(" "), _c("AppNavigationHeaderTodayButton"), _vm._v(" "), _c("AppNavigationHeaderViewMenu", {
attrs: {
"can-access-previous-event": _vm.canAccessPreviousEvent
}
})], 1)], 1);
}; };
var staticRenderFns = []; var staticRenderFns = [];
render._withStripped = true; render._withStripped = true;
@ -14290,7 +14330,7 @@ var render = function render() {
_c = _vm._self._c; _c = _vm._self._c;
return _c("div", { return _c("div", {
staticClass: "datepicker-button-section" staticClass: "datepicker-button-section"
}, [!_vm.isWidget ? _c("NcButton", { }, [!_vm.isWidget && _vm.canAccessPreviousEvent ? _c("NcButton", {
directives: [{ directives: [{
name: "shortkey", name: "shortkey",
rawName: "v-shortkey", rawName: "v-shortkey",
@ -14344,7 +14384,8 @@ var render = function render() {
date: _vm.selectedDate, date: _vm.selectedDate,
"is-all-day": true, "is-all-day": true,
open: _vm.isDatepickerOpen, open: _vm.isDatepickerOpen,
type: _vm.view === "multiMonthYear" ? "year" : "date" type: _vm.view === "multiMonthYear" ? "year" : "date",
min: _vm.minimumDate
}, },
on: { on: {
"update:open": function ($event) { "update:open": function ($event) {
@ -16358,7 +16399,8 @@ var render = function render() {
class: _vm.isWidget ? "widget-header__date-section" : "embed-header__date-section" class: _vm.isWidget ? "widget-header__date-section" : "embed-header__date-section"
}, [_c("AppNavigationHeaderDatePicker", { }, [_c("AppNavigationHeaderDatePicker", {
attrs: { attrs: {
"is-widget": _vm.isWidget "is-widget": _vm.isWidget,
"can-access-previous-event": _vm.canAccessPreviousEvent
} }
}), _vm._v(" "), !_vm.isWidget ? _c("AppNavigationHeaderTodayButton") : _vm._e()], 1), _vm._v(" "), _c("div", { }), _vm._v(" "), !_vm.isWidget ? _c("AppNavigationHeaderTodayButton") : _vm._e()], 1), _vm._v(" "), _c("div", {
class: _vm.isWidget ? "widget-header__views-section" : "embed-header__views-section" class: _vm.isWidget ? "widget-header__views-section" : "embed-header__views-section"
@ -21714,12 +21756,14 @@ var render = function render() {
staticClass: "calendar-Widget calendar-Widget-Custom" staticClass: "calendar-Widget calendar-Widget-Custom"
}, [!_vm.showEmptyCalendarScreen ? _c("EmbedTopNavigation", { }, [!_vm.showEmptyCalendarScreen ? _c("EmbedTopNavigation", {
attrs: { attrs: {
"is-widget": true "is-widget": true,
"can-access-previous-event": _vm.canAccessPreviousEvent
} }
}) : _vm._e(), _vm._v(" "), !_vm.showEmptyCalendarScreen ? _c("CalendarGrid", { }) : _vm._e(), _vm._v(" "), !_vm.showEmptyCalendarScreen ? _c("CalendarGrid", {
ref: "calendarGridWidget", ref: "calendarGridWidget",
attrs: { attrs: {
"is-widget": _vm.isWidget, "is-widget": _vm.isWidget,
"can-access-previous-event": _vm.canAccessPreviousEvent,
"is-authenticated-user": _vm.isAuthenticatedUser "is-authenticated-user": _vm.isAuthenticatedUser
} }
}) : _c("EmptyCalendar"), _vm._v(" "), _vm.showWidgetEventDetails ? _c("EditSimple", { }) : _c("EmptyCalendar"), _vm._v(" "), _vm.showWidgetEventDetails ? _c("EditSimple", {
@ -21771,10 +21815,16 @@ var render = function render() {
}], null, false, 2841196060) }], null, false, 2841196060)
}, [_c("AppNavigationHeader", { }, [_c("AppNavigationHeader", {
attrs: { attrs: {
"is-public": !_vm.isAuthenticatedUser "is-public": !_vm.isAuthenticatedUser,
"can-access-previous-event": _vm.canAccessPreviousEvent
} }
})], 1) : _vm._e(), _vm._v(" "), _vm.isEmbedded ? _c("EmbedTopNavigation") : _vm._e(), _vm._v(" "), _c("AppContent", [!_vm.showEmptyCalendarScreen ? _c("CalendarGrid", { })], 1) : _vm._e(), _vm._v(" "), _vm.isEmbedded ? _c("EmbedTopNavigation", {
attrs: { attrs: {
"is-admin": false
}
}) : _vm._e(), _vm._v(" "), _c("AppContent", [!_vm.showEmptyCalendarScreen ? _c("CalendarGrid", {
attrs: {
"can-access-previous-event": _vm.canAccessPreviousEvent,
"is-authenticated-user": _vm.isAuthenticatedUser "is-authenticated-user": _vm.isAuthenticatedUser
} }
}) : _c("EmptyCalendar")], 1), _vm._v(" "), _c("router-view")], 1); }) : _c("EmptyCalendar")], 1), _vm._v(" "), _c("router-view")], 1);
@ -30062,6 +30112,36 @@ const readFileAsText = file => {
/***/ }), /***/ }),
/***/ "./src/services/roleService.js":
/*!*************************************!*\
!*** ./src/services/roleService.js ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/axios */ "./node_modules/@nextcloud/axios/dist/index.es.mjs");
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.mjs");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
async fetchAndCommitRoles(commit) {
try {
var url = '/apps/gestion/getUserConnectedGroups';
const ajaxUrl = (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_1__.generateUrl)(url);
_nextcloud_axios__WEBPACK_IMPORTED_MODULE_0__["default"].get(ajaxUrl).then(response => {
let roles = JSON.parse(response.data);
commit("setUserRole", roles);
}).catch(error => {});
} catch (error) {}
}
});
/***/ }),
/***/ "./src/services/settings.js": /***/ "./src/services/settings.js":
/*!**********************************!*\ /*!**********************************!*\
!*** ./src/services/settings.js ***! !*** ./src/services/settings.js ***!
@ -35726,8 +35806,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ }); /* harmony export */ });
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js"); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js"); /* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony import */ var _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./calendarObjectInstance.js */ "./src/store/calendarObjectInstance.js"); /* harmony import */ var _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./calendarObjectInstance.js */ "./src/store/calendarObjectInstance.js");
/* harmony import */ var _calendarObjects_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./calendarObjects.js */ "./src/store/calendarObjects.js"); /* harmony import */ var _calendarObjects_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./calendarObjects.js */ "./src/store/calendarObjects.js");
/* harmony import */ var _calendars_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./calendars.js */ "./src/store/calendars.js"); /* harmony import */ var _calendars_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./calendars.js */ "./src/store/calendars.js");
@ -35738,6 +35818,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _importState_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./importState.js */ "./src/store/importState.js"); /* harmony import */ var _importState_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./importState.js */ "./src/store/importState.js");
/* harmony import */ var _principals_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./principals.js */ "./src/store/principals.js"); /* harmony import */ var _principals_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./principals.js */ "./src/store/principals.js");
/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./settings.js */ "./src/store/settings.js"); /* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./settings.js */ "./src/store/settings.js");
/* harmony import */ var _userRole_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./userRole.js */ "./src/store/userRole.js");
/** /**
* @copyright Copyright (c) 2019 Georg Ehrke * @copyright Copyright (c) 2019 Georg Ehrke
* *
@ -35775,8 +35856,9 @@ __webpack_require__.r(__webpack_exports__);
vue__WEBPACK_IMPORTED_MODULE_10__["default"].use(vuex__WEBPACK_IMPORTED_MODULE_11__["default"]);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new vuex__WEBPACK_IMPORTED_MODULE_11__["default"].Store({ vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vuex__WEBPACK_IMPORTED_MODULE_12__["default"]);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new vuex__WEBPACK_IMPORTED_MODULE_12__["default"].Store({
modules: { modules: {
calendarObjectInstance: _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__["default"], calendarObjectInstance: _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__["default"],
calendarObjects: _calendarObjects_js__WEBPACK_IMPORTED_MODULE_1__["default"], calendarObjects: _calendarObjects_js__WEBPACK_IMPORTED_MODULE_1__["default"],
@ -35787,7 +35869,8 @@ vue__WEBPACK_IMPORTED_MODULE_10__["default"].use(vuex__WEBPACK_IMPORTED_MODULE_1
importFiles: _importFiles_js__WEBPACK_IMPORTED_MODULE_6__["default"], importFiles: _importFiles_js__WEBPACK_IMPORTED_MODULE_6__["default"],
importState: _importState_js__WEBPACK_IMPORTED_MODULE_7__["default"], importState: _importState_js__WEBPACK_IMPORTED_MODULE_7__["default"],
principals: _principals_js__WEBPACK_IMPORTED_MODULE_8__["default"], principals: _principals_js__WEBPACK_IMPORTED_MODULE_8__["default"],
settings: _settings_js__WEBPACK_IMPORTED_MODULE_9__["default"] settings: _settings_js__WEBPACK_IMPORTED_MODULE_9__["default"],
userRole: _userRole_js__WEBPACK_IMPORTED_MODULE_10__["default"]
} }
// // Throw errors when the state is edited outside of mutations // // Throw errors when the state is edited outside of mutations
// strict: true // strict: true
@ -36585,6 +36668,52 @@ const actions = {
/***/ }), /***/ }),
/***/ "./src/store/userRole.js":
/*!*******************************!*\
!*** ./src/store/userRole.js ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _services_roleService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../services/roleService */ "./src/services/roleService.js");
const state = {
roles: [] // Store the roles here
};
const mutations = {
setUserRole(state, roles) {
state.roles = roles;
}
};
const actions = {
async fetchUserRoles(_ref) {
let {
commit
} = _ref;
try {
// Pass commit to the service
await _services_roleService__WEBPACK_IMPORTED_MODULE_0__["default"].fetchAndCommitRoles(commit);
} catch (error) {}
}
};
const getters = {
isAdmin: state => state.roles.includes("admin"),
canAccessPreviousEvent: state => state.roles.includes("Ligne") == false && state.roles.includes("ligne") == false
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
namespaced: true,
state,
mutations,
actions,
getters
});
/***/ }),
/***/ "./src/utils/alarms.js": /***/ "./src/utils/alarms.js":
/*!*****************************!*\ /*!*****************************!*\
!*** ./src/utils/alarms.js ***! !*** ./src/utils/alarms.js ***!
@ -309770,7 +309899,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"compressed":true,"categories":[{"id"
/******/ // This function allow to reference async chunks /******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => { /******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template /******/ // return url for filenames based on template
/******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"7bde6f386631234ba146","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"2e0b0e8bc0e8488c397c","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"728c782d2751f8e6150a","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","public-calendar-subscription-picker":"9168fca99a878d4c37e3","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96":"ce1bed825f57dd1d117a","node_modules_moment_locale_sync_recursive_":"4bc2c39c5e0ff182c2e3"}[chunkId] + ""; /******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"741d92f5ec54d0c1ff41","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"0658eb6db50a09dd2afe","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"e0f3178442f3c9eb35e1","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","public-calendar-subscription-picker":"0c8b5b050db3beb63d49","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96":"ce1bed825f57dd1d117a","node_modules_moment_locale_sync_recursive_":"4bc2c39c5e0ff182c2e3"}[chunkId] + "";
/******/ }; /******/ };
/******/ })(); /******/ })();
/******/ /******/
@ -310075,4 +310204,4 @@ appointmentsConfigsStore.addInitialConfigs((0,_nextcloud_initial_state__WEBPACK_
/******/ })() /******/ })()
; ;
//# sourceMappingURL=calendar-main.js.map?v=2990e8625cbe6e7ec5ce //# sourceMappingURL=calendar-main.js.map?v=e2db448fb505c0b97453

File diff suppressed because one or more lines are too long

View File

@ -369,4 +369,4 @@ module.exports = /*#__PURE__*/JSON.parse('[{"country":"Algeria","filename":"Alge
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-public-calendar-subscription-picker.js.map?v=9168fca99a878d4c37e3 //# sourceMappingURL=calendar-public-calendar-subscription-picker.js.map?v=0c8b5b050db3beb63d49

File diff suppressed because one or more lines are too long

View File

@ -8865,7 +8865,7 @@ window._registerCustomPickerElement = _;
/******/ // This function allow to reference async chunks /******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => { /******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template /******/ // return url for filenames based on template
/******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_vue_dist_vue_runtime_esm_js":"7e3171593bdc0f62040b","vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"7bde6f386631234ba146","vendors-node_modules_nextcloud_cdav-library_dist_dist_js-node_modules_nextcloud_logger_dist_i-36c16b":"c3b3db23da041c717fc1","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"2e0b0e8bc0e8488c397c","vendors-node_modules_vue-material-design-icons_CalendarBlankOutline_vue-node_modules_nextclou-4adead":"273df538e0dc19672feb","vendors-node_modules_autosize_dist_autosize_esm_js-node_modules_html-entities_lib_index_js-no-4072c5":"56373f2063898525e8de","src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790":"94fac30d128df46a89a6","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"740a2859d1f364b508c1","src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254":"c843b5a49512d69e485e","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","src_store_index_js":"8e651e1007c1cc1d62d0","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"728c782d2751f8e6150a","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","public-calendar-subscription-picker":"9168fca99a878d4c37e3","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96":"ce1bed825f57dd1d117a","node_modules_moment_locale_sync_recursive_":"4bc2c39c5e0ff182c2e3"}[chunkId] + ""; /******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_vue_dist_vue_runtime_esm_js":"7e3171593bdc0f62040b","vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"741d92f5ec54d0c1ff41","vendors-node_modules_nextcloud_cdav-library_dist_dist_js-node_modules_nextcloud_logger_dist_i-36c16b":"c3b3db23da041c717fc1","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"0658eb6db50a09dd2afe","vendors-node_modules_vue-material-design-icons_CalendarBlankOutline_vue-node_modules_nextclou-4adead":"01a7eb6779cc0e417f44","vendors-node_modules_autosize_dist_autosize_esm_js-node_modules_html-entities_lib_index_js-no-4072c5":"c3527b981de24f56109b","src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790":"94fac30d128df46a89a6","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"740a2859d1f364b508c1","src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254":"0b6b2228ab6a9dcb591c","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","src_store_index_js":"276ff6be1cb450405b79","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"e0f3178442f3c9eb35e1","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","public-calendar-subscription-picker":"0c8b5b050db3beb63d49","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96":"ce1bed825f57dd1d117a","node_modules_moment_locale_sync_recursive_":"4bc2c39c5e0ff182c2e3"}[chunkId] + "";
/******/ }; /******/ };
/******/ })(); /******/ })();
/******/ /******/
@ -9115,4 +9115,4 @@ __webpack_require__.p = (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_1__.linkTo
/******/ })() /******/ })()
; ;
//# sourceMappingURL=calendar-reference.js.map?v=3d457bacc80e2d3e209d //# sourceMappingURL=calendar-reference.js.map?v=df693546df64c9b5cce0

File diff suppressed because one or more lines are too long

View File

@ -1748,6 +1748,35 @@ const getFileInfo = async function (path, userId) {
}; };
/***/ }),
/***/ "./src/services/roleService.js":
/*!*************************************!*\
!*** ./src/services/roleService.js ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/axios */ "./node_modules/@nextcloud/axios/dist/index.es.mjs");
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.mjs");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
async fetchAndCommitRoles(commit) {
try {
var url = '/apps/gestion/getUserConnectedGroups';
const ajaxUrl = (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_1__.generateUrl)(url);
_nextcloud_axios__WEBPACK_IMPORTED_MODULE_0__["default"].get(ajaxUrl).then(response => {
let roles = JSON.parse(response.data);
commit("setUserRole", roles);
}).catch(error => {});
} catch (error) {}
}
});
/***/ }), /***/ }),
/***/ "./src/services/settings.js": /***/ "./src/services/settings.js":
@ -6872,8 +6901,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ }); /* harmony export */ });
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js"); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js"); /* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony import */ var _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./calendarObjectInstance.js */ "./src/store/calendarObjectInstance.js"); /* harmony import */ var _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./calendarObjectInstance.js */ "./src/store/calendarObjectInstance.js");
/* harmony import */ var _calendarObjects_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./calendarObjects.js */ "./src/store/calendarObjects.js"); /* harmony import */ var _calendarObjects_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./calendarObjects.js */ "./src/store/calendarObjects.js");
/* harmony import */ var _calendars_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./calendars.js */ "./src/store/calendars.js"); /* harmony import */ var _calendars_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./calendars.js */ "./src/store/calendars.js");
@ -6884,6 +6913,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _importState_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./importState.js */ "./src/store/importState.js"); /* harmony import */ var _importState_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./importState.js */ "./src/store/importState.js");
/* harmony import */ var _principals_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./principals.js */ "./src/store/principals.js"); /* harmony import */ var _principals_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./principals.js */ "./src/store/principals.js");
/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./settings.js */ "./src/store/settings.js"); /* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./settings.js */ "./src/store/settings.js");
/* harmony import */ var _userRole_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./userRole.js */ "./src/store/userRole.js");
/** /**
* @copyright Copyright (c) 2019 Georg Ehrke * @copyright Copyright (c) 2019 Georg Ehrke
* *
@ -6921,8 +6951,9 @@ __webpack_require__.r(__webpack_exports__);
vue__WEBPACK_IMPORTED_MODULE_10__["default"].use(vuex__WEBPACK_IMPORTED_MODULE_11__["default"]);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new vuex__WEBPACK_IMPORTED_MODULE_11__["default"].Store({ vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vuex__WEBPACK_IMPORTED_MODULE_12__["default"]);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new vuex__WEBPACK_IMPORTED_MODULE_12__["default"].Store({
modules: { modules: {
calendarObjectInstance: _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__["default"], calendarObjectInstance: _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__["default"],
calendarObjects: _calendarObjects_js__WEBPACK_IMPORTED_MODULE_1__["default"], calendarObjects: _calendarObjects_js__WEBPACK_IMPORTED_MODULE_1__["default"],
@ -6933,7 +6964,8 @@ vue__WEBPACK_IMPORTED_MODULE_10__["default"].use(vuex__WEBPACK_IMPORTED_MODULE_1
importFiles: _importFiles_js__WEBPACK_IMPORTED_MODULE_6__["default"], importFiles: _importFiles_js__WEBPACK_IMPORTED_MODULE_6__["default"],
importState: _importState_js__WEBPACK_IMPORTED_MODULE_7__["default"], importState: _importState_js__WEBPACK_IMPORTED_MODULE_7__["default"],
principals: _principals_js__WEBPACK_IMPORTED_MODULE_8__["default"], principals: _principals_js__WEBPACK_IMPORTED_MODULE_8__["default"],
settings: _settings_js__WEBPACK_IMPORTED_MODULE_9__["default"] settings: _settings_js__WEBPACK_IMPORTED_MODULE_9__["default"],
userRole: _userRole_js__WEBPACK_IMPORTED_MODULE_10__["default"]
} }
// // Throw errors when the state is edited outside of mutations // // Throw errors when the state is edited outside of mutations
// strict: true // strict: true
@ -7729,6 +7761,51 @@ const actions = {
/***/ }), /***/ }),
/***/ "./src/store/userRole.js":
/*!*******************************!*\
!*** ./src/store/userRole.js ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _services_roleService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../services/roleService */ "./src/services/roleService.js");
const state = {
roles: [] // Store the roles here
};
const mutations = {
setUserRole(state, roles) {
state.roles = roles;
}
};
const actions = {
async fetchUserRoles(_ref) {
let {
commit
} = _ref;
try {
// Pass commit to the service
await _services_roleService__WEBPACK_IMPORTED_MODULE_0__["default"].fetchAndCommitRoles(commit);
} catch (error) {}
}
};
const getters = {
isAdmin: state => state.roles.includes("admin"),
canAccessPreviousEvent: state => state.roles.includes("Ligne") == false && state.roles.includes("ligne") == false
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
namespaced: true,
state,
mutations,
actions,
getters
});
/***/ }),
/***/ "./src/utils/alarms.js": /***/ "./src/utils/alarms.js":
/*!*****************************!*\ /*!*****************************!*\
!*** ./src/utils/alarms.js ***! !*** ./src/utils/alarms.js ***!
@ -8113,4 +8190,4 @@ function getLinkToConfig(key) {
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-src_store_index_js.js.map?v=8e651e1007c1cc1d62d0 //# sourceMappingURL=calendar-src_store_index_js.js.map?v=276ff6be1cb450405b79

File diff suppressed because one or more lines are too long

View File

@ -31,6 +31,10 @@ __webpack_require__.r(__webpack_exports__);
isPublic: { isPublic: {
type: Boolean, type: Boolean,
required: true required: true
},
canAccessPreviousEvent: {
type: Boolean,
default: true
} }
} }
}); });
@ -77,6 +81,10 @@ __webpack_require__.r(__webpack_exports__);
isWidget: { isWidget: {
type: Boolean, type: Boolean,
default: false default: false
},
canAccessPreviousEvent: {
type: Boolean,
default: true
} }
}, },
data() { data() {
@ -88,6 +96,9 @@ __webpack_require__.r(__webpack_exports__);
...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapState)({ ...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapState)({
locale: state => state.settings.momentLocale locale: state => state.settings.momentLocale
}), }),
minimumDate() {
return this.canAccessPreviousEvent ? new Date(this.$store.state.davRestrictions.minimumDate) : new Date();
},
selectedDate() { selectedDate() {
var _this$$route$params$f, _this$$route$params; var _this$$route$params$f, _this$$route$params;
if (this.isWidget) { if (this.isWidget) {
@ -330,9 +341,15 @@ __webpack_require__.r(__webpack_exports__);
ViewModule: vue_material_design_icons_ViewModule_vue__WEBPACK_IMPORTED_MODULE_4__["default"], ViewModule: vue_material_design_icons_ViewModule_vue__WEBPACK_IMPORTED_MODULE_4__["default"],
ViewWeek: vue_material_design_icons_ViewWeek_vue__WEBPACK_IMPORTED_MODULE_5__["default"] ViewWeek: vue_material_design_icons_ViewWeek_vue__WEBPACK_IMPORTED_MODULE_5__["default"]
}, },
props: {
canAccessPreviousEvent: {
type: Boolean,
default: true
}
},
computed: { computed: {
views() { views() {
return [{ let menus = [{
id: 'timeGridDay', id: 'timeGridDay',
icon: 'ViewDay', icon: 'ViewDay',
label: this.$t('calendar', 'Day') label: this.$t('calendar', 'Day')
@ -340,19 +357,24 @@ __webpack_require__.r(__webpack_exports__);
id: 'timeGridWeek', id: 'timeGridWeek',
icon: 'ViewWeek', icon: 'ViewWeek',
label: this.$t('calendar', 'Week') label: this.$t('calendar', 'Week')
}, {
id: 'dayGridMonth',
icon: 'ViewModule',
label: this.$t('calendar', 'Month')
}, {
id: 'multiMonthYear',
icon: 'ViewComfy',
label: this.$t('calendar', 'Year')
}, {
id: 'listMonth',
icon: 'ViewList',
label: this.$t('calendar', 'List')
}]; }];
if (this.canAccessPreviousEvent) {
let additionalMenus = [{
id: 'dayGridMonth',
icon: 'ViewModule',
label: this.$t('calendar', 'Month')
}, {
id: 'multiMonthYear',
icon: 'ViewComfy',
label: this.$t('calendar', 'Year')
}, {
id: 'listMonth',
icon: 'ViewList',
label: this.$t('calendar', 'List')
}];
menus = menus.concat(additionalMenus);
}
return menus;
}, },
shortKeyConf() { shortKeyConf() {
return { return {
@ -2391,6 +2413,10 @@ __webpack_require__.r(__webpack_exports__);
isWidget: { isWidget: {
type: Boolean, type: Boolean,
default: false default: false
},
canAccessPreviousEvent: {
type: Boolean,
default: true
} }
}, },
computed: { computed: {
@ -4242,6 +4268,10 @@ __webpack_require__.r(__webpack_exports__);
isAuthenticatedUser: { isAuthenticatedUser: {
type: Boolean, type: Boolean,
required: true required: true
},
isAdmin: {
type: Boolean,
default: true
} }
}, },
data() { data() {
@ -4271,10 +4301,14 @@ __webpack_require__.r(__webpack_exports__);
_this$$route$params$v, _this$$route$params$v,
_this$$route2, _this$$route2,
_this = this; _this = this;
let defaultView = 'dayGridMonth';
if (this.isAdmin === false) {
defaultView = 'timeGridWeek';
}
return { return {
// Initialization: // Initialization:
initialDate: (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_16__.getYYYYMMDDFromFirstdayParam)((_this$$route$params$f = (_this$$route = this.$route) === null || _this$$route === void 0 || (_this$$route = _this$$route.params) === null || _this$$route === void 0 ? void 0 : _this$$route.firstDay) !== null && _this$$route$params$f !== void 0 ? _this$$route$params$f : 'now'), initialDate: (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_16__.getYYYYMMDDFromFirstdayParam)((_this$$route$params$f = (_this$$route = this.$route) === null || _this$$route === void 0 || (_this$$route = _this$$route.params) === null || _this$$route === void 0 ? void 0 : _this$$route.firstDay) !== null && _this$$route$params$f !== void 0 ? _this$$route$params$f : 'now'),
initialView: (_this$$route$params$v = (_this$$route2 = this.$route) === null || _this$$route2 === void 0 ? void 0 : _this$$route2.params.view) !== null && _this$$route$params$v !== void 0 ? _this$$route$params$v : 'dayGridMonth', initialView: (_this$$route$params$v = (_this$$route2 = this.$route) === null || _this$$route2 === void 0 ? void 0 : _this$$route2.params.view) !== null && _this$$route$params$v !== void 0 ? _this$$route$params$v : defaultView,
// Data // Data
eventSources: this.eventSources, eventSources: this.eventSources,
// Plugins // Plugins
@ -7681,20 +7715,18 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _components_CalendarGrid_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/CalendarGrid.vue */ "./src/components/CalendarGrid.vue"); /* harmony import */ var _components_CalendarGrid_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/CalendarGrid.vue */ "./src/components/CalendarGrid.vue");
/* harmony import */ var _components_AppNavigation_EditCalendarModal_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/AppNavigation/EditCalendarModal.vue */ "./src/components/AppNavigation/EditCalendarModal.vue"); /* harmony import */ var _components_AppNavigation_EditCalendarModal_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components/AppNavigation/EditCalendarModal.vue */ "./src/components/AppNavigation/EditCalendarModal.vue");
/* harmony import */ var _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./EditSimple.vue */ "./src/views/EditSimple.vue"); /* harmony import */ var _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./EditSimple.vue */ "./src/views/EditSimple.vue");
/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @nextcloud/axios */ "./node_modules/@nextcloud/axios/dist/index.es.mjs"); /* harmony import */ var _services_caldavService_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../services/caldavService.js */ "./src/services/caldavService.js");
/* harmony import */ var _services_caldavService_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../services/caldavService.js */ "./src/services/caldavService.js"); /* harmony import */ var _utils_color_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/color.js */ "./src/utils/color.js");
/* harmony import */ var _utils_color_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/color.js */ "./src/utils/color.js"); /* harmony import */ var _utils_date_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/date.js */ "./src/utils/date.js");
/* harmony import */ var _utils_date_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/date.js */ "./src/utils/date.js"); /* harmony import */ var _services_timezoneDataProviderService_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../services/timezoneDataProviderService.js */ "./src/services/timezoneDataProviderService.js");
/* harmony import */ var _services_timezoneDataProviderService_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/timezoneDataProviderService.js */ "./src/services/timezoneDataProviderService.js"); /* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/logger.js */ "./src/utils/logger.js");
/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/logger.js */ "./src/utils/logger.js"); /* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js"); /* harmony import */ var _utils_moment_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/moment.js */ "./src/utils/moment.js");
/* harmony import */ var _utils_moment_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/moment.js */ "./src/utils/moment.js"); /* harmony import */ var _nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @nextcloud/initial-state */ "./node_modules/@nextcloud/initial-state/dist/index.es.mjs");
/* harmony import */ var _nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @nextcloud/initial-state */ "./node_modules/@nextcloud/initial-state/dist/index.es.mjs"); /* harmony import */ var _nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.mjs");
/* harmony import */ var _nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.mjs"); /* harmony import */ var _nextcloud_dialogs_dist_index_css__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @nextcloud/dialogs/dist/index.css */ "./node_modules/@nextcloud/dialogs/dist/style.css");
/* harmony import */ var _nextcloud_dialogs_dist_index_css__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @nextcloud/dialogs/dist/index.css */ "./node_modules/@nextcloud/dialogs/dist/style.css"); /* harmony import */ var _components_AppNavigation_CalendarList_Trashbin_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../components/AppNavigation/CalendarList/Trashbin.vue */ "./src/components/AppNavigation/CalendarList/Trashbin.vue");
/* harmony import */ var _components_AppNavigation_CalendarList_Trashbin_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../components/AppNavigation/CalendarList/Trashbin.vue */ "./src/components/AppNavigation/CalendarList/Trashbin.vue"); /* harmony import */ var _components_AppNavigation_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../components/AppNavigation/AppointmentConfigList.vue */ "./src/components/AppNavigation/AppointmentConfigList.vue");
/* harmony import */ var _components_AppNavigation_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../components/AppNavigation/AppointmentConfigList.vue */ "./src/components/AppNavigation/AppointmentConfigList.vue");
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.mjs");
// Import vue components // Import vue components
@ -7707,7 +7739,6 @@ __webpack_require__.r(__webpack_exports__);
// Import CalDAV related methods // Import CalDAV related methods
@ -7723,11 +7754,10 @@ __webpack_require__.r(__webpack_exports__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
name: 'Calendar', name: 'Calendar',
components: { components: {
AppointmentConfigList: _components_AppNavigation_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_21__["default"], AppointmentConfigList: _components_AppNavigation_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_20__["default"],
CalendarGrid: _components_CalendarGrid_vue__WEBPACK_IMPORTED_MODULE_7__["default"], CalendarGrid: _components_CalendarGrid_vue__WEBPACK_IMPORTED_MODULE_7__["default"],
EmptyCalendar: _components_EmptyCalendar_vue__WEBPACK_IMPORTED_MODULE_6__["default"], EmptyCalendar: _components_EmptyCalendar_vue__WEBPACK_IMPORTED_MODULE_6__["default"],
EmbedTopNavigation: _components_AppNavigation_EmbedTopNavigation_vue__WEBPACK_IMPORTED_MODULE_5__["default"], EmbedTopNavigation: _components_AppNavigation_EmbedTopNavigation_vue__WEBPACK_IMPORTED_MODULE_5__["default"],
@ -7739,7 +7769,7 @@ __webpack_require__.r(__webpack_exports__);
AppNavigation: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigation, AppNavigation: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigation,
AppNavigationSpacer: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigationSpacer, AppNavigationSpacer: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigationSpacer,
CalendarListNew: _components_AppNavigation_CalendarList_CalendarListNew_vue__WEBPACK_IMPORTED_MODULE_4__["default"], CalendarListNew: _components_AppNavigation_CalendarList_CalendarListNew_vue__WEBPACK_IMPORTED_MODULE_4__["default"],
Trashbin: _components_AppNavigation_CalendarList_Trashbin_vue__WEBPACK_IMPORTED_MODULE_20__["default"], Trashbin: _components_AppNavigation_CalendarList_Trashbin_vue__WEBPACK_IMPORTED_MODULE_19__["default"],
EditCalendarModal: _components_AppNavigation_EditCalendarModal_vue__WEBPACK_IMPORTED_MODULE_8__["default"], EditCalendarModal: _components_AppNavigation_EditCalendarModal_vue__WEBPACK_IMPORTED_MODULE_8__["default"],
EditSimple: _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__["default"] EditSimple: _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__["default"]
}, },
@ -7761,12 +7791,13 @@ __webpack_require__.r(__webpack_exports__);
}; };
}, },
computed: { computed: {
...(0,vuex__WEBPACK_IMPORTED_MODULE_23__.mapGetters)({ ...(0,vuex__WEBPACK_IMPORTED_MODULE_21__.mapGetters)({
timezoneId: 'getResolvedTimezone', timezoneId: 'getResolvedTimezone',
hasTrashBin: 'hasTrashBin', hasTrashBin: 'hasTrashBin',
currentUserPrincipal: 'getCurrentUserPrincipal' currentUserPrincipal: 'getCurrentUserPrincipal',
canAccessPreviousEvent: 'userRole/canAccessPreviousEvent'
}), }),
...(0,vuex__WEBPACK_IMPORTED_MODULE_23__.mapState)({ ...(0,vuex__WEBPACK_IMPORTED_MODULE_21__.mapState)({
eventLimit: state => state.settings.eventLimit, eventLimit: state => state.settings.eventLimit,
skipPopover: state => state.settings.skipPopover, skipPopover: state => state.settings.skipPopover,
showWeekends: state => state.settings.showWeekends, showWeekends: state => state.settings.showWeekends,
@ -7777,11 +7808,12 @@ __webpack_require__.r(__webpack_exports__);
timezone: state => state.settings.timezone, timezone: state => state.settings.timezone,
modificationCount: state => state.calendarObjects.modificationCount, modificationCount: state => state.calendarObjects.modificationCount,
disableAppointments: state => state.settings.disableAppointments, disableAppointments: state => state.settings.disableAppointments,
attachmentsFolder: state => state.settings.attachmentsFolder attachmentsFolder: state => state.settings.attachmentsFolder,
roles: state => state.userRole.roles
}), }),
defaultDate() { defaultDate() {
var _this$$route$params$f, _this$$route; var _this$$route$params$f, _this$$route;
return (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_13__.getYYYYMMDDFromFirstdayParam)((_this$$route$params$f = (_this$$route = this.$route) === null || _this$$route === void 0 || (_this$$route = _this$$route.params) === null || _this$$route === void 0 ? void 0 : _this$$route.firstDay) !== null && _this$$route$params$f !== void 0 ? _this$$route$params$f : 'now'); return (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_12__.getYYYYMMDDFromFirstdayParam)((_this$$route$params$f = (_this$$route = this.$route) === null || _this$$route === void 0 || (_this$$route = _this$$route.params) === null || _this$$route === void 0 ? void 0 : _this$$route.firstDay) !== null && _this$$route$params$f !== void 0 ? _this$$route$params$f : 'now');
}, },
isEditable() { isEditable() {
var _this$$route2, _this$$route3; var _this$$route2, _this$$route3;
@ -7824,7 +7856,7 @@ __webpack_require__.r(__webpack_exports__);
}, },
created() { created() {
this.timeFrameCacheExpiryJob = setInterval(() => { this.timeFrameCacheExpiryJob = setInterval(() => {
const timestamp = (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_13__.getUnixTimestampFromDate)((0,_utils_date_js__WEBPACK_IMPORTED_MODULE_13__.dateFactory)()) - 60 * 10; const timestamp = (0,_utils_date_js__WEBPACK_IMPORTED_MODULE_12__.getUnixTimestampFromDate)((0,_utils_date_js__WEBPACK_IMPORTED_MODULE_12__.dateFactory)()) - 60 * 10;
const timeRanges = this.$store.getters.getAllTimeRangesOlderThan(timestamp); const timeRanges = this.$store.getters.getAllTimeRangesOlderThan(timestamp);
for (const timeRange of timeRanges) { for (const timeRange of timeRanges) {
this.$store.commit('removeTimeRange', { this.$store.commit('removeTimeRange', {
@ -7842,29 +7874,29 @@ __webpack_require__.r(__webpack_exports__);
async beforeMount() { async beforeMount() {
var _this$$route4, _this$$route5; var _this$$route4, _this$$route5;
this.$store.commit('loadSettingsFromServer', { this.$store.commit('loadSettingsFromServer', {
appVersion: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'app_version'), appVersion: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'app_version'),
eventLimit: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'event_limit'), eventLimit: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'event_limit'),
firstRun: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'first_run'), firstRun: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'first_run'),
showWeekends: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_weekends'), showWeekends: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_weekends'),
showWeekNumbers: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_week_numbers'), showWeekNumbers: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_week_numbers'),
skipPopover: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'skip_popover'), skipPopover: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'skip_popover'),
slotDuration: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'slot_duration'), slotDuration: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'slot_duration'),
defaultReminder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'default_reminder'), defaultReminder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'default_reminder'),
talkEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'talk_enabled'), talkEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'talk_enabled'),
tasksEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'tasks_enabled'), tasksEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'tasks_enabled'),
timezone: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'timezone'), timezone: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'timezone'),
showTasks: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_tasks'), showTasks: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_tasks'),
hideEventExport: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'hide_event_export'), hideEventExport: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'hide_event_export'),
forceEventAlarmType: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'force_event_alarm_type', false), forceEventAlarmType: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'force_event_alarm_type', false),
disableAppointments: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'disable_appointments', false), disableAppointments: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'disable_appointments', false),
canSubscribeLink: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'can_subscribe_link', false), canSubscribeLink: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'can_subscribe_link', false),
attachmentsFolder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'attachments_folder', false), attachmentsFolder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'attachments_folder', false),
showResources: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_resources', true), showResources: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_resources', true),
publicCalendars: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'publicCalendars', []) publicCalendars: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'publicCalendars', [])
}); });
this.$store.dispatch('initializeCalendarJsConfig'); this.$store.dispatch('initializeCalendarJsConfig');
if ((_this$$route4 = this.$route) !== null && _this$$route4 !== void 0 && _this$$route4.name.startsWith('Public') || (_this$$route5 = this.$route) !== null && _this$$route5 !== void 0 && _this$$route5.name.startsWith('Embed') || this.isWidget) { if ((_this$$route4 = this.$route) !== null && _this$$route4 !== void 0 && _this$$route4.name.startsWith('Public') || (_this$$route5 = this.$route) !== null && _this$$route5 !== void 0 && _this$$route5.name.startsWith('Embed') || this.isWidget) {
await (0,_services_caldavService_js__WEBPACK_IMPORTED_MODULE_11__.initializeClientForPublicView)(); await (0,_services_caldavService_js__WEBPACK_IMPORTED_MODULE_10__.initializeClientForPublicView)();
const tokens = this.isWidget ? [this.referenceToken] : this.$route.params.tokens.split('-'); const tokens = this.isWidget ? [this.referenceToken] : this.$route.params.tokens.split('-');
const calendars = await this.$store.dispatch('getPublicCalendars', { const calendars = await this.$store.dispatch('getPublicCalendars', {
tokens tokens
@ -7874,13 +7906,13 @@ __webpack_require__.r(__webpack_exports__);
this.showEmptyCalendarScreen = true; this.showEmptyCalendarScreen = true;
} }
} else { } else {
await (0,_services_caldavService_js__WEBPACK_IMPORTED_MODULE_11__.initializeClientForUserView)(); await (0,_services_caldavService_js__WEBPACK_IMPORTED_MODULE_10__.initializeClientForUserView)();
await this.$store.dispatch('fetchCurrentUserPrincipal'); await this.$store.dispatch('fetchCurrentUserPrincipal');
const { const {
calendars, calendars,
trashBin trashBin
} = await this.$store.dispatch('loadCollections'); } = await this.$store.dispatch('loadCollections');
_utils_logger_js__WEBPACK_IMPORTED_MODULE_15__["default"].debug('calendars and trash bin loaded', { _utils_logger_js__WEBPACK_IMPORTED_MODULE_14__["default"].debug('calendars and trash bin loaded', {
calendars, calendars,
trashBin trashBin
}); });
@ -7901,37 +7933,37 @@ __webpack_require__.r(__webpack_exports__);
// No writeable calendars? Create a new one! // No writeable calendars? Create a new one!
if (writeableCalendarIndex === -1) { if (writeableCalendarIndex === -1) {
_utils_logger_js__WEBPACK_IMPORTED_MODULE_15__["default"].info('User has no writable calendar, a new personal calendar will be created'); _utils_logger_js__WEBPACK_IMPORTED_MODULE_14__["default"].info('User has no writable calendar, a new personal calendar will be created');
this.loadingCalendars = true; this.loadingCalendars = true;
await this.$store.dispatch('appendCalendar', { await this.$store.dispatch('appendCalendar', {
displayName: this.$t('calendar', 'Personal'), displayName: this.$t('calendar', 'Personal'),
color: (0,_utils_color_js__WEBPACK_IMPORTED_MODULE_12__.uidToHexColor)(this.$t('calendar', 'Personal')), color: (0,_utils_color_js__WEBPACK_IMPORTED_MODULE_11__.uidToHexColor)(this.$t('calendar', 'Personal')),
order: 0 order: 0
}); });
} }
this.loadingCalendars = false; this.loadingCalendars = false;
await this.fetchUserTypesAndUpdateCalendars(calendars);
} }
}, },
async mounted() { async mounted() {
if (this.timezone === 'automatic' && this.timezoneId === 'UTC') { if (this.timezone === 'automatic' && this.timezoneId === 'UTC') {
const { const {
toastElement toastElement
} = (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_18__.showWarning)(this.$t('calendar', 'The automatic time zone detection determined your time zone to be UTC.\nThis is most likely the result of security measures of your web browser.\nPlease set your time zone manually in the calendar settings.'), { } = (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_17__.showWarning)(this.$t('calendar', 'The automatic time zone detection determined your time zone to be UTC.\nThis is most likely the result of security measures of your web browser.\nPlease set your time zone manually in the calendar settings.'), {
timeout: 60000 timeout: 60000
}); });
toastElement.classList.add('toast-calendar-multiline'); toastElement.classList.add('toast-calendar-multiline');
} }
if ((0,_services_timezoneDataProviderService_js__WEBPACK_IMPORTED_MODULE_14__["default"])().getTimezoneForId(this.timezoneId) === null) { if ((0,_services_timezoneDataProviderService_js__WEBPACK_IMPORTED_MODULE_13__["default"])().getTimezoneForId(this.timezoneId) === null) {
const { const {
toastElement toastElement
} = (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_18__.showWarning)(this.$t('calendar', 'Your configured time zone ({timezoneId}) was not found. Falling back to UTC.\nPlease change your time zone in the settings and report this issue.', { } = (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_17__.showWarning)(this.$t('calendar', 'Your configured time zone ({timezoneId}) was not found. Falling back to UTC.\nPlease change your time zone in the settings and report this issue.', {
timezoneId: this.timezoneId timezoneId: this.timezoneId
}), { }), {
timeout: 60000 timeout: 60000
}); });
toastElement.classList.add('toast-calendar-multiline'); toastElement.classList.add('toast-calendar-multiline');
} }
await this.$store.dispatch("userRole/fetchUserRoles");
await this.loadMomentLocale(); await this.loadMomentLocale();
}, },
methods: { methods: {
@ -7941,7 +7973,7 @@ __webpack_require__.r(__webpack_exports__);
* @return {Promise<void>} * @return {Promise<void>}
*/ */
async loadMomentLocale() { async loadMomentLocale() {
const locale = await (0,_utils_moment_js__WEBPACK_IMPORTED_MODULE_16__["default"])(); const locale = await (0,_utils_moment_js__WEBPACK_IMPORTED_MODULE_15__["default"])();
this.$store.commit('setMomentLocale', { this.$store.commit('setMomentLocale', {
locale locale
}); });
@ -7958,8 +7990,8 @@ __webpack_require__.r(__webpack_exports__);
}, },
async fetchUserTypeForCalendar(userPrincipalId) { async fetchUserTypeForCalendar(userPrincipalId) {
let url = '/apps/gestion/getUserTypeByUserUuid/' + userPrincipalId; let url = '/apps/gestion/getUserTypeByUserUuid/' + userPrincipalId;
const ajaxUrl = (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_22__.generateUrl)(url); const ajaxUrl = generateUrl(url);
const response = await _nextcloud_axios__WEBPACK_IMPORTED_MODULE_10__["default"].get(ajaxUrl); const response = await axios.get(ajaxUrl);
let responseValue = JSON.parse(response.data); let responseValue = JSON.parse(response.data);
return responseValue.thanatoTypeLabel; return responseValue.thanatoTypeLabel;
} }
@ -8268,9 +8300,17 @@ var render = function render() {
_c = _vm._self._c; _c = _vm._self._c;
return _c("header", { return _c("header", {
staticClass: "app-navigation-header" staticClass: "app-navigation-header"
}, [_c("AppNavigationHeaderDatePicker"), _vm._v(" "), _c("div", { }, [_c("AppNavigationHeaderDatePicker", {
attrs: {
"can-access-previous-event": _vm.canAccessPreviousEvent
}
}), _vm._v(" "), _c("div", {
staticClass: "new-event-today-view-section" staticClass: "new-event-today-view-section"
}, [!_vm.isPublic ? _c("AppNavigationHeaderNewEvent") : _vm._e(), _vm._v(" "), _c("AppNavigationHeaderTodayButton"), _vm._v(" "), _c("AppNavigationHeaderViewMenu")], 1)], 1); }, [!_vm.isPublic ? _c("AppNavigationHeaderNewEvent") : _vm._e(), _vm._v(" "), _c("AppNavigationHeaderTodayButton"), _vm._v(" "), _c("AppNavigationHeaderViewMenu", {
attrs: {
"can-access-previous-event": _vm.canAccessPreviousEvent
}
})], 1)], 1);
}; };
var staticRenderFns = []; var staticRenderFns = [];
render._withStripped = true; render._withStripped = true;
@ -8295,7 +8335,7 @@ var render = function render() {
_c = _vm._self._c; _c = _vm._self._c;
return _c("div", { return _c("div", {
staticClass: "datepicker-button-section" staticClass: "datepicker-button-section"
}, [!_vm.isWidget ? _c("NcButton", { }, [!_vm.isWidget && _vm.canAccessPreviousEvent ? _c("NcButton", {
directives: [{ directives: [{
name: "shortkey", name: "shortkey",
rawName: "v-shortkey", rawName: "v-shortkey",
@ -8349,7 +8389,8 @@ var render = function render() {
date: _vm.selectedDate, date: _vm.selectedDate,
"is-all-day": true, "is-all-day": true,
open: _vm.isDatepickerOpen, open: _vm.isDatepickerOpen,
type: _vm.view === "multiMonthYear" ? "year" : "date" type: _vm.view === "multiMonthYear" ? "year" : "date",
min: _vm.minimumDate
}, },
on: { on: {
"update:open": function ($event) { "update:open": function ($event) {
@ -10363,7 +10404,8 @@ var render = function render() {
class: _vm.isWidget ? "widget-header__date-section" : "embed-header__date-section" class: _vm.isWidget ? "widget-header__date-section" : "embed-header__date-section"
}, [_c("AppNavigationHeaderDatePicker", { }, [_c("AppNavigationHeaderDatePicker", {
attrs: { attrs: {
"is-widget": _vm.isWidget "is-widget": _vm.isWidget,
"can-access-previous-event": _vm.canAccessPreviousEvent
} }
}), _vm._v(" "), !_vm.isWidget ? _c("AppNavigationHeaderTodayButton") : _vm._e()], 1), _vm._v(" "), _c("div", { }), _vm._v(" "), !_vm.isWidget ? _c("AppNavigationHeaderTodayButton") : _vm._e()], 1), _vm._v(" "), _c("div", {
class: _vm.isWidget ? "widget-header__views-section" : "embed-header__views-section" class: _vm.isWidget ? "widget-header__views-section" : "embed-header__views-section"
@ -14002,12 +14044,14 @@ var render = function render() {
staticClass: "calendar-Widget calendar-Widget-Custom" staticClass: "calendar-Widget calendar-Widget-Custom"
}, [!_vm.showEmptyCalendarScreen ? _c("EmbedTopNavigation", { }, [!_vm.showEmptyCalendarScreen ? _c("EmbedTopNavigation", {
attrs: { attrs: {
"is-widget": true "is-widget": true,
"can-access-previous-event": _vm.canAccessPreviousEvent
} }
}) : _vm._e(), _vm._v(" "), !_vm.showEmptyCalendarScreen ? _c("CalendarGrid", { }) : _vm._e(), _vm._v(" "), !_vm.showEmptyCalendarScreen ? _c("CalendarGrid", {
ref: "calendarGridWidget", ref: "calendarGridWidget",
attrs: { attrs: {
"is-widget": _vm.isWidget, "is-widget": _vm.isWidget,
"can-access-previous-event": _vm.canAccessPreviousEvent,
"is-authenticated-user": _vm.isAuthenticatedUser "is-authenticated-user": _vm.isAuthenticatedUser
} }
}) : _c("EmptyCalendar"), _vm._v(" "), _vm.showWidgetEventDetails ? _c("EditSimple", { }) : _c("EmptyCalendar"), _vm._v(" "), _vm.showWidgetEventDetails ? _c("EditSimple", {
@ -14059,10 +14103,16 @@ var render = function render() {
}], null, false, 2841196060) }], null, false, 2841196060)
}, [_c("AppNavigationHeader", { }, [_c("AppNavigationHeader", {
attrs: { attrs: {
"is-public": !_vm.isAuthenticatedUser "is-public": !_vm.isAuthenticatedUser,
"can-access-previous-event": _vm.canAccessPreviousEvent
} }
})], 1) : _vm._e(), _vm._v(" "), _vm.isEmbedded ? _c("EmbedTopNavigation") : _vm._e(), _vm._v(" "), _c("AppContent", [!_vm.showEmptyCalendarScreen ? _c("CalendarGrid", { })], 1) : _vm._e(), _vm._v(" "), _vm.isEmbedded ? _c("EmbedTopNavigation", {
attrs: { attrs: {
"is-admin": false
}
}) : _vm._e(), _vm._v(" "), _c("AppContent", [!_vm.showEmptyCalendarScreen ? _c("CalendarGrid", {
attrs: {
"can-access-previous-event": _vm.canAccessPreviousEvent,
"is-authenticated-user": _vm.isAuthenticatedUser "is-authenticated-user": _vm.isAuthenticatedUser
} }
}) : _c("EmptyCalendar")], 1), _vm._v(" "), _c("router-view")], 1); }) : _c("EmptyCalendar")], 1), _vm._v(" "), _c("router-view")], 1);
@ -27343,4 +27393,4 @@ module.exports = "data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/sv
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254.js.map?v=c843b5a49512d69e485e //# sourceMappingURL=calendar-src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254.js.map?v=0b6b2228ab6a9dcb591c

View File

@ -42554,4 +42554,4 @@ function hasInjectionContext() {
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-vendors-node_modules_autosize_dist_autosize_esm_js-node_modules_html-entities_lib_index_js-no-4072c5.js.map?v=56373f2063898525e8de //# sourceMappingURL=calendar-vendors-node_modules_autosize_dist_autosize_esm_js-node_modules_html-entities_lib_index_js-no-4072c5.js.map?v=c3527b981de24f56109b

View File

@ -21864,4 +21864,4 @@ const webNamespaces = {
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981.js.map?v=7bde6f386631234ba146 //# sourceMappingURL=calendar-vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981.js.map?v=741d92f5ec54d0c1ff41

View File

@ -27285,4 +27285,4 @@ window._registerCustomPickerElement = _;
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d.js.map?v=86eaa619747854c0da61 //# sourceMappingURL=calendar-vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d.js.map?v=c2bd3081c493a88308a2

View File

@ -80146,4 +80146,4 @@ module.exports = /*#__PURE__*/JSON.parse('{"compressed":true,"categories":[{"id"
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f.js.map?v=728c782d2751f8e6150a //# sourceMappingURL=calendar-vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f.js.map?v=e0f3178442f3c9eb35e1

View File

@ -102420,4 +102420,4 @@ module.exports = /*#__PURE__*/JSON.parse('{"compressed":true,"categories":[{"id"
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-vendors-node_modules_vue-material-design-icons_CalendarBlankOutline_vue-node_modules_nextclou-4adead.js.map?v=273df538e0dc19672feb //# sourceMappingURL=calendar-vendors-node_modules_vue-material-design-icons_CalendarBlankOutline_vue-node_modules_nextclou-4adead.js.map?v=01a7eb6779cc0e417f44

View File

@ -2030,4 +2030,4 @@ render._withStripped = true
/***/ }) /***/ })
}]); }]);
//# sourceMappingURL=calendar-vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8.js.map?v=2e0b0e8bc0e8488c397c //# sourceMappingURL=calendar-vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8.js.map?v=0658eb6db50a09dd2afe

View File

@ -19,13 +19,13 @@
- -
--> -->
<template> <template>
<header class="app-navigation-header"> <header class="app-navigation-header">
<AppNavigationHeaderDatePicker /> <AppNavigationHeaderDatePicker :can-access-previous-event="canAccessPreviousEvent" />
<div class="new-event-today-view-section"> <div class="new-event-today-view-section">
<AppNavigationHeaderNewEvent v-if="!isPublic" /> <AppNavigationHeaderNewEvent v-if="!isPublic" />
<AppNavigationHeaderTodayButton /> <AppNavigationHeaderTodayButton />
<AppNavigationHeaderViewMenu /> <AppNavigationHeaderViewMenu :can-access-previous-event="canAccessPreviousEvent" />
</div> </div>
</header> </header>
</template> </template>
@ -49,6 +49,10 @@ export default {
type: Boolean, type: Boolean,
required: true, required: true,
}, },
canAccessPreviousEvent: {
type: Boolean,
default: true,
}
}, },
} }
</script> </script>

View File

@ -20,9 +20,9 @@
- -
--> -->
<template> <template>
<div class="datepicker-button-section"> <div class="datepicker-button-section">
<NcButton v-if="!isWidget" <NcButton v-if="!isWidget && canAccessPreviousEvent"
v-shortkey="previousShortKeyConf" v-shortkey="previousShortKeyConf"
:aria-label="previousLabel" :aria-label="previousLabel"
class="datepicker-button-section__previous button" class="datepicker-button-section__previous button"
@ -47,6 +47,7 @@
:is-all-day="true" :is-all-day="true"
:open.sync="isDatepickerOpen" :open.sync="isDatepickerOpen"
:type="view === 'multiMonthYear' ? 'year' : 'date'" :type="view === 'multiMonthYear' ? 'year' : 'date'"
:min="minimumDate"
@change="navigateToDate" /> @change="navigateToDate" />
<NcButton v-if="!isWidget" <NcButton v-if="!isWidget"
v-shortkey="nextShortKeyConf" v-shortkey="nextShortKeyConf"
@ -91,6 +92,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
canAccessPreviousEvent: {
type: Boolean,
default: true,
},
}, },
data() { data() {
return { return {
@ -101,6 +106,9 @@ export default {
...mapState({ ...mapState({
locale: (state) => state.settings.momentLocale, locale: (state) => state.settings.momentLocale,
}), }),
minimumDate(){
return this.canAccessPreviousEvent ? new Date(this.$store.state.davRestrictions.minimumDate) : new Date()
},
selectedDate() { selectedDate() {
if (this.isWidget) { if (this.isWidget) {
return getDateFromFirstdayParam(this.$store.getters.widgetDate) return getDateFromFirstdayParam(this.$store.getters.widgetDate)

View File

@ -19,7 +19,7 @@
- -
--> -->
<template> <template>
<Actions v-shortkey="shortKeyConf" <Actions v-shortkey="shortKeyConf"
menu-align="right" menu-align="right"
@shortkey.native="selectViewFromShortcut"> @shortkey.native="selectViewFromShortcut">
@ -63,29 +63,43 @@ export default {
ViewModule, ViewModule,
ViewWeek, ViewWeek,
}, },
props: {
canAccessPreviousEvent: {
type: Boolean,
default: true,
}
},
computed: { computed: {
views() { views() {
return [{ let menus = [
id: 'timeGridDay', {
icon: 'ViewDay', id: 'timeGridDay',
label: this.$t('calendar', 'Day'), icon: 'ViewDay',
}, { label: this.$t('calendar', 'Day'),
id: 'timeGridWeek', }, {
icon: 'ViewWeek', id: 'timeGridWeek',
label: this.$t('calendar', 'Week'), icon: 'ViewWeek',
}, { label: this.$t('calendar', 'Week'),
id: 'dayGridMonth', }
icon: 'ViewModule', ];
label: this.$t('calendar', 'Month'), if(this.canAccessPreviousEvent){
}, { let additionalMenus =
id: 'multiMonthYear', [{
icon: 'ViewComfy', id: 'dayGridMonth',
label: this.$t('calendar', 'Year'), icon: 'ViewModule',
}, { label: this.$t('calendar', 'Month'),
id: 'listMonth', }, {
icon: 'ViewList', id: 'multiMonthYear',
label: this.$t('calendar', 'List'), icon: 'ViewComfy',
}] label: this.$t('calendar', 'Year'),
}, {
id: 'listMonth',
icon: 'ViewList',
label: this.$t('calendar', 'List'),
}];
menus = menus.concat(additionalMenus)
}
return menus;
}, },
shortKeyConf() { shortKeyConf() {
return { return {

View File

@ -1,7 +1,7 @@
<template> <template>
<header :id="isWidget? 'widget-header' :'embed-header'" role="banner"> <header :id="isWidget? 'widget-header' :'embed-header'" role="banner">
<div :class="isWidget?'widget-header__date-section' :'embed-header__date-section'"> <div :class="isWidget?'widget-header__date-section' :'embed-header__date-section'">
<AppNavigationHeaderDatePicker :is-widget="isWidget" /> <AppNavigationHeaderDatePicker :is-widget="isWidget" :can-access-previous-event="canAccessPreviousEvent" />
<AppNavigationHeaderTodayButton v-if="!isWidget" /> <AppNavigationHeaderTodayButton v-if="!isWidget" />
</div> </div>
<div :class="isWidget?'widget-header__views-section' :'embed-header__views-section'"> <div :class="isWidget?'widget-header__views-section' :'embed-header__views-section'">
@ -79,6 +79,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
canAccessPreviousEvent: {
type: Boolean,
default: true,
},
}, },
computed: { computed: {
...mapGetters({ ...mapGetters({

View File

@ -84,6 +84,10 @@ export default {
type: Boolean, type: Boolean,
required: true, required: true,
}, },
isAdmin: {
type: Boolean,
default: true,
},
}, },
data() { data() {
return { return {
@ -107,10 +111,14 @@ export default {
modificationCount: state => state.calendarObjects.modificationCount, modificationCount: state => state.calendarObjects.modificationCount,
}), }),
options() { options() {
let defaultView = 'dayGridMonth';
if(this.isAdmin === false){
defaultView = 'timeGridWeek'
}
return { return {
// Initialization: // Initialization:
initialDate: getYYYYMMDDFromFirstdayParam(this.$route?.params?.firstDay ?? 'now'), initialDate: getYYYYMMDDFromFirstdayParam(this.$route?.params?.firstDay ?? 'now'),
initialView: this.$route?.params.view ?? 'dayGridMonth', initialView: this.$route?.params.view ?? defaultView,
// Data // Data
eventSources: this.eventSources, eventSources: this.eventSources,
// Plugins // Plugins

View File

@ -0,0 +1,19 @@
import axios from "@nextcloud/axios";
import {generateUrl} from "@nextcloud/router";
export default {
async fetchAndCommitRoles(commit) {
try {
var url = '/apps/gestion/getUserConnectedGroups';
const ajaxUrl = generateUrl(url)
axios.get(ajaxUrl)
.then((response) => {
let roles = JSON.parse(response.data)
commit("setUserRole", roles);
})
.catch(error => {
});
} catch (error) {
}
},
};

View File

@ -36,7 +36,7 @@ import importFiles from './importFiles.js'
import importState from './importState.js' import importState from './importState.js'
import principals from './principals.js' import principals from './principals.js'
import settings from './settings.js' import settings from './settings.js'
import userRole from './userRole.js'
Vue.use(Vuex) Vue.use(Vuex)
export default new Vuex.Store({ export default new Vuex.Store({
@ -51,6 +51,7 @@ export default new Vuex.Store({
importState, importState,
principals, principals,
settings, settings,
userRole
}, },
// // Throw errors when the state is edited outside of mutations // // Throw errors when the state is edited outside of mutations
// strict: true // strict: true

View File

@ -0,0 +1,34 @@
import roleService from "../services/roleService";
const state = {
roles: [], // Store the roles here
};
const mutations = {
setUserRole(state, roles) {
state.roles = roles;
},
};
const actions = {
async fetchUserRoles({ commit }) {
try {
// Pass commit to the service
await roleService.fetchAndCommitRoles(commit);
} catch (error) {
}
},
};
const getters = {
isAdmin: (state) => state.roles.includes("admin"),
canAccessPreviousEvent: (state) => (state.roles.includes("Ligne") == false) && (state.roles.includes("ligne") == false),
};
export default {
namespaced: true,
state,
mutations,
actions,
getters,
};

View File

@ -20,13 +20,14 @@
- -
--> -->
<template> <template>
<div v-if="isWidget" class="calendar-Widget calendar-Widget-Custom"> <div v-if="isWidget" class="calendar-Widget calendar-Widget-Custom">
<EmbedTopNavigation v-if="!showEmptyCalendarScreen" :is-widget="true" /> <EmbedTopNavigation v-if="!showEmptyCalendarScreen" :is-widget="true" :can-access-previous-event="canAccessPreviousEvent"/>
<CalendarGrid v-if="!showEmptyCalendarScreen" <CalendarGrid v-if="!showEmptyCalendarScreen"
ref="calendarGridWidget" ref="calendarGridWidget"
:is-widget="isWidget" :is-widget="isWidget"
:can-access-previous-event="canAccessPreviousEvent"
:is-authenticated-user="isAuthenticatedUser" /> :is-authenticated-user="isAuthenticatedUser" />
<EmptyCalendar v-else /> <EmptyCalendar v-else />
@ -38,7 +39,7 @@
<NcContent v-else app-name="calendar calendar-custom" :class="classNames"> <NcContent v-else app-name="calendar calendar-custom" :class="classNames">
<AppNavigation v-if="!isWidget &&!isEmbedded && !showEmptyCalendarScreen"> <AppNavigation v-if="!isWidget &&!isEmbedded && !showEmptyCalendarScreen">
<!-- Date Picker, View Buttons, Today Button --> <!-- Date Picker, View Buttons, Today Button -->
<AppNavigationHeader :is-public="!isAuthenticatedUser" /> <AppNavigationHeader :is-public="!isAuthenticatedUser" :can-access-previous-event="canAccessPreviousEvent" />
<template #list> <template #list>
<AppNavigationSpacer /> <AppNavigationSpacer />
@ -64,9 +65,10 @@
:loading-calendars="loadingCalendars" /> :loading-calendars="loadingCalendars" />
</template> </template>
</AppNavigation> </AppNavigation>
<EmbedTopNavigation v-if="isEmbedded" /> <EmbedTopNavigation v-if="isEmbedded" :is-admin="false" />
<AppContent> <AppContent>
<CalendarGrid v-if="!showEmptyCalendarScreen" <CalendarGrid v-if="!showEmptyCalendarScreen"
:can-access-previous-event="canAccessPreviousEvent"
:is-authenticated-user="isAuthenticatedUser" /> :is-authenticated-user="isAuthenticatedUser" />
<EmptyCalendar v-else /> <EmptyCalendar v-else />
</AppContent> </AppContent>
@ -92,7 +94,6 @@ import EmptyCalendar from '../components/EmptyCalendar.vue'
import CalendarGrid from '../components/CalendarGrid.vue' import CalendarGrid from '../components/CalendarGrid.vue'
import EditCalendarModal from '../components/AppNavigation/EditCalendarModal.vue' import EditCalendarModal from '../components/AppNavigation/EditCalendarModal.vue'
import EditSimple from './EditSimple.vue' import EditSimple from './EditSimple.vue'
import axios from "@nextcloud/axios";
// Import CalDAV related methods // Import CalDAV related methods
import { import {
@ -122,7 +123,6 @@ import {
import '@nextcloud/dialogs/dist/index.css' import '@nextcloud/dialogs/dist/index.css'
import Trashbin from '../components/AppNavigation/CalendarList/Trashbin.vue' import Trashbin from '../components/AppNavigation/CalendarList/Trashbin.vue'
import AppointmentConfigList from '../components/AppNavigation/AppointmentConfigList.vue' import AppointmentConfigList from '../components/AppNavigation/AppointmentConfigList.vue'
import { generateUrl } from '@nextcloud/router'
export default { export default {
name: 'Calendar', name: 'Calendar',
@ -165,8 +165,8 @@ export default {
timezoneId: 'getResolvedTimezone', timezoneId: 'getResolvedTimezone',
hasTrashBin: 'hasTrashBin', hasTrashBin: 'hasTrashBin',
currentUserPrincipal: 'getCurrentUserPrincipal', currentUserPrincipal: 'getCurrentUserPrincipal',
}, canAccessPreviousEvent: 'userRole/canAccessPreviousEvent'
), }),
...mapState({ ...mapState({
eventLimit: state => state.settings.eventLimit, eventLimit: state => state.settings.eventLimit,
skipPopover: state => state.settings.skipPopover, skipPopover: state => state.settings.skipPopover,
@ -179,6 +179,7 @@ export default {
modificationCount: state => state.calendarObjects.modificationCount, modificationCount: state => state.calendarObjects.modificationCount,
disableAppointments: state => state.settings.disableAppointments, disableAppointments: state => state.settings.disableAppointments,
attachmentsFolder: state => state.settings.attachmentsFolder, attachmentsFolder: state => state.settings.attachmentsFolder,
roles: state => state.userRole.roles
}), }),
defaultDate() { defaultDate() {
return getYYYYMMDDFromFirstdayParam(this.$route?.params?.firstDay ?? 'now') return getYYYYMMDDFromFirstdayParam(this.$route?.params?.firstDay ?? 'now')
@ -310,7 +311,6 @@ export default {
} }
this.loadingCalendars = false this.loadingCalendars = false
await this.fetchUserTypesAndUpdateCalendars(calendars);
} }
}, },
async mounted() { async mounted() {
@ -326,7 +326,7 @@ export default {
toastElement.classList.add('toast-calendar-multiline') toastElement.classList.add('toast-calendar-multiline')
} }
await this.$store.dispatch("userRole/fetchUserRoles");
await this.loadMomentLocale() await this.loadMomentLocale()
}, },
methods: { methods: {

View File

@ -200,5 +200,8 @@ return [
['name' => 'vehicle#createDefaultVehicle','url' => '/vehicle/createDefaultVehicle', 'verb' => 'POST'], ['name' => 'vehicle#createDefaultVehicle','url' => '/vehicle/createDefaultVehicle', 'verb' => 'POST'],
//thanatoType //thanatoType
['name' => 'page#getUserTypeByUserUuid', 'url' => '/getUserTypeByUserUuid/{userUuid}', 'verb' => 'GET'], ['name' => 'page#getUserTypeByUserUuid', 'url' => '/getUserTypeByUserUuid/{userUuid}', 'verb' => 'GET'],
//user groups getUserConnectedGroups
['name' => 'page#getUserConnectedGroups', 'url' => '/getUserConnectedGroups', 'verb' => 'GET'],
] ]
]; ];

View File

@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace OCA\Gestion\Constants;
abstract class UserGroupConstant
{
const THANATOS_GROUP_NAME = "Thanatos";
const LIGNE_GROUP_NAME = "Ligne";
const ADMIN_GROUP_NAME = "admin";
}

View File

@ -22,6 +22,7 @@ use \Datetime;
use \DatetimeImmutable; use \DatetimeImmutable;
use \IntlDateFormatter; use \IntlDateFormatter;
use \FPDF; use \FPDF;
use OCA\Gestion\Constants\UserGroupConstant;
use OCA\Gestion\Service\Certificate\CertificateService; use OCA\Gestion\Service\Certificate\CertificateService;
use OCA\Gestion\Service\Devis\Pdf\DevisPdfService; use OCA\Gestion\Service\Devis\Pdf\DevisPdfService;
use OCA\Gestion\Service\ExportClientStatisticService; use OCA\Gestion\Service\ExportClientStatisticService;
@ -2028,7 +2029,10 @@ class PageController extends Controller {
* @NoCSRFRequired * @NoCSRFRequired
*/ */
public function getDefunts() { public function getDefunts() {
return $this->myDb->getDefunts($this->idNextcloud); $isThanato = in_array(UserGroupConstant::THANATOS_GROUP_NAME,$this->groups);
$isAdmin = in_array(UserGroupConstant::ADMIN_GROUP_NAME,$this->groups);
$isUserThanatoOnly = $isThanato && !$isAdmin;
return $this->myDb->getDefunts($this->idNextcloud,$isUserThanatoOnly);
} }
/** /**
@ -2917,4 +2921,17 @@ class PageController extends Controller {
]); ]);
} }
} }
/**
* @NoAdminRequired
* @NoCSRFRequired
* @param int $defuntId
*/
public function getUserConnectedGroups(){
try{
return json_encode($this->groups);
}
catch(\OCP\Files\NotFoundException $e) { }
}
} }

View File

@ -510,7 +510,33 @@ class Bdd {
return $this->execSQL($sql, array()); return $this->execSQL($sql, array());
} }
public function getDefunts($idNextcloud) { private function getDevisMadeByAThanato($thanatoId){
$sql = "SELECT
devis.id,
devis.id_thanato,
devis.id_defunt
FROM ".$this->tableprefix."devis as devis
WHERE devis.id_thanato = ? ;";
$devisList = $this->execSQLNoJsonReturn($sql, array($thanatoId));
return $devisList;
}
private function getDefuntIdsFromDevisList($devisList){
$defuntIds = [];
foreach($devisList as $devis){
$defuntIds[] = $devis["id_defunt"];
}
return $defuntIds;
}
private function getDefuntIdsRelatedToThanato($thanatoId){
$devis = $this->getDevisMadeByAThanato($thanatoId);
$defuntIds = $this->getDefuntIdsFromDevisList($devis);
return $defuntIds;
}
public function getDefunts($idNextcloud,$isUserThanatoOnly = false) {
$sql = "SELECT ".$this->tableprefix."defunt.id, ".$this->tableprefix."defunt.nom, ".$this->tableprefix."defunt.date_naissance, ".$this->tableprefix."defunt.ref_pacemaker, ".$this->tableprefix."defunt.sexe, " $sql = "SELECT ".$this->tableprefix."defunt.id, ".$this->tableprefix."defunt.nom, ".$this->tableprefix."defunt.date_naissance, ".$this->tableprefix."defunt.ref_pacemaker, ".$this->tableprefix."defunt.sexe, "
.$this->tableprefix."client.nom as nom_client, ".$this->tableprefix."client.id as id_client, ".$this->tableprefix."devis.user_id as user_id, " .$this->tableprefix."client.nom as nom_client, ".$this->tableprefix."client.id as id_client, ".$this->tableprefix."devis.user_id as user_id, "
.$this->tableprefix."devis.num as numero_devis, ".$this->tableprefix."devis.id as id_devis, " .$this->tableprefix."devis.num as numero_devis, ".$this->tableprefix."devis.id as id_devis, "
@ -518,9 +544,26 @@ class Bdd {
FROM ".$this->tableprefix."defunt FROM ".$this->tableprefix."defunt
LEFT JOIN ".$this->tableprefix."devis ON ".$this->tableprefix."devis.id_defunt = ".$this->tableprefix."defunt.id LEFT JOIN ".$this->tableprefix."devis ON ".$this->tableprefix."devis.id_defunt = ".$this->tableprefix."defunt.id
LEFT JOIN ".$this->tableprefix."client ON ".$this->tableprefix."devis.id_client = ".$this->tableprefix."client.id LEFT JOIN ".$this->tableprefix."client ON ".$this->tableprefix."devis.id_client = ".$this->tableprefix."client.id
LEFT JOIN ".$this->tableprefix."lieu ON ".$this->tableprefix."devis.id_lieu = ".$this->tableprefix."lieu.id LEFT JOIN ".$this->tableprefix."lieu ON ".$this->tableprefix."devis.id_lieu = ".$this->tableprefix."lieu.id";
ORDER BY ".$this->tableprefix."defunt.id DESC;";
return $this->execSQL($sql, array()); $conditions = [];
if($isUserThanatoOnly){
$thanato = $this->getThanatoByUserUuid($idNextcloud);
if($thanato == null){
return json_encode([]);
}
$thanatoId = $thanato["id"];
$defuntsIdRelatedToThanato = $this->getDefuntIdsRelatedToThanato($thanatoId);
if(empty($defuntsIdRelatedToThanato)){
return json_encode([]);
}
$defuntListConditionPlaceholder = implode(',', array_fill(0, count($defuntsIdRelatedToThanato), '?'));
$conditions = $defuntsIdRelatedToThanato;
$sql .= " WHERE ".$this->tableprefix."defunt.id IN ($defuntListConditionPlaceholder)";
}
$sql .= " ORDER BY ".$this->tableprefix."defunt.id DESC;";
$defuntsList = $this->execSQL($sql,$conditions);
return $defuntsList;
} }
public function getUnusedDefunts($idNextcloud) { public function getUnusedDefunts($idNextcloud) {