Add user group constants and implement user role management in the calendar
This commit is contained in:
parent
1727db1cc2
commit
e7bf6d0902
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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
|
||||||
File diff suppressed because one or more lines are too long
@ -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
|
||||||
File diff suppressed because one or more lines are too long
@ -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
|
||||||
File diff suppressed because one or more lines are too long
@ -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
|
||||||
File diff suppressed because one or more lines are too long
@ -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
|
||||||
File diff suppressed because one or more lines are too long
@ -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
|
||||||
File diff suppressed because one or more lines are too long
@ -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
|
||||||
File diff suppressed because one or more lines are too long
@ -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>
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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({
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
19
calendar/src/services/roleService.js
Normal file
19
calendar/src/services/roleService.js
Normal 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) {
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
@ -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
|
||||||
|
|||||||
34
calendar/src/store/userRole.js
Normal file
34
calendar/src/store/userRole.js
Normal 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,
|
||||||
|
};
|
||||||
@ -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: {
|
||||||
|
|||||||
@ -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'],
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
10
gestion/lib/Constants/UserGroupConstant.php
Normal file
10
gestion/lib/Constants/UserGroupConstant.php
Normal 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";
|
||||||
|
}
|
||||||
@ -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) { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user