Merge branch 'features/feature-role-delphine' into releases/release-h2f
This commit is contained in:
commit
d115f2be5d
@ -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
@ -37516,4 +37516,4 @@ const booking = (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__.loadSta
|
||||
|
||||
/******/ })()
|
||||
;
|
||||
//# sourceMappingURL=calendar-appointments-confirmation.js.map?v=e09415d738d19b735882
|
||||
//# sourceMappingURL=calendar-appointments-confirmation.js.map?v=a2ee83495b163cb419ce
|
||||
File diff suppressed because one or more lines are too long
@ -37552,4 +37552,4 @@ const booking = (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__.loadSta
|
||||
|
||||
/******/ })()
|
||||
;
|
||||
//# sourceMappingURL=calendar-appointments-conflict.js.map?v=203b5778e2275f51e478
|
||||
//# sourceMappingURL=calendar-appointments-conflict.js.map?v=b617e2fd0c187cf8a3ef
|
||||
File diff suppressed because one or more lines are too long
@ -160605,4 +160605,4 @@ vue__WEBPACK_IMPORTED_MODULE_5__["default"].prototype.$n = _nextcloud_l10n__WEBP
|
||||
|
||||
/******/ })()
|
||||
;
|
||||
//# sourceMappingURL=calendar-appointments-overview.js.map?v=11949b799a3d070cc45a
|
||||
//# sourceMappingURL=calendar-appointments-overview.js.map?v=f24398268fe4a78a6630
|
||||
File diff suppressed because one or more lines are too long
@ -500,4 +500,4 @@ if(false) {}
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-dashboard-lazy.js.map?v=0dd354a2fd4b9e38ddcf
|
||||
//# sourceMappingURL=calendar-dashboard-lazy.js.map?v=60b7f707e08fff04c7a1
|
||||
File diff suppressed because one or more lines are too long
@ -1322,7 +1322,7 @@ function b(n) {
|
||||
/******/ // This function allow to reference async chunks
|
||||
/******/ __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
@ -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
@ -369,4 +369,4 @@ module.exports = /*#__PURE__*/JSON.parse('[{"country":"Algeria","filename":"Alge
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-public-calendar-subscription-picker.js.map?v=9168fca99a878d4c37e3
|
||||
//# sourceMappingURL=calendar-public-calendar-subscription-picker.js.map?v=0c8b5b050db3beb63d49
|
||||
File diff suppressed because one or more lines are too long
@ -8865,7 +8865,7 @@ window._registerCustomPickerElement = _;
|
||||
/******/ // This function allow to reference async chunks
|
||||
/******/ __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
@ -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
@ -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
|
||||
File diff suppressed because one or more lines are too long
@ -42554,4 +42554,4 @@ function hasInjectionContext() {
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_autosize_dist_autosize_esm_js-node_modules_html-entities_lib_index_js-no-4072c5.js.map?v=56373f2063898525e8de
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_autosize_dist_autosize_esm_js-node_modules_html-entities_lib_index_js-no-4072c5.js.map?v=c3527b981de24f56109b
|
||||
File diff suppressed because one or more lines are too long
@ -21864,4 +21864,4 @@ const webNamespaces = {
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981.js.map?v=7bde6f386631234ba146
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981.js.map?v=741d92f5ec54d0c1ff41
|
||||
File diff suppressed because one or more lines are too long
@ -27285,4 +27285,4 @@ window._registerCustomPickerElement = _;
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d.js.map?v=86eaa619747854c0da61
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d.js.map?v=c2bd3081c493a88308a2
|
||||
File diff suppressed because one or more lines are too long
@ -80146,4 +80146,4 @@ module.exports = /*#__PURE__*/JSON.parse('{"compressed":true,"categories":[{"id"
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f.js.map?v=728c782d2751f8e6150a
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f.js.map?v=e0f3178442f3c9eb35e1
|
||||
File diff suppressed because one or more lines are too long
@ -102420,4 +102420,4 @@ module.exports = /*#__PURE__*/JSON.parse('{"compressed":true,"categories":[{"id"
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_vue-material-design-icons_CalendarBlankOutline_vue-node_modules_nextclou-4adead.js.map?v=273df538e0dc19672feb
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_vue-material-design-icons_CalendarBlankOutline_vue-node_modules_nextclou-4adead.js.map?v=01a7eb6779cc0e417f44
|
||||
File diff suppressed because one or more lines are too long
@ -2030,4 +2030,4 @@ render._withStripped = true
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8.js.map?v=2e0b0e8bc0e8488c397c
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8.js.map?v=0658eb6db50a09dd2afe
|
||||
File diff suppressed because one or more lines are too long
@ -19,13 +19,13 @@
|
||||
-
|
||||
-->
|
||||
|
||||
<template>
|
||||
<template>
|
||||
<header class="app-navigation-header">
|
||||
<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>
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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({
|
||||
|
||||
@ -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
|
||||
|
||||
19
calendar/src/services/roleService.js
Normal file
19
calendar/src/services/roleService.js
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
import axios from "@nextcloud/axios";
|
||||
import {generateUrl} from "@nextcloud/router";
|
||||
export default {
|
||||
async fetchAndCommitRoles(commit) {
|
||||
try {
|
||||
var url = '/apps/gestion/getUserConnectedGroups';
|
||||
const ajaxUrl = generateUrl(url)
|
||||
axios.get(ajaxUrl)
|
||||
.then((response) => {
|
||||
let roles = JSON.parse(response.data)
|
||||
commit("setUserRole", roles);
|
||||
})
|
||||
.catch(error => {
|
||||
});
|
||||
} catch (error) {
|
||||
}
|
||||
},
|
||||
};
|
||||
@ -36,7 +36,7 @@ import importFiles from './importFiles.js'
|
||||
import importState from './importState.js'
|
||||
import 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
|
||||
|
||||
34
calendar/src/store/userRole.js
Normal file
34
calendar/src/store/userRole.js
Normal file
@ -0,0 +1,34 @@
|
||||
import roleService from "../services/roleService";
|
||||
const state = {
|
||||
roles: [], // Store the roles here
|
||||
};
|
||||
|
||||
const mutations = {
|
||||
setUserRole(state, roles) {
|
||||
state.roles = roles;
|
||||
},
|
||||
};
|
||||
|
||||
const actions = {
|
||||
async fetchUserRoles({ commit }) {
|
||||
try {
|
||||
// Pass commit to the service
|
||||
await roleService.fetchAndCommitRoles(commit);
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
const getters = {
|
||||
isAdmin: (state) => state.roles.includes("admin"),
|
||||
canAccessPreviousEvent: (state) => (state.roles.includes("Ligne") == false) && (state.roles.includes("ligne") == false),
|
||||
};
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions,
|
||||
getters,
|
||||
};
|
||||
@ -20,13 +20,14 @@
|
||||
-
|
||||
-->
|
||||
|
||||
<template>
|
||||
<template>
|
||||
<div v-if="isWidget" class="calendar-Widget calendar-Widget-Custom">
|
||||
<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: {
|
||||
|
||||
@ -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'],
|
||||
]
|
||||
];
|
||||
10
gestion/lib/Constants/UserGroupConstant.php
Normal file
10
gestion/lib/Constants/UserGroupConstant.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OCA\Gestion\Constants;
|
||||
abstract class UserGroupConstant
|
||||
{
|
||||
const THANATOS_GROUP_NAME = "Thanatos";
|
||||
const LIGNE_GROUP_NAME = "Ligne";
|
||||
const ADMIN_GROUP_NAME = "admin";
|
||||
}
|
||||
@ -22,6 +22,7 @@ use \Datetime;
|
||||
use \DatetimeImmutable;
|
||||
use \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;
|
||||
@ -1981,7 +1982,10 @@ class PageController extends Controller {
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function getStats(){
|
||||
$result = $this->menuStatisticService->getStats($this->idNextcloud);
|
||||
$isThanato = in_array(UserGroupConstant::THANATOS_GROUP_NAME,$this->groups);
|
||||
$isAdmin = in_array(UserGroupConstant::ADMIN_GROUP_NAME,$this->groups);
|
||||
$isUserThanatoOnly = $isThanato && !$isAdmin;
|
||||
$result = $this->menuStatisticService->getStats($this->idNextcloud,$isUserThanatoOnly);
|
||||
return json_encode($result);
|
||||
}
|
||||
|
||||
@ -2028,7 +2032,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 +2924,17 @@ class PageController extends Controller {
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
* @param int $defuntId
|
||||
*/
|
||||
|
||||
public function getUserConnectedGroups(){
|
||||
try{
|
||||
return json_encode($this->groups);
|
||||
}
|
||||
catch(\OCP\Files\NotFoundException $e) { }
|
||||
}
|
||||
}
|
||||
|
||||
@ -510,7 +510,33 @@ class Bdd {
|
||||
return $this->execSQL($sql, array());
|
||||
}
|
||||
|
||||
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) {
|
||||
@ -1532,9 +1575,24 @@ class Bdd {
|
||||
/**
|
||||
* Number defunt
|
||||
*/
|
||||
public function numberDefunt($idNextcloud){
|
||||
$sql = "SELECT count(*) as c from ".$this->tableprefix."defunt;";
|
||||
return $this->execSQL($sql, array());
|
||||
public function numberDefunt($idNextcloud,$isUserThanatoOnly = false){
|
||||
$defuntCount = 0;
|
||||
if($isUserThanatoOnly == false){
|
||||
$sql = "SELECT count(*) as c from ".$this->tableprefix."defunt;";
|
||||
$defuntCountBythanato = $this->execSQLNoJsonReturn($sql, array());
|
||||
if(!empty($defuntCountBythanato)){
|
||||
$defuntCount = $defuntCountBythanato[0]['c'];
|
||||
}
|
||||
}
|
||||
else{
|
||||
$thanato = $this->getThanatoByUserUuid($idNextcloud);
|
||||
if($thanato != null){
|
||||
$thanatoId = $thanato["id"];
|
||||
$defuntsIdRelatedToThanato = $this->getDefuntIdsRelatedToThanato($thanatoId);
|
||||
$defuntCount = count($defuntsIdRelatedToThanato);
|
||||
}
|
||||
}
|
||||
return $defuntCount;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -153,7 +153,7 @@ class TalkDb {
|
||||
|
||||
$rooms = $this->execSQLNoJsonReturn(
|
||||
$sql,
|
||||
[$names['createdByUser'],$names['createdByAdmin']]);
|
||||
[$names['target'],$names['sender']]);
|
||||
|
||||
if(!empty($rooms)){
|
||||
return $rooms[0];
|
||||
@ -161,13 +161,13 @@ class TalkDb {
|
||||
return null;
|
||||
}
|
||||
|
||||
public function createDevisTalkRoomAndReturnDevisTalkRoom($idNextCloud,$token){
|
||||
$roomName = '["'.$idNextCloud.'","'.BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD.'"]';
|
||||
public function createDevisTalkRoomAndReturnDevisTalkRoom($targetUser,$senderUser,$token){
|
||||
$roomName = '["'.$targetUser.'","'.$senderUser.'"]';
|
||||
$this->createDevisTalkRoom($roomName,$token);
|
||||
$room = $this->getDevisTalkRoomByName($roomName);
|
||||
$attendees = [
|
||||
$idNextCloud,
|
||||
BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD
|
||||
$targetUser,
|
||||
$senderUser
|
||||
];
|
||||
$this->createDevisTalkRoomAttendeesByActors($attendees,$room['id']);
|
||||
return $room;
|
||||
|
||||
@ -37,6 +37,7 @@ use OCA\Gestion\Service\Order\OrderPdfService;
|
||||
use OCP\DB\Exception;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use OCA\Gestion\Helpers\VCalendarHelpers;
|
||||
use OCP\IUserSession;
|
||||
|
||||
class GestionService {
|
||||
/** @var Bdd */
|
||||
@ -53,19 +54,27 @@ class GestionService {
|
||||
private $orderPdfService;
|
||||
private $devisPdfService;
|
||||
|
||||
private $userSession;
|
||||
|
||||
private string $userConnectedUuid;
|
||||
|
||||
public function __construct(
|
||||
Bdd $gestionBdd,
|
||||
OrderBdd $orderBdd,
|
||||
LoggerInterface $logger,
|
||||
OrderPdfService $orderPdfService,
|
||||
DevisPdfService $devisPdfService,
|
||||
TalkService $talkService) {
|
||||
TalkService $talkService,
|
||||
IUserSession $userSession
|
||||
) {
|
||||
$this->orderBdd = $orderBdd;
|
||||
$this->logger = $logger;
|
||||
$this->gestionBdd = $gestionBdd;
|
||||
$this->orderPdfService = $orderPdfService;
|
||||
$this->devisPdfService = $devisPdfService;
|
||||
$this->talkService = $talkService;
|
||||
$this->userSession = $userSession;
|
||||
$this->userConnectedUuid = $userSession->getUser()?->getUID() ?? BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD;
|
||||
}
|
||||
|
||||
private function GetCalendarSummaryFromVCalendarString(string $vCalendarString): string
|
||||
@ -194,15 +203,13 @@ class GestionService {
|
||||
$order = $this->orderBdd->getOrderByDevisId($devisId);
|
||||
$this->logger->debug(json_encode($order));
|
||||
if($order != null){
|
||||
$this->orderPdfService->generateOrderPdfByOrderId($order['id'],BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD);
|
||||
$this->orderPdfService->generateOrderPdfByOrderId($order['id'],BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD);
|
||||
$this->orderPdfService->generateOrderPdfByOrderId($order['id'],$this->userConnectedUuid);
|
||||
}
|
||||
}
|
||||
}
|
||||
$devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devisId,$userName);
|
||||
$this->talkService->sendDevisTalkNotifications($devisTalkMessage,$userName);
|
||||
$this->devisPdfService->generateDevisPdfByDevisId($devisId,BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD);
|
||||
$this->devisPdfService->generateDevisPdfByDevisId($devisId,BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD);
|
||||
$this->talkService->sendDevisTalkNotifications($devisTalkMessage,$userName,$this->userConnectedUuid);
|
||||
$this->devisPdfService->generateDevisPdfByDevisId($devisId,$this->userConnectedUuid);
|
||||
$this->gestionBdd->createDevisTrajetFromVCalendar($devisId,$userName);
|
||||
}
|
||||
catch(Exception $e){
|
||||
@ -321,10 +328,9 @@ class GestionService {
|
||||
$this->UpdateDevisDataByVCalendarString($devis,$vCalendarString);
|
||||
$userName = $this->GetThanatoNameFromVCalendarString($vCalendarString);
|
||||
$devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devis['id'],$userName);
|
||||
$this->talkService->sendDevisTalkNotifications($devisTalkMessage,$userName);
|
||||
$this->talkService->sendDevisTalkNotifications($devisTalkMessage,$userName,$this->userConnectedUuid);
|
||||
}
|
||||
$this->devisPdfService->generateDevisPdfByDevisId($devis['id'],BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD);
|
||||
$this->devisPdfService->generateDevisPdfByDevisId($devis['id'],BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD);
|
||||
$this->devisPdfService->generateDevisPdfByDevisId($devis['id'],$this->userConnectedUuid);
|
||||
return true;
|
||||
}
|
||||
catch(Exception $e){
|
||||
|
||||
@ -58,10 +58,10 @@ class MenuStatisticService {
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function getStats($idNextCloud){
|
||||
public function getStats($idNextCloud,$isUserThanatoOnly = false){
|
||||
$res = array();
|
||||
$res['client'] = json_decode($this->gestionBdd->numberClient($idNextCloud))[0]->c;
|
||||
$res['defunt'] = json_decode($this->gestionBdd->numberDefunt($idNextCloud))[0]->c;
|
||||
$res['defunt'] = $this->gestionBdd->numberDefunt($idNextCloud,$isUserThanatoOnly);
|
||||
$res['thanato'] = json_decode($this->gestionBdd->numberThanato($idNextCloud))[0]->c;
|
||||
$res['devis'] = json_decode($this->gestionBdd->numberDevis($idNextCloud))[0]->c;
|
||||
$res['lieu'] = json_decode($this->gestionBdd->numberLieu($idNextCloud))[0]->c;
|
||||
|
||||
@ -48,12 +48,12 @@ class TalkService {
|
||||
$this->talkDb = $talkDb;
|
||||
}
|
||||
|
||||
private function getUserDevisTalkRoomNames($idNextCloud){
|
||||
$roomNamesCreatedByUser = '["'.$idNextCloud.'","'.BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD.'"]';
|
||||
$roomNamesCreatedByAdmin = '["'.BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD.'","'.$idNextCloud.'"]';
|
||||
private function getUserDevisTalkRoomNames($target ,$senderUser){
|
||||
$roomNamesCreatedBytargetUser = '["'.$target.'","'.$senderUser.'"]';
|
||||
$roomNamesCreatedBySenderUser = '["'.$senderUser.'","'.$target.'"]';
|
||||
return [
|
||||
"createdByUser" => $roomNamesCreatedByUser,
|
||||
"createdByAdmin" => $roomNamesCreatedByAdmin
|
||||
"target" => $roomNamesCreatedBytargetUser,
|
||||
"sender" => $roomNamesCreatedBySenderUser
|
||||
];
|
||||
}
|
||||
|
||||
@ -68,36 +68,39 @@ class TalkService {
|
||||
return $randomToken;
|
||||
}
|
||||
|
||||
private function getNotificationsSubjectsParameters(){
|
||||
return '{"userType":"users","userId":"'.BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD.'"}';
|
||||
private function getNotificationsSubjectsParameters(string $senderUser){
|
||||
return '{"userType":"users","userId":"'.$senderUser.'"}';
|
||||
}
|
||||
|
||||
private function getNotificationsMessageParameters($commentId){
|
||||
return '{"commentId":"'.$commentId.'"}';
|
||||
}
|
||||
|
||||
public function sendDevisTalkNotifications(string $message,string $idNextcloud){
|
||||
if($idNextcloud === BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD || $idNextcloud === BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD){
|
||||
return true;
|
||||
|
||||
|
||||
public function sendDevisTalkNotifications(string $message,string $targetUser ,string $senderUser){
|
||||
$senderAndTargetIsTheSameUser = $targetUser == $senderUser;
|
||||
$senderUser = $senderAndTargetIsTheSameUser ? BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD : $senderUser;
|
||||
if( $targetUser === BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD && $senderUser === BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD){
|
||||
return;
|
||||
}
|
||||
$roomNames = $this->getUserDevisTalkRoomNames($idNextcloud);
|
||||
$roomNames = $this->getUserDevisTalkRoomNames($targetUser , $senderUser);
|
||||
$room = $this->talkDb->getDevisTalkRoomByNames($roomNames);
|
||||
if($room == null){
|
||||
$roomToken = $this->generateTalkRandomToken();
|
||||
$room = $this->talkDb->createDevisTalkRoomAndReturnDevisTalkRoom($idNextcloud,$roomToken);
|
||||
$initialMessage = $this->talkDb->setDevisTalkRoomInitialMessageAndReturnMessage($room['id'],$idNextcloud);
|
||||
$room = $this->talkDb->createDevisTalkRoomAndReturnDevisTalkRoom($targetUser,$senderUser, $roomToken);
|
||||
$initialMessage = $this->talkDb->setDevisTalkRoomInitialMessageAndReturnMessage($room['id'],$targetUser);
|
||||
}
|
||||
else{
|
||||
$roomToken = $room['token'];
|
||||
}
|
||||
$devisMessage = $this->talkDb->createDevisTalkRoomMessageAndReturnMessage($room['id'],$message);
|
||||
$this->talkDb->updateRoomLastMessage($room['id'],$devisMessage['id']);
|
||||
$this->talkDb->setAttendeeLastReadMessage($room['id'],$devisMessage['id'],BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD);
|
||||
$this->talkDb->setAttendeeLastReadMessage($room['id'],$devisMessage['id'],$senderUser);
|
||||
//send notifications
|
||||
$notificationsSubjectsParameters = $this->getNotificationsSubjectsParameters();
|
||||
$notificationsSubjectsParameters = $this->getNotificationsSubjectsParameters($senderUser);
|
||||
$notificationsMessageParameters = $this->getNotificationsMessageParameters($devisMessage['id']);
|
||||
$this->talkDb->sendAttendeeNotifications($idNextcloud,$roomToken,$notificationsSubjectsParameters,$notificationsMessageParameters);
|
||||
return true;
|
||||
$this->talkDb->sendAttendeeNotifications($targetUser,$roomToken,$notificationsSubjectsParameters,$notificationsMessageParameters);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$currentUserIsAdmin = (isset($_['groups']) && in_array('admin', $_['groups']));
|
||||
|
||||
$currentUserIsAdmin = (isset($_['groups']) && in_array(OCA\Gestion\Constants\UserGroupConstant::ADMIN_GROUP_NAME, $_['groups']));
|
||||
?>
|
||||
<ul class="app-navigation">
|
||||
<li class="app-navigation-entry"><span class="navmarg"></span><b><?php p($l->t('Manage')); ?></b></li>
|
||||
@ -24,22 +25,22 @@ $currentUserIsAdmin = (isset($_['groups']) && in_array('admin', $_['groups']));
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-toggle-pictures"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['lieu']); ?>">
|
||||
<?php p($l->t('Lieux')); ?>
|
||||
</a>
|
||||
<div class="app-navigation-entry-utils-submenu">
|
||||
<ul>
|
||||
<li class="app-navigation-entry-utils-counter">
|
||||
<span id="statslieu">
|
||||
<div class="loader"></div>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<?php if ($currentUserIsAdmin): ?>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-toggle-pictures"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['lieu']); ?>">
|
||||
<?php p($l->t('Lieux')); ?>
|
||||
</a>
|
||||
<div class="app-navigation-entry-utils-submenu">
|
||||
<ul>
|
||||
<li class="app-navigation-entry-utils-counter">
|
||||
<span id="statslieu">
|
||||
<div class="loader"></div>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-category-integration"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['produit']); ?>">
|
||||
@ -98,23 +99,21 @@ $currentUserIsAdmin = (isset($_['groups']) && in_array('admin', $_['groups']));
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-template-add"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['devis']); ?>">
|
||||
<?php p($l->t('Quotes')); ?>
|
||||
</a>
|
||||
<div class="app-navigation-entry-utils-submenu">
|
||||
<ul>
|
||||
<li class="app-navigation-entry-utils-counter">
|
||||
<span id="statsdevis">
|
||||
<div class="loader"></div>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<?php if ($currentUserIsAdmin): ?>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-template-add"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['devis']); ?>">
|
||||
<?php p($l->t('Quotes')); ?>
|
||||
</a>
|
||||
<div class="app-navigation-entry-utils-submenu">
|
||||
<ul>
|
||||
<li class="app-navigation-entry-utils-counter">
|
||||
<span id="statsdevis">
|
||||
<div class="loader"></div>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="app-navigation-entry-submenu">
|
||||
<span class="navmarg icon-toggle-pictures"></span>
|
||||
<a class="a-entry-submenu" href="<?php echo ($_['url']['facture']); ?>">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user