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

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

View File

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

File diff suppressed because one or more lines are too long

View File

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

File diff suppressed because one or more lines are too long

View File

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

File diff suppressed because one or more lines are too long

View File

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

File diff suppressed because one or more lines are too long

View File

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

File diff suppressed because one or more lines are too long

View File

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

File diff suppressed because one or more lines are too long

View File

@ -2596,6 +2596,10 @@ __webpack_require__.r(__webpack_exports__);
isPublic: {
type: Boolean,
required: true
},
canAccessPreviousEvent: {
type: Boolean,
default: true
}
}
});
@ -2642,6 +2646,10 @@ __webpack_require__.r(__webpack_exports__);
isWidget: {
type: Boolean,
default: false
},
canAccessPreviousEvent: {
type: Boolean,
default: true
}
},
data() {
@ -2653,6 +2661,9 @@ __webpack_require__.r(__webpack_exports__);
...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapState)({
locale: state => state.settings.momentLocale
}),
minimumDate() {
return this.canAccessPreviousEvent ? new Date(this.$store.state.davRestrictions.minimumDate) : new Date();
},
selectedDate() {
var _this$$route$params$f, _this$$route$params;
if (this.isWidget) {
@ -2895,9 +2906,15 @@ __webpack_require__.r(__webpack_exports__);
ViewModule: vue_material_design_icons_ViewModule_vue__WEBPACK_IMPORTED_MODULE_4__["default"],
ViewWeek: vue_material_design_icons_ViewWeek_vue__WEBPACK_IMPORTED_MODULE_5__["default"]
},
props: {
canAccessPreviousEvent: {
type: Boolean,
default: true
}
},
computed: {
views() {
return [{
let menus = [{
id: 'timeGridDay',
icon: 'ViewDay',
label: this.$t('calendar', 'Day')
@ -2905,19 +2922,24 @@ __webpack_require__.r(__webpack_exports__);
id: 'timeGridWeek',
icon: 'ViewWeek',
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() {
return {
@ -4956,6 +4978,10 @@ __webpack_require__.r(__webpack_exports__);
isWidget: {
type: Boolean,
default: false
},
canAccessPreviousEvent: {
type: Boolean,
default: true
}
},
computed: {
@ -6807,6 +6833,10 @@ __webpack_require__.r(__webpack_exports__);
isAuthenticatedUser: {
type: Boolean,
required: true
},
isAdmin: {
type: Boolean,
default: true
}
},
data() {
@ -6836,10 +6866,14 @@ __webpack_require__.r(__webpack_exports__);
_this$$route$params$v,
_this$$route2,
_this = this;
let defaultView = 'dayGridMonth';
if (this.isAdmin === false) {
defaultView = 'timeGridWeek';
}
return {
// 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'),
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
eventSources: this.eventSources,
// 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_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 _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_11__ = __webpack_require__(/*! ../services/caldavService.js */ "./src/services/caldavService.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_13__ = __webpack_require__(/*! ../utils/date.js */ "./src/utils/date.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_15__ = __webpack_require__(/*! ../utils/logger.js */ "./src/utils/logger.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_16__ = __webpack_require__(/*! ../utils/moment.js */ "./src/utils/moment.js");
/* 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_18__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.mjs");
/* 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_20__ = __webpack_require__(/*! ../components/AppNavigation/CalendarList/Trashbin.vue */ "./src/components/AppNavigation/CalendarList/Trashbin.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");
/* harmony import */ var _services_caldavService_js__WEBPACK_IMPORTED_MODULE_10__ = __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_date_js__WEBPACK_IMPORTED_MODULE_12__ = __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 _utils_logger_js__WEBPACK_IMPORTED_MODULE_14__ = __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 _utils_moment_js__WEBPACK_IMPORTED_MODULE_15__ = __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_dialogs__WEBPACK_IMPORTED_MODULE_17__ = __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 _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_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../components/AppNavigation/AppointmentConfigList.vue */ "./src/components/AppNavigation/AppointmentConfigList.vue");
// Import vue components
@ -13275,7 +13307,6 @@ __webpack_require__.r(__webpack_exports__);
// Import CalDAV related methods
@ -13291,11 +13322,10 @@ __webpack_require__.r(__webpack_exports__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
name: 'Calendar',
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"],
EmptyCalendar: _components_EmptyCalendar_vue__WEBPACK_IMPORTED_MODULE_6__["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,
AppNavigationSpacer: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigationSpacer,
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"],
EditSimple: _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__["default"]
},
@ -13329,12 +13359,13 @@ __webpack_require__.r(__webpack_exports__);
};
},
computed: {
...(0,vuex__WEBPACK_IMPORTED_MODULE_23__.mapGetters)({
...(0,vuex__WEBPACK_IMPORTED_MODULE_21__.mapGetters)({
timezoneId: 'getResolvedTimezone',
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,
skipPopover: state => state.settings.skipPopover,
showWeekends: state => state.settings.showWeekends,
@ -13345,11 +13376,12 @@ __webpack_require__.r(__webpack_exports__);
timezone: state => state.settings.timezone,
modificationCount: state => state.calendarObjects.modificationCount,
disableAppointments: state => state.settings.disableAppointments,
attachmentsFolder: state => state.settings.attachmentsFolder
attachmentsFolder: state => state.settings.attachmentsFolder,
roles: state => state.userRole.roles
}),
defaultDate() {
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() {
var _this$$route2, _this$$route3;
@ -13392,7 +13424,7 @@ __webpack_require__.r(__webpack_exports__);
},
created() {
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);
for (const timeRange of timeRanges) {
this.$store.commit('removeTimeRange', {
@ -13410,29 +13442,29 @@ __webpack_require__.r(__webpack_exports__);
async beforeMount() {
var _this$$route4, _this$$route5;
this.$store.commit('loadSettingsFromServer', {
appVersion: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'app_version'),
eventLimit: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'event_limit'),
firstRun: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'first_run'),
showWeekends: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_weekends'),
showWeekNumbers: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_week_numbers'),
skipPopover: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'skip_popover'),
slotDuration: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'slot_duration'),
defaultReminder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'default_reminder'),
talkEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'talk_enabled'),
tasksEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'tasks_enabled'),
timezone: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'timezone'),
showTasks: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_tasks'),
hideEventExport: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'hide_event_export'),
forceEventAlarmType: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'force_event_alarm_type', false),
disableAppointments: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'disable_appointments', false),
canSubscribeLink: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'can_subscribe_link', false),
attachmentsFolder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'attachments_folder', false),
showResources: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_resources', true),
publicCalendars: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'publicCalendars', [])
appVersion: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'app_version'),
eventLimit: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'event_limit'),
firstRun: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'first_run'),
showWeekends: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_weekends'),
showWeekNumbers: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_week_numbers'),
skipPopover: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'skip_popover'),
slotDuration: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'slot_duration'),
defaultReminder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'default_reminder'),
talkEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'talk_enabled'),
tasksEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'tasks_enabled'),
timezone: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'timezone'),
showTasks: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_tasks'),
hideEventExport: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'hide_event_export'),
forceEventAlarmType: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'force_event_alarm_type', false),
disableAppointments: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'disable_appointments', false),
canSubscribeLink: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'can_subscribe_link', false),
attachmentsFolder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'attachments_folder', false),
showResources: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_resources', true),
publicCalendars: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'publicCalendars', [])
});
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) {
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 calendars = await this.$store.dispatch('getPublicCalendars', {
tokens
@ -13442,13 +13474,13 @@ __webpack_require__.r(__webpack_exports__);
this.showEmptyCalendarScreen = true;
}
} 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');
const {
calendars,
trashBin
} = 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,
trashBin
});
@ -13469,37 +13501,37 @@ __webpack_require__.r(__webpack_exports__);
// No writeable calendars? Create a new one!
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;
await this.$store.dispatch('appendCalendar', {
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
});
}
this.loadingCalendars = false;
await this.fetchUserTypesAndUpdateCalendars(calendars);
}
},
async mounted() {
if (this.timezone === 'automatic' && this.timezoneId === 'UTC') {
const {
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
});
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 {
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
}), {
timeout: 60000
});
toastElement.classList.add('toast-calendar-multiline');
}
await this.$store.dispatch("userRole/fetchUserRoles");
await this.loadMomentLocale();
},
methods: {
@ -13509,7 +13541,7 @@ __webpack_require__.r(__webpack_exports__);
* @return {Promise<void>}
*/
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', {
locale
});
@ -13526,8 +13558,8 @@ __webpack_require__.r(__webpack_exports__);
},
async fetchUserTypeForCalendar(userPrincipalId) {
let url = '/apps/gestion/getUserTypeByUserUuid/' + userPrincipalId;
const ajaxUrl = (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_22__.generateUrl)(url);
const response = await _nextcloud_axios__WEBPACK_IMPORTED_MODULE_10__["default"].get(ajaxUrl);
const ajaxUrl = generateUrl(url);
const response = await axios.get(ajaxUrl);
let responseValue = JSON.parse(response.data);
return responseValue.thanatoTypeLabel;
}
@ -14263,9 +14295,17 @@ var render = function render() {
_c = _vm._self._c;
return _c("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"
}, [!_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 = [];
render._withStripped = true;
@ -14290,7 +14330,7 @@ var render = function render() {
_c = _vm._self._c;
return _c("div", {
staticClass: "datepicker-button-section"
}, [!_vm.isWidget ? _c("NcButton", {
}, [!_vm.isWidget && _vm.canAccessPreviousEvent ? _c("NcButton", {
directives: [{
name: "shortkey",
rawName: "v-shortkey",
@ -14344,7 +14384,8 @@ var render = function render() {
date: _vm.selectedDate,
"is-all-day": true,
open: _vm.isDatepickerOpen,
type: _vm.view === "multiMonthYear" ? "year" : "date"
type: _vm.view === "multiMonthYear" ? "year" : "date",
min: _vm.minimumDate
},
on: {
"update:open": function ($event) {
@ -16358,7 +16399,8 @@ var render = function render() {
class: _vm.isWidget ? "widget-header__date-section" : "embed-header__date-section"
}, [_c("AppNavigationHeaderDatePicker", {
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", {
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"
}, [!_vm.showEmptyCalendarScreen ? _c("EmbedTopNavigation", {
attrs: {
"is-widget": true
"is-widget": true,
"can-access-previous-event": _vm.canAccessPreviousEvent
}
}) : _vm._e(), _vm._v(" "), !_vm.showEmptyCalendarScreen ? _c("CalendarGrid", {
ref: "calendarGridWidget",
attrs: {
"is-widget": _vm.isWidget,
"can-access-previous-event": _vm.canAccessPreviousEvent,
"is-authenticated-user": _vm.isAuthenticatedUser
}
}) : _c("EmptyCalendar"), _vm._v(" "), _vm.showWidgetEventDetails ? _c("EditSimple", {
@ -21771,10 +21815,16 @@ var render = function render() {
}], null, false, 2841196060)
}, [_c("AppNavigationHeader", {
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: {
"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
}
}) : _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 ***!
@ -35726,8 +35806,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_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 vuex__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.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_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 _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");
@ -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 _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 _userRole_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./userRole.js */ "./src/store/userRole.js");
/**
* @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: {
calendarObjectInstance: _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__["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"],
importState: _importState_js__WEBPACK_IMPORTED_MODULE_7__["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
// 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 ***!
@ -309770,7 +309899,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"compressed":true,"categories":[{"id"
/******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template
/******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"7bde6f386631234ba146","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"2e0b0e8bc0e8488c397c","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"728c782d2751f8e6150a","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","public-calendar-subscription-picker":"9168fca99a878d4c37e3","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96":"ce1bed825f57dd1d117a","node_modules_moment_locale_sync_recursive_":"4bc2c39c5e0ff182c2e3"}[chunkId] + "";
/******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"741d92f5ec54d0c1ff41","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"0658eb6db50a09dd2afe","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"e0f3178442f3c9eb35e1","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","public-calendar-subscription-picker":"0c8b5b050db3beb63d49","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96":"ce1bed825f57dd1d117a","node_modules_moment_locale_sync_recursive_":"4bc2c39c5e0ff182c2e3"}[chunkId] + "";
/******/ };
/******/ })();
/******/
@ -310075,4 +310204,4 @@ appointmentsConfigsStore.addInitialConfigs((0,_nextcloud_initial_state__WEBPACK_
/******/ })()
;
//# sourceMappingURL=calendar-main.js.map?v=2990e8625cbe6e7ec5ce
//# sourceMappingURL=calendar-main.js.map?v=e2db448fb505c0b97453

File diff suppressed because one or more lines are too long

View File

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

File diff suppressed because one or more lines are too long

View File

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

File diff suppressed because one or more lines are too long

View File

@ -1748,6 +1748,35 @@ const getFileInfo = async function (path, userId) {
};
/***/ }),
/***/ "./src/services/roleService.js":
/*!*************************************!*\
!*** ./src/services/roleService.js ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/axios */ "./node_modules/@nextcloud/axios/dist/index.es.mjs");
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.mjs");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
async fetchAndCommitRoles(commit) {
try {
var url = '/apps/gestion/getUserConnectedGroups';
const ajaxUrl = (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_1__.generateUrl)(url);
_nextcloud_axios__WEBPACK_IMPORTED_MODULE_0__["default"].get(ajaxUrl).then(response => {
let roles = JSON.parse(response.data);
commit("setUserRole", roles);
}).catch(error => {});
} catch (error) {}
}
});
/***/ }),
/***/ "./src/services/settings.js":
@ -6872,8 +6901,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_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 vuex__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.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_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 _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");
@ -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 _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 _userRole_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./userRole.js */ "./src/store/userRole.js");
/**
* @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: {
calendarObjectInstance: _calendarObjectInstance_js__WEBPACK_IMPORTED_MODULE_0__["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"],
importState: _importState_js__WEBPACK_IMPORTED_MODULE_7__["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
// 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 ***!
@ -8113,4 +8190,4 @@ function getLinkToConfig(key) {
/***/ })
}]);
//# sourceMappingURL=calendar-src_store_index_js.js.map?v=8e651e1007c1cc1d62d0
//# sourceMappingURL=calendar-src_store_index_js.js.map?v=276ff6be1cb450405b79

File diff suppressed because one or more lines are too long

View File

@ -31,6 +31,10 @@ __webpack_require__.r(__webpack_exports__);
isPublic: {
type: Boolean,
required: true
},
canAccessPreviousEvent: {
type: Boolean,
default: true
}
}
});
@ -77,6 +81,10 @@ __webpack_require__.r(__webpack_exports__);
isWidget: {
type: Boolean,
default: false
},
canAccessPreviousEvent: {
type: Boolean,
default: true
}
},
data() {
@ -88,6 +96,9 @@ __webpack_require__.r(__webpack_exports__);
...(0,vuex__WEBPACK_IMPORTED_MODULE_6__.mapState)({
locale: state => state.settings.momentLocale
}),
minimumDate() {
return this.canAccessPreviousEvent ? new Date(this.$store.state.davRestrictions.minimumDate) : new Date();
},
selectedDate() {
var _this$$route$params$f, _this$$route$params;
if (this.isWidget) {
@ -330,9 +341,15 @@ __webpack_require__.r(__webpack_exports__);
ViewModule: vue_material_design_icons_ViewModule_vue__WEBPACK_IMPORTED_MODULE_4__["default"],
ViewWeek: vue_material_design_icons_ViewWeek_vue__WEBPACK_IMPORTED_MODULE_5__["default"]
},
props: {
canAccessPreviousEvent: {
type: Boolean,
default: true
}
},
computed: {
views() {
return [{
let menus = [{
id: 'timeGridDay',
icon: 'ViewDay',
label: this.$t('calendar', 'Day')
@ -340,19 +357,24 @@ __webpack_require__.r(__webpack_exports__);
id: 'timeGridWeek',
icon: 'ViewWeek',
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() {
return {
@ -2391,6 +2413,10 @@ __webpack_require__.r(__webpack_exports__);
isWidget: {
type: Boolean,
default: false
},
canAccessPreviousEvent: {
type: Boolean,
default: true
}
},
computed: {
@ -4242,6 +4268,10 @@ __webpack_require__.r(__webpack_exports__);
isAuthenticatedUser: {
type: Boolean,
required: true
},
isAdmin: {
type: Boolean,
default: true
}
},
data() {
@ -4271,10 +4301,14 @@ __webpack_require__.r(__webpack_exports__);
_this$$route$params$v,
_this$$route2,
_this = this;
let defaultView = 'dayGridMonth';
if (this.isAdmin === false) {
defaultView = 'timeGridWeek';
}
return {
// 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'),
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
eventSources: this.eventSources,
// 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_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 _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_11__ = __webpack_require__(/*! ../services/caldavService.js */ "./src/services/caldavService.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_13__ = __webpack_require__(/*! ../utils/date.js */ "./src/utils/date.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_15__ = __webpack_require__(/*! ../utils/logger.js */ "./src/utils/logger.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_16__ = __webpack_require__(/*! ../utils/moment.js */ "./src/utils/moment.js");
/* 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_18__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.mjs");
/* 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_20__ = __webpack_require__(/*! ../components/AppNavigation/CalendarList/Trashbin.vue */ "./src/components/AppNavigation/CalendarList/Trashbin.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");
/* harmony import */ var _services_caldavService_js__WEBPACK_IMPORTED_MODULE_10__ = __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_date_js__WEBPACK_IMPORTED_MODULE_12__ = __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 _utils_logger_js__WEBPACK_IMPORTED_MODULE_14__ = __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 _utils_moment_js__WEBPACK_IMPORTED_MODULE_15__ = __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_dialogs__WEBPACK_IMPORTED_MODULE_17__ = __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 _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_AppointmentConfigList_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../components/AppNavigation/AppointmentConfigList.vue */ "./src/components/AppNavigation/AppointmentConfigList.vue");
// Import vue components
@ -7707,7 +7739,6 @@ __webpack_require__.r(__webpack_exports__);
// Import CalDAV related methods
@ -7723,11 +7754,10 @@ __webpack_require__.r(__webpack_exports__);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
name: 'Calendar',
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"],
EmptyCalendar: _components_EmptyCalendar_vue__WEBPACK_IMPORTED_MODULE_6__["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,
AppNavigationSpacer: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcAppNavigationSpacer,
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"],
EditSimple: _EditSimple_vue__WEBPACK_IMPORTED_MODULE_9__["default"]
},
@ -7761,12 +7791,13 @@ __webpack_require__.r(__webpack_exports__);
};
},
computed: {
...(0,vuex__WEBPACK_IMPORTED_MODULE_23__.mapGetters)({
...(0,vuex__WEBPACK_IMPORTED_MODULE_21__.mapGetters)({
timezoneId: 'getResolvedTimezone',
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,
skipPopover: state => state.settings.skipPopover,
showWeekends: state => state.settings.showWeekends,
@ -7777,11 +7808,12 @@ __webpack_require__.r(__webpack_exports__);
timezone: state => state.settings.timezone,
modificationCount: state => state.calendarObjects.modificationCount,
disableAppointments: state => state.settings.disableAppointments,
attachmentsFolder: state => state.settings.attachmentsFolder
attachmentsFolder: state => state.settings.attachmentsFolder,
roles: state => state.userRole.roles
}),
defaultDate() {
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() {
var _this$$route2, _this$$route3;
@ -7824,7 +7856,7 @@ __webpack_require__.r(__webpack_exports__);
},
created() {
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);
for (const timeRange of timeRanges) {
this.$store.commit('removeTimeRange', {
@ -7842,29 +7874,29 @@ __webpack_require__.r(__webpack_exports__);
async beforeMount() {
var _this$$route4, _this$$route5;
this.$store.commit('loadSettingsFromServer', {
appVersion: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'app_version'),
eventLimit: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'event_limit'),
firstRun: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'first_run'),
showWeekends: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_weekends'),
showWeekNumbers: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_week_numbers'),
skipPopover: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'skip_popover'),
slotDuration: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'slot_duration'),
defaultReminder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'default_reminder'),
talkEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'talk_enabled'),
tasksEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'tasks_enabled'),
timezone: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'timezone'),
showTasks: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_tasks'),
hideEventExport: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'hide_event_export'),
forceEventAlarmType: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'force_event_alarm_type', false),
disableAppointments: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'disable_appointments', false),
canSubscribeLink: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'can_subscribe_link', false),
attachmentsFolder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'attachments_folder', false),
showResources: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'show_resources', true),
publicCalendars: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_17__.loadState)('calendar', 'publicCalendars', [])
appVersion: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'app_version'),
eventLimit: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'event_limit'),
firstRun: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'first_run'),
showWeekends: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_weekends'),
showWeekNumbers: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_week_numbers'),
skipPopover: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'skip_popover'),
slotDuration: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'slot_duration'),
defaultReminder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'default_reminder'),
talkEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'talk_enabled'),
tasksEnabled: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'tasks_enabled'),
timezone: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'timezone'),
showTasks: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_tasks'),
hideEventExport: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'hide_event_export'),
forceEventAlarmType: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'force_event_alarm_type', false),
disableAppointments: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'disable_appointments', false),
canSubscribeLink: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'can_subscribe_link', false),
attachmentsFolder: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'attachments_folder', false),
showResources: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'show_resources', true),
publicCalendars: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_16__.loadState)('calendar', 'publicCalendars', [])
});
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) {
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 calendars = await this.$store.dispatch('getPublicCalendars', {
tokens
@ -7874,13 +7906,13 @@ __webpack_require__.r(__webpack_exports__);
this.showEmptyCalendarScreen = true;
}
} 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');
const {
calendars,
trashBin
} = 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,
trashBin
});
@ -7901,37 +7933,37 @@ __webpack_require__.r(__webpack_exports__);
// No writeable calendars? Create a new one!
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;
await this.$store.dispatch('appendCalendar', {
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
});
}
this.loadingCalendars = false;
await this.fetchUserTypesAndUpdateCalendars(calendars);
}
},
async mounted() {
if (this.timezone === 'automatic' && this.timezoneId === 'UTC') {
const {
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
});
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 {
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
}), {
timeout: 60000
});
toastElement.classList.add('toast-calendar-multiline');
}
await this.$store.dispatch("userRole/fetchUserRoles");
await this.loadMomentLocale();
},
methods: {
@ -7941,7 +7973,7 @@ __webpack_require__.r(__webpack_exports__);
* @return {Promise<void>}
*/
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', {
locale
});
@ -7958,8 +7990,8 @@ __webpack_require__.r(__webpack_exports__);
},
async fetchUserTypeForCalendar(userPrincipalId) {
let url = '/apps/gestion/getUserTypeByUserUuid/' + userPrincipalId;
const ajaxUrl = (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_22__.generateUrl)(url);
const response = await _nextcloud_axios__WEBPACK_IMPORTED_MODULE_10__["default"].get(ajaxUrl);
const ajaxUrl = generateUrl(url);
const response = await axios.get(ajaxUrl);
let responseValue = JSON.parse(response.data);
return responseValue.thanatoTypeLabel;
}
@ -8268,9 +8300,17 @@ var render = function render() {
_c = _vm._self._c;
return _c("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"
}, [!_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 = [];
render._withStripped = true;
@ -8295,7 +8335,7 @@ var render = function render() {
_c = _vm._self._c;
return _c("div", {
staticClass: "datepicker-button-section"
}, [!_vm.isWidget ? _c("NcButton", {
}, [!_vm.isWidget && _vm.canAccessPreviousEvent ? _c("NcButton", {
directives: [{
name: "shortkey",
rawName: "v-shortkey",
@ -8349,7 +8389,8 @@ var render = function render() {
date: _vm.selectedDate,
"is-all-day": true,
open: _vm.isDatepickerOpen,
type: _vm.view === "multiMonthYear" ? "year" : "date"
type: _vm.view === "multiMonthYear" ? "year" : "date",
min: _vm.minimumDate
},
on: {
"update:open": function ($event) {
@ -10363,7 +10404,8 @@ var render = function render() {
class: _vm.isWidget ? "widget-header__date-section" : "embed-header__date-section"
}, [_c("AppNavigationHeaderDatePicker", {
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", {
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"
}, [!_vm.showEmptyCalendarScreen ? _c("EmbedTopNavigation", {
attrs: {
"is-widget": true
"is-widget": true,
"can-access-previous-event": _vm.canAccessPreviousEvent
}
}) : _vm._e(), _vm._v(" "), !_vm.showEmptyCalendarScreen ? _c("CalendarGrid", {
ref: "calendarGridWidget",
attrs: {
"is-widget": _vm.isWidget,
"can-access-previous-event": _vm.canAccessPreviousEvent,
"is-authenticated-user": _vm.isAuthenticatedUser
}
}) : _c("EmptyCalendar"), _vm._v(" "), _vm.showWidgetEventDetails ? _c("EditSimple", {
@ -14059,10 +14103,16 @@ var render = function render() {
}], null, false, 2841196060)
}, [_c("AppNavigationHeader", {
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: {
"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
}
}) : _c("EmptyCalendar")], 1), _vm._v(" "), _c("router-view")], 1);
@ -27343,4 +27393,4 @@ module.exports = "data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/sv
/***/ })
}]);
//# sourceMappingURL=calendar-src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254.js.map?v=c843b5a49512d69e485e
//# sourceMappingURL=calendar-src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254.js.map?v=0b6b2228ab6a9dcb591c

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -19,7 +19,7 @@
-
-->
<template>
<template>
<Actions v-shortkey="shortKeyConf"
menu-align="right"
@shortkey.native="selectViewFromShortcut">
@ -63,29 +63,43 @@ export default {
ViewModule,
ViewWeek,
},
props: {
canAccessPreviousEvent: {
type: Boolean,
default: true,
}
},
computed: {
views() {
return [{
id: 'timeGridDay',
icon: 'ViewDay',
label: this.$t('calendar', 'Day'),
}, {
id: 'timeGridWeek',
icon: 'ViewWeek',
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'),
}]
let menus = [
{
id: 'timeGridDay',
icon: 'ViewDay',
label: this.$t('calendar', 'Day'),
}, {
id: 'timeGridWeek',
icon: 'ViewWeek',
label: this.$t('calendar', 'Week'),
}
];
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() {
return {

View File

@ -1,7 +1,7 @@
<template>
<header :id="isWidget? 'widget-header' :'embed-header'" role="banner">
<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" />
</div>
<div :class="isWidget?'widget-header__views-section' :'embed-header__views-section'">
@ -79,6 +79,10 @@ export default {
type: Boolean,
default: false,
},
canAccessPreviousEvent: {
type: Boolean,
default: true,
},
},
computed: {
...mapGetters({

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -510,7 +510,33 @@ class Bdd {
return $this->execSQL($sql, array());
}
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, "
.$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, "
@ -518,9 +544,26 @@ class Bdd {
FROM ".$this->tableprefix."defunt
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."lieu ON ".$this->tableprefix."devis.id_lieu = ".$this->tableprefix."lieu.id
ORDER BY ".$this->tableprefix."defunt.id DESC;";
return $this->execSQL($sql, array());
LEFT JOIN ".$this->tableprefix."lieu ON ".$this->tableprefix."devis.id_lieu = ".$this->tableprefix."lieu.id";
$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) {