Merge branch 'h2f/feature/add-h2f-travel-button' into releases/release-h2f

This commit is contained in:
Narindra ezway 2025-04-09 15:15:27 +03:00
commit 263197e3e7
32 changed files with 39434 additions and 544 deletions

File diff suppressed because one or more lines are too long

View File

@ -1322,7 +1322,7 @@ function b(n) {
/******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template
/******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"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":"870a881bc445f47fd3e0","src_store_index_js":"2be5b7fbd170f137419b","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"8bfde7d389740c269cd6","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] + "";
/******/ 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":"870a881bc445f47fd3e0","src_store_index_js":"31fefc412047bbdd4252","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"8bfde7d389740c269cd6","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=0a024ce546d1ab440f8d
//# sourceMappingURL=calendar-dashboard.js.map?v=aea8ffae65a15787d0ed

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -8865,7 +8865,7 @@ window._registerCustomPickerElement = _;
/******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template
/******/ return "calendar-" + chunkId + ".js?v=" + {"vendors-node_modules_vue_dist_vue_runtime_esm_js":"7e3171593bdc0f62040b","vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981":"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":"870a881bc445f47fd3e0","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"8bfde7d389740c269cd6","src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254":"297f1f42ac74bad32e69","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","src_store_index_js":"2be5b7fbd170f137419b","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] + "";
/******/ 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":"870a881bc445f47fd3e0","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"8bfde7d389740c269cd6","src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254":"5b4aac3c02d6dc7c6d53","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","src_store_index_js":"31fefc412047bbdd4252","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=33465db446709d12e4ed
//# sourceMappingURL=calendar-reference.js.map?v=3e2e09c07a3f70a800c9

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -5956,6 +5956,10 @@ __webpack_require__.r(__webpack_exports__);
isPrivate: {
type: Boolean,
default: false
},
isReadOnly: {
type: Boolean,
default: false
}
},
computed: {
@ -5973,6 +5977,53 @@ __webpack_require__.r(__webpack_exports__);
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=script&lang=js":
/*!************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=script&lang=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_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/vue */ "./node_modules/@nextcloud/vue/dist/index.mjs");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
name: "PropertyReturnToSiege",
components: {
NcCheckboxRadioSwitch: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcCheckboxRadioSwitch
},
props: {
returnToSiege: {
type: Boolean,
default: false
},
isReadOnly: {
type: Boolean,
default: false
},
locationName: {
type: String,
default: ''
}
},
computed: {
getReturnToSiegeLabel() {
return this.returnToSiege ? this.$t('calendar', 'Retour vers H2F') : this.$t('calendar', 'Mettre en retour vers H2F');
}
},
methods: {
toggleReturnToSiege() {
const newState = !this.returnToSiege;
this.$emit('toggle-return-to-siege', newState);
}
}
});
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelect.vue?vue&type=script&lang=js":
/*!*****************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelect.vue?vue&type=script&lang=js ***!
@ -6662,6 +6713,7 @@ __webpack_require__.r(__webpack_exports__);
return;
}
this.$emit('update:value', selectedOption.value);
this.$emit('lieu:selected', selectedOption.label);
}
}
});
@ -8141,7 +8193,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var vue_material_design_icons_Download_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! vue-material-design-icons/Download.vue */ "./node_modules/vue-material-design-icons/Download.vue");
/* harmony import */ var vue_material_design_icons_ContentDuplicate_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! vue-material-design-icons/ContentDuplicate.vue */ "./node_modules/vue-material-design-icons/ContentDuplicate.vue");
/* harmony import */ var vue_material_design_icons_Pencil_vue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! vue-material-design-icons/Pencil.vue */ "./node_modules/vue-material-design-icons/Pencil.vue");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony import */ var _components_Editor_Properties_PropertySelect_vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelect.vue */ "./src/components/Editor/Properties/PropertySelect.vue");
/* harmony import */ var _components_Editor_Properties_PropertySelectAjax_vue__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectAjax.vue */ "./src/components/Editor/Properties/PropertySelectAjax.vue");
/* harmony import */ var _components_Editor_Properties_PropertySelectAjaxMultiple_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectAjaxMultiple.vue */ "./src/components/Editor/Properties/PropertySelectAjaxMultiple.vue");
@ -8150,6 +8202,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _components_Editor_Properties_PropertySelectArticle_vue__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectArticle.vue */ "./src/components/Editor/Properties/PropertySelectArticle.vue");
/* harmony import */ var _components_Editor_Properties_PropertySelectAbsenceType_vue__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectAbsenceType.vue */ "./src/components/Editor/Properties/PropertySelectAbsenceType.vue");
/* harmony import */ var _components_Editor_Properties_PropertyIsPrivate_vue__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../components/Editor/Properties/PropertyIsPrivate.vue */ "./src/components/Editor/Properties/PropertyIsPrivate.vue");
/* harmony import */ var _components_Editor_Properties_PropertyReturnToSiege_vue__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../components/Editor/Properties/PropertyReturnToSiege.vue */ "./src/components/Editor/Properties/PropertyReturnToSiege.vue");
@ -8206,7 +8260,8 @@ __webpack_require__.r(__webpack_exports__);
CalendarPickerHeader: _components_Editor_CalendarPickerHeader_vue__WEBPACK_IMPORTED_MODULE_9__["default"],
InviteesList: _components_Editor_Invitees_InviteesList_vue__WEBPACK_IMPORTED_MODULE_10__["default"],
NcButton: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcButton,
EditIcon: vue_material_design_icons_Pencil_vue__WEBPACK_IMPORTED_MODULE_16__["default"]
EditIcon: vue_material_design_icons_Pencil_vue__WEBPACK_IMPORTED_MODULE_16__["default"],
PropertyReturnToSiege: _components_Editor_Properties_PropertyReturnToSiege_vue__WEBPACK_IMPORTED_MODULE_25__["default"]
},
mixins: [_mixins_EditorMixin_js__WEBPACK_IMPORTED_MODULE_1__["default"]],
data() {
@ -8216,11 +8271,17 @@ __webpack_require__.r(__webpack_exports__);
hasDescription: false,
boundaryElement: null,
isVisible: true,
isViewing: true
isViewing: true,
locationNameSeleted: ''
};
},
methods: {
getlocationName(name) {
this.locationNameSeleted = name;
}
},
computed: {
...(0,vuex__WEBPACK_IMPORTED_MODULE_25__.mapState)({
...(0,vuex__WEBPACK_IMPORTED_MODULE_26__.mapState)({
hideEventExport: state => state.settings.hideEventExport,
widgetEventDetailsOpen: state => state.calendars.widgetEventDetailsOpen,
widgetEventDetails: state => state.calendars.widgetEventDetails,
@ -8247,6 +8308,9 @@ __webpack_require__.r(__webpack_exports__);
return t('calendar', 'Untitled event');
}
return this.title;
},
toggleReturToSiege() {
alert("Retour vers le siège H2F");
}
},
watch: {
@ -12908,6 +12972,41 @@ var staticRenderFns = [];
render._withStripped = true;
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=template&id=48dd8213&scoped=true":
/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=template&id=48dd8213&scoped=true ***!
\***********************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ render: () => (/* binding */ render),
/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns)
/* harmony export */ });
var render = function render() {
var _vm = this,
_c = _vm._self._c;
return !_vm.isReadOnly ? _c("div", {
staticClass: "property-title-time-picker"
}, [_c("div", {
staticClass: "property-title-time-picker__all-day"
}, [_c("NcCheckboxRadioSwitch", {
attrs: {
checked: _vm.returnToSiege,
type: "switch"
},
on: {
"update:checked": _vm.toggleReturnToSiege
}
}, [_vm._v("\n\t\t\t" + _vm._s(_vm.locationName ? " Retour vers H2F après " + _vm.locationName : "Retour vers H2F") + "\n\t\t")])], 1)]) : _c("div", [_vm._v("\n\t" + _vm._s(_vm.getReturnToSiegeLabel) + "\n")]);
};
var staticRenderFns = [];
render._withStripped = true;
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelect.vue?vue&type=template&id=04aa9fca&scoped=true":
@ -14572,9 +14671,24 @@ var render = function render() {
"linkify-links": true
},
on: {
"update:value": _vm.updateLocation
"update:value": _vm.updateLocation,
"lieu:selected": _vm.getlocationName
}
}), _vm._v(" "), _c("PropertySelectArticle", {
}), _vm._v(" "), _c("div", {
staticStyle: {
display: "flex",
"margin-left": "7%"
}
}, [_c("PropertyReturnToSiege", {
attrs: {
"is-read-only": _vm.isReadOnly,
"return-to-siege": _vm.returnToSiege,
"location-name": _vm.locationNameSeleted
},
on: {
"toggle-return-to-siege": _vm.toggleReturnToSiege
}
})], 1), _vm._v(" "), _c("PropertySelectArticle", {
attrs: {
"is-read-only": _vm.isReadOnlyOrViewing,
url: "/apps/gestion/ajaxGetProduits",
@ -17139,14 +17253,23 @@ __webpack_require__.r(__webpack_exports__);
var _this$calendarObjectI12, _this$calendarObjectI13;
return (_this$calendarObjectI12 = (_this$calendarObjectI13 = this.calendarObjectInstance) === null || _this$calendarObjectI13 === void 0 ? void 0 : _this$calendarObjectI13.isPrivate) !== null && _this$calendarObjectI12 !== void 0 ? _this$calendarObjectI12 : false;
},
/**
* Returns the returnToSiege property
*
* @return {boolean}
*/
returnToSiege() {
var _this$calendarObjectI14, _this$calendarObjectI15;
return (_this$calendarObjectI14 = (_this$calendarObjectI15 = this.calendarObjectInstance) === null || _this$calendarObjectI15 === void 0 ? void 0 : _this$calendarObjectI15.returnToSiege) !== null && _this$calendarObjectI14 !== void 0 ? _this$calendarObjectI14 : false;
},
/**
* Returns the emailId property
*
* @return {string|null}
*/
emailId() {
var _this$calendarObjectI14, _this$calendarObjectI15;
return (_this$calendarObjectI14 = (_this$calendarObjectI15 = this.calendarObjectInstance) === null || _this$calendarObjectI15 === void 0 ? void 0 : _this$calendarObjectI15.emailId) !== null && _this$calendarObjectI14 !== void 0 ? _this$calendarObjectI14 : null;
var _this$calendarObjectI16, _this$calendarObjectI17;
return (_this$calendarObjectI16 = (_this$calendarObjectI17 = this.calendarObjectInstance) === null || _this$calendarObjectI17 === void 0 ? void 0 : _this$calendarObjectI17.emailId) !== null && _this$calendarObjectI16 !== void 0 ? _this$calendarObjectI16 : null;
},
/**
* Returns the description or null if the event is still loading
@ -17154,8 +17277,8 @@ __webpack_require__.r(__webpack_exports__);
* @return {string|null}
*/
description() {
var _this$calendarObjectI16, _this$calendarObjectI17;
return (_this$calendarObjectI16 = (_this$calendarObjectI17 = this.calendarObjectInstance) === null || _this$calendarObjectI17 === void 0 ? void 0 : _this$calendarObjectI17.description) !== null && _this$calendarObjectI16 !== void 0 ? _this$calendarObjectI16 : null;
var _this$calendarObjectI18, _this$calendarObjectI19;
return (_this$calendarObjectI18 = (_this$calendarObjectI19 = this.calendarObjectInstance) === null || _this$calendarObjectI19 === void 0 ? void 0 : _this$calendarObjectI19.description) !== null && _this$calendarObjectI18 !== void 0 ? _this$calendarObjectI18 : null;
},
/**
* Returns the start-date (without timezone) or null if the event is still loading
@ -17163,8 +17286,8 @@ __webpack_require__.r(__webpack_exports__);
* @return {Date|null}
*/
startDate() {
var _this$calendarObjectI18, _this$calendarObjectI19;
return (_this$calendarObjectI18 = (_this$calendarObjectI19 = this.calendarObjectInstance) === null || _this$calendarObjectI19 === void 0 ? void 0 : _this$calendarObjectI19.startDate) !== null && _this$calendarObjectI18 !== void 0 ? _this$calendarObjectI18 : null;
var _this$calendarObjectI20, _this$calendarObjectI21;
return (_this$calendarObjectI20 = (_this$calendarObjectI21 = this.calendarObjectInstance) === null || _this$calendarObjectI21 === void 0 ? void 0 : _this$calendarObjectI21.startDate) !== null && _this$calendarObjectI20 !== void 0 ? _this$calendarObjectI20 : null;
},
/**
* Returns the timezone of the event's start-date or null if the event is still loading
@ -17172,8 +17295,8 @@ __webpack_require__.r(__webpack_exports__);
* @return {string|null}
*/
startTimezone() {
var _this$calendarObjectI20, _this$calendarObjectI21;
return (_this$calendarObjectI20 = (_this$calendarObjectI21 = this.calendarObjectInstance) === null || _this$calendarObjectI21 === void 0 ? void 0 : _this$calendarObjectI21.startTimezoneId) !== null && _this$calendarObjectI20 !== void 0 ? _this$calendarObjectI20 : null;
var _this$calendarObjectI22, _this$calendarObjectI23;
return (_this$calendarObjectI22 = (_this$calendarObjectI23 = this.calendarObjectInstance) === null || _this$calendarObjectI23 === void 0 ? void 0 : _this$calendarObjectI23.startTimezoneId) !== null && _this$calendarObjectI22 !== void 0 ? _this$calendarObjectI22 : null;
},
/**
* Returns the end-date (without timezone) or null if the event is still loading
@ -17181,8 +17304,8 @@ __webpack_require__.r(__webpack_exports__);
* @return {Date|null}
*/
endDate() {
var _this$calendarObjectI22, _this$calendarObjectI23;
return (_this$calendarObjectI22 = (_this$calendarObjectI23 = this.calendarObjectInstance) === null || _this$calendarObjectI23 === void 0 ? void 0 : _this$calendarObjectI23.endDate) !== null && _this$calendarObjectI22 !== void 0 ? _this$calendarObjectI22 : null;
var _this$calendarObjectI24, _this$calendarObjectI25;
return (_this$calendarObjectI24 = (_this$calendarObjectI25 = this.calendarObjectInstance) === null || _this$calendarObjectI25 === void 0 ? void 0 : _this$calendarObjectI25.endDate) !== null && _this$calendarObjectI24 !== void 0 ? _this$calendarObjectI24 : null;
},
/**
* Returns the timezone of the event's end-date or null if the event is still loading
@ -17190,8 +17313,8 @@ __webpack_require__.r(__webpack_exports__);
* @return {string|null}
*/
endTimezone() {
var _this$calendarObjectI24, _this$calendarObjectI25;
return (_this$calendarObjectI24 = (_this$calendarObjectI25 = this.calendarObjectInstance) === null || _this$calendarObjectI25 === void 0 ? void 0 : _this$calendarObjectI25.endTimezoneId) !== null && _this$calendarObjectI24 !== void 0 ? _this$calendarObjectI24 : null;
var _this$calendarObjectI26, _this$calendarObjectI27;
return (_this$calendarObjectI26 = (_this$calendarObjectI27 = this.calendarObjectInstance) === null || _this$calendarObjectI27 === void 0 ? void 0 : _this$calendarObjectI27.endTimezoneId) !== null && _this$calendarObjectI26 !== void 0 ? _this$calendarObjectI26 : null;
},
/**
* Returns whether or not the event is all-day or null if the event is still loading
@ -17199,8 +17322,8 @@ __webpack_require__.r(__webpack_exports__);
* @return {boolean}
*/
isAllDay() {
var _this$calendarObjectI26, _this$calendarObjectI27;
return (_this$calendarObjectI26 = (_this$calendarObjectI27 = this.calendarObjectInstance) === null || _this$calendarObjectI27 === void 0 ? void 0 : _this$calendarObjectI27.isAllDay) !== null && _this$calendarObjectI26 !== void 0 ? _this$calendarObjectI26 : false;
var _this$calendarObjectI28, _this$calendarObjectI29;
return (_this$calendarObjectI28 = (_this$calendarObjectI29 = this.calendarObjectInstance) === null || _this$calendarObjectI29 === void 0 ? void 0 : _this$calendarObjectI29.isAllDay) !== null && _this$calendarObjectI28 !== void 0 ? _this$calendarObjectI28 : false;
},
/**
* Returns whether or not the user is allowed to modify the all-day setting
@ -17208,8 +17331,8 @@ __webpack_require__.r(__webpack_exports__);
* @return {boolean}
*/
canModifyAllDay() {
var _this$calendarObjectI28, _this$calendarObjectI29;
return (_this$calendarObjectI28 = (_this$calendarObjectI29 = this.calendarObjectInstance) === null || _this$calendarObjectI29 === void 0 ? void 0 : _this$calendarObjectI29.canModifyAllDay) !== null && _this$calendarObjectI28 !== void 0 ? _this$calendarObjectI28 : false;
var _this$calendarObjectI30, _this$calendarObjectI31;
return (_this$calendarObjectI30 = (_this$calendarObjectI31 = this.calendarObjectInstance) === null || _this$calendarObjectI31 === void 0 ? void 0 : _this$calendarObjectI31.canModifyAllDay) !== null && _this$calendarObjectI30 !== void 0 ? _this$calendarObjectI30 : false;
},
/**
* Returns the color the illustration should be colored in
@ -17241,8 +17364,8 @@ __webpack_require__.r(__webpack_exports__);
* @return {null | string}
*/
color() {
var _this$calendarObjectI30, _this$calendarObjectI31;
return (_this$calendarObjectI30 = (_this$calendarObjectI31 = this.calendarObjectInstance) === null || _this$calendarObjectI31 === void 0 ? void 0 : _this$calendarObjectI31.customColor) !== null && _this$calendarObjectI30 !== void 0 ? _this$calendarObjectI30 : null;
var _this$calendarObjectI32, _this$calendarObjectI33;
return (_this$calendarObjectI32 = (_this$calendarObjectI33 = this.calendarObjectInstance) === null || _this$calendarObjectI33 === void 0 ? void 0 : _this$calendarObjectI33.customColor) !== null && _this$calendarObjectI32 !== void 0 ? _this$calendarObjectI32 : null;
},
/**
* Returns whether or not to display save buttons
@ -17418,8 +17541,8 @@ __webpack_require__.r(__webpack_exports__);
* @return {string|null}
*/
absenceType() {
var _this$calendarObjectI32, _this$calendarObjectI33;
return (_this$calendarObjectI32 = (_this$calendarObjectI33 = this.calendarObjectInstance) === null || _this$calendarObjectI33 === void 0 ? void 0 : _this$calendarObjectI33.absenceType) !== null && _this$calendarObjectI32 !== void 0 ? _this$calendarObjectI32 : '';
var _this$calendarObjectI34, _this$calendarObjectI35;
return (_this$calendarObjectI34 = (_this$calendarObjectI35 = this.calendarObjectInstance) === null || _this$calendarObjectI35 === void 0 ? void 0 : _this$calendarObjectI35.absenceType) !== null && _this$calendarObjectI34 !== void 0 ? _this$calendarObjectI34 : '';
}
},
methods: {
@ -17736,6 +17859,15 @@ __webpack_require__.r(__webpack_exports__);
isPrivate
});
},
/**
* Toggles the event to return to siege
*/
toggleReturnToSiege(returnToSiege) {
this.$store.commit('toggleReturnToSiege', {
calendarObjectInstance: this.calendarObjectInstance,
returnToSiege
});
},
/**
* Toggles the event to private
*/
@ -21117,6 +21249,39 @@ ___CSS_LOADER_EXPORT___.push([module.id, `
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css":
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css ***!
\**************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((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 _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/css-loader/dist/runtime/noSourceMaps.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
// Imports
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
// Module
___CSS_LOADER_EXPORT___.push([module.id, `
.checkbox-container[data-v-48dd8213] {
display: flex;
align-items: center;
gap: 8px;
}
`, ""]);
// Exports
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
/***/ }),
/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/AppNavigation/AppNavigationHeader/AppNavigationHeaderNewEvent.vue?vue&type=style&index=0&id=673844b5&scoped=true&lang=css":
@ -21227,6 +21392,61 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyIsPrivate_vue_vue_type_style_index_0_id_fb6819ac_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyIsPrivate_vue_vue_type_style_index_0_id_fb6819ac_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyIsPrivate_vue_vue_type_style_index_0_id_fb6819ac_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
/***/ }),
/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css":
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__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 _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_style_index_0_id_48dd8213_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css");
var options = {};
options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());
options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());
options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head");
options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());
options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());
var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_style_index_0_id_48dd8213_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_6__["default"], options);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_style_index_0_id_48dd8213_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_style_index_0_id_48dd8213_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_style_index_0_id_48dd8213_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
/***/ }),
/***/ "./src/components/AppNavigation/AppNavigationHeader.vue":
@ -23315,6 +23535,47 @@ component.options.__file = "src/components/Editor/Properties/PropertyIsPrivate.v
/***/ }),
/***/ "./src/components/Editor/Properties/PropertyReturnToSiege.vue":
/*!********************************************************************!*\
!*** ./src/components/Editor/Properties/PropertyReturnToSiege.vue ***!
\********************************************************************/
/***/ ((__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 _PropertyReturnToSiege_vue_vue_type_template_id_48dd8213_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PropertyReturnToSiege.vue?vue&type=template&id=48dd8213&scoped=true */ "./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=template&id=48dd8213&scoped=true");
/* harmony import */ var _PropertyReturnToSiege_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PropertyReturnToSiege.vue?vue&type=script&lang=js */ "./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=script&lang=js");
/* harmony import */ var _PropertyReturnToSiege_vue_vue_type_style_index_0_id_48dd8213_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css */ "./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css");
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
;
/* normalize component */
var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_PropertyReturnToSiege_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"],
_PropertyReturnToSiege_vue_vue_type_template_id_48dd8213_scoped_true__WEBPACK_IMPORTED_MODULE_0__.render,
_PropertyReturnToSiege_vue_vue_type_template_id_48dd8213_scoped_true__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
null,
"48dd8213",
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "src/components/Editor/Properties/PropertyReturnToSiege.vue"
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);
/***/ }),
/***/ "./src/components/Editor/Properties/PropertySelect.vue":
/*!*************************************************************!*\
!*** ./src/components/Editor/Properties/PropertySelect.vue ***!
@ -24986,6 +25247,22 @@ __webpack_require__.r(__webpack_exports__);
/***/ }),
/***/ "./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=script&lang=js":
/*!********************************************************************************************!*\
!*** ./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=script&lang=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 _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyReturnToSiege.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=script&lang=js");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]);
/***/ }),
/***/ "./src/components/Editor/Properties/PropertySelect.vue?vue&type=script&lang=js":
/*!*************************************************************************************!*\
!*** ./src/components/Editor/Properties/PropertySelect.vue?vue&type=script&lang=js ***!
@ -26204,6 +26481,23 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyIsPrivate_vue_vue_type_template_id_fb6819ac_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyIsPrivate.vue?vue&type=template&id=fb6819ac&scoped=true */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=template&id=fb6819ac&scoped=true");
/***/ }),
/***/ "./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=template&id=48dd8213&scoped=true":
/*!**************************************************************************************************************!*\
!*** ./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=template&id=48dd8213&scoped=true ***!
\**************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_template_id_48dd8213_scoped_true__WEBPACK_IMPORTED_MODULE_0__.render),
/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_template_id_48dd8213_scoped_true__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)
/* harmony export */ });
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_template_id_48dd8213_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyReturnToSiege.vue?vue&type=template&id=48dd8213&scoped=true */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=template&id=48dd8213&scoped=true");
/***/ }),
/***/ "./src/components/Editor/Properties/PropertySelect.vue?vue&type=template&id=04aa9fca&scoped=true":
@ -26587,6 +26881,19 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyIsPrivate_vue_vue_type_style_index_0_id_fb6819ac_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&scoped=true&lang=css */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&scoped=true&lang=css");
/***/ }),
/***/ "./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css":
/*!****************************************************************************************************************************!*\
!*** ./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css ***!
\****************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyReturnToSiege_vue_vue_type_style_index_0_id_48dd8213_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertyReturnToSiege.vue?vue&type=style&index=0&id=48dd8213&scoped=true&lang=css");
/***/ }),
/***/ "./src/components/AppNavigation/AppNavigationHeader/AppNavigationHeaderDatePicker.vue?vue&type=style&index=0&id=e8250812&lang=scss":
@ -28018,4 +28325,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=297f1f42ac74bad32e69
//# sourceMappingURL=calendar-src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254.js.map?v=5b4aac3c02d6dc7c6d53

View File

@ -24,6 +24,10 @@
type: Boolean,
default: false
},
isReadOnly: {
type: Boolean,
default: false
}
},
computed: {
getIsPrivateLabel() {

View File

@ -0,0 +1,57 @@
<template>
<div v-if="!isReadOnly" class="property-title-time-picker">
<div class="property-title-time-picker__all-day">
<NcCheckboxRadioSwitch :checked="returnToSiege" type="switch"
@update:checked="toggleReturnToSiege">
{{ locationName ? (' Retour vers H2F après ' + locationName ) : 'Retour vers H2F' }}
</NcCheckboxRadioSwitch>
</div>
</div>
<div v-else>
{{ getReturnToSiegeLabel }}
</div>
</template>
<script>
import { NcCheckboxRadioSwitch } from '@nextcloud/vue'
export default {
name: "PropertyReturnToSiege",
components: {
NcCheckboxRadioSwitch,
},
props: {
returnToSiege: {
type: Boolean,
default: false
},
isReadOnly: {
type: Boolean,
default: false
},
locationName: {
type: String,
default: ''
}
},
computed: {
getReturnToSiegeLabel() {
return this.returnToSiege ? this.$t('calendar', 'Retour vers H2F') : this.$t('calendar', 'Mettre en retour vers H2F');
}
},
methods: {
toggleReturnToSiege() {
const newState = !this.returnToSiege;
this.$emit('toggle-return-to-siege',newState)
},
}
};
</script>
<style scoped>
.checkbox-container {
display: flex;
align-items: center;
gap: 8px;
}
</style>

View File

@ -109,6 +109,7 @@ export default {
}
this.$emit('update:value', selectedOption.value)
this.$emit('lieu:selected', selectedOption.label)
},
},
}

View File

@ -137,6 +137,15 @@ export default {
return this.calendarObjectInstance?.isPrivate ?? false
},
/**
* Returns the returnToSiege property
*
* @return {boolean}
*/
returnToSiege() {
return this.calendarObjectInstance?.returnToSiege ?? false
},
/**
* Returns the emailId property
*
@ -756,6 +765,15 @@ export default {
isPrivate
})
},
/**
* Toggles the event to return to siege
*/
toggleReturnToSiege(returnToSiege) {
this.$store.commit('toggleReturnToSiege', {
calendarObjectInstance: this.calendarObjectInstance,
returnToSiege
})
},
/**
* Toggles the event to private
*/

View File

@ -64,6 +64,8 @@ const getDefaultEventObject = (props = {}) => Object.assign({}, {
absenceType : null,
//Private
isPrivate: false,
// Whether or not the event is return to siege
returnToSiege: false,
//comment of the event
comment : null,
// description of the event
@ -113,6 +115,7 @@ const mapEventComponentToEventObject = (eventComponent) => {
title: eventComponent.title,
isAllDay: eventComponent.isAllDay(),
isPrivate: false,
returnToSiege: false,
canModifyAllDay: eventComponent.canModifyAllDay(),
location: eventComponent.location,
client : "CLIENT",
@ -212,6 +215,9 @@ const mapEventComponentToEventObject = (eventComponent) => {
if(eventComponent.hasProperty('ISPRIVATE')){
eventObject.isPrivate = eventComponent.getFirstPropertyFirstValue('ISPRIVATE') === '1' ? true : false;
}
if(eventComponent.hasProperty('RETURNTOSIEGE')){
eventObject.returnToSiege = eventComponent.getFirstPropertyFirstValue('RETURNTOSIEGE') === '1' ? true : false;
}
if(eventComponent.hasProperty('EMBALMER')){
eventObject.embalmer = eventComponent.getFirstPropertyFirstValue('EMBALMER');
@ -244,6 +250,7 @@ const copyCalendarObjectInstanceIntoEventComponent = (eventObject, eventComponen
eventComponent.client = eventObject.client
eventComponent.embalmer = eventObject.embalmer
eventComponent.isPrivate = eventObject.isPrivate
eventComponent.returnToSiege = eventObject.returnToSiege
eventComponent.comment = eventObject.comment
eventComponent.emailId = eventObject.emailId
eventComponent.description = eventObject.description

View File

@ -298,6 +298,18 @@ const mutations = {
calendarObjectInstance.isPrivate = isPrivate
},
/**
* Is private
*
* @param {object} state The Vuex state
* @param {object} data The destructuring object
* @param {object} data.calendarObjectInstance The calendarObjectInstance object
*/
toggleReturnToSiege(state, { calendarObjectInstance, returnToSiege }) {
calendarObjectInstance.eventComponent.returnToSiege = returnToSiege
calendarObjectInstance.returnToSiege = returnToSiege
},
/**
*Email id
*
@ -1771,6 +1783,7 @@ const actions = {
let additionalFieldWasUpdated =
eventComponent.client != null ||
eventComponent.isPrivate != null ||
eventComponent.returnToSiege != null ||
eventComponent.absenceType ||
eventComponent.emailId ||
eventComponent.comment != null ;

View File

@ -301,6 +301,20 @@ const actions = {
icsValue = setCustomKeyValuesArrayToIcsAndReturnIcs(icsValue,customKeyValue);
}
}
if(eventComponent.returnToSiege != null && eventComponent.returnToSiege != ''){
let returnToSiegeValue = eventComponent.returnToSiege;
let key = "RETURNTOSIEGE:"+returnToSiegeValue;
let regex = /RETURNTOSIEGE:\d+/;
if(regex.test(icsValue)){
icsValue = icsValue.replace(regex, key);
}
else{
const customKeyValue = {
"RETURNTOSIEGE": returnToSiegeValue
};
icsValue = setCustomKeyValuesArrayToIcsAndReturnIcs(icsValue,customKeyValue);
}
}
}
calendarObject.dav.data = icsValue;
@ -321,6 +335,7 @@ const actions = {
"CLIENT": eventComponent.client,
"EMBALMER": eventComponent.embalmer ,
"ISPRIVATE": eventComponent.isPrivate ? "1" : "0",
"RETURNTOSIEGE": eventComponent.returnToSiege ? "1" : "0",
"COMMENT": eventComponent.comment,
"EMAILID": eventComponent.emailId,
"ABSENCETYPE": eventComponent.absenceType ?? ''

View File

@ -140,6 +140,7 @@
:linkify-links="true"
@update:value="updateLocation" />
<NcCheckboxRadioSwitch v-model="sharingEnabled" type="switch">Enable sharing</NcCheckboxRadioSwitch>
<PropertySelectArticle
class="property-description"
url="/apps/gestion/ajaxGetProduits"

View File

@ -157,7 +157,17 @@
:prop-model="rfcProps.locations"
:value="location"
:linkify-links="true"
@update:value="updateLocation" />
@update:value="updateLocation"
@lieu:selected="getlocationName"
/>
<div style='display:flex ;margin-left: 7%;'>
<PropertyReturnToSiege
:is-read-only="isReadOnly"
:return-to-siege="returnToSiege"
:location-name="locationNameSeleted"
@toggle-return-to-siege="toggleReturnToSiege"/>
</div>
<PropertySelectArticle
:is-read-only="isReadOnlyOrViewing"
@ -226,6 +236,7 @@ import {
NcEmptyContent as EmptyContent,
NcPopover as Popover,
NcButton,
} from '@nextcloud/vue'
import EditorMixin from '../mixins/EditorMixin.js'
import PropertyTitle from '../components/Editor/Properties/PropertyTitle.vue'
@ -256,6 +267,7 @@ import PropertySelectClient from "../components/Editor/Properties/PropertySelect
import PropertySelectArticle from "../components/Editor/Properties/PropertySelectArticle.vue";
import PropertySelectAbsenceType from "../components/Editor/Properties/PropertySelectAbsenceType.vue";
import PropertyIsPrivate from "../components/Editor/Properties/PropertyIsPrivate.vue";
import PropertyReturnToSiege from "../components/Editor/Properties/PropertyReturnToSiege.vue";
export default {
name: 'EditSimple',
@ -288,6 +300,8 @@ export default {
InviteesList,
NcButton,
EditIcon,
PropertyReturnToSiege,
},
mixins: [
EditorMixin,
@ -300,8 +314,14 @@ export default {
boundaryElement: null,
isVisible: true,
isViewing: true,
locationNameSeleted: '',
}
},
methods: {
getlocationName(name) {
this.locationNameSeleted = name;
},
},
computed: {
...mapState({
hideEventExport: (state) => state.settings.hideEventExport,
@ -335,6 +355,9 @@ export default {
return this.title
},
toggleReturToSiege() {
alert("Retour vers le siège H2F");
},
},
watch: {
$route(to, from) {

View File

@ -6,6 +6,8 @@ abstract class VCalendarPropertyConstant
{
const PROPERTY_IS_LEAVE = "ISPRIVATE";
const ABSENCE_TYPE = "ABSENCETYPE";
const RETURN_TO_SIEGE = "RETURNTOSIEGE";
const ABSENCE_TYPES = [
AbsenceTypeConstant::LEAVE,

View File

@ -226,10 +226,29 @@ class Bdd {
LEFT JOIN ".$this->tableprefix."client as client_devis on devis.id_client = client_devis.id
LEFT JOIN ".$this->tableprefix."client as client on ligne_trajet.id_client = client.id
LEFT JOIN ".$this->tableprefix."defunt as defunt on devis.id_defunt = defunt.id
WHERE ligne_trajet.id_trajet = ? ORDER BY ligne_trajet.rang ASC;";
WHERE ligne_trajet.id_trajet = ? ORDER BY ligne_trajet.date ASC , ligne_trajet.rang ASC;";
return $this->execSQL($sql, array($numtrajet));
}
public function getTrajetsDetailsByDateAndSource($numtrajet,$date,$source=null){
$sql = "SELECT ligne_trajet.id, ligne_trajet.rang, ligne_trajet.id_nextcloud, ligne_trajet.date, ligne_trajet.user_id, ligne_trajet.commentaire, ligne_trajet.source,
lieu.id as lid, lieu.nom as lieu, lieu.latitude as latitude, lieu.longitude as longitude,
client.nom as cnom, client.id as cid, client.prenom as cprenoms
FROM (".$this->tableprefix."ligne_trajet as ligne_trajet
LEFT JOIN ".$this->tableprefix."lieu as lieu on ligne_trajet.id_lieu = lieu.id
LEFT JOIN ".$this->tableprefix."client as client on ligne_trajet.id_client = client.id)
WHERE ligne_trajet.id_trajet = ? AND
ligne_trajet.date = ?";
$conditions = [$numtrajet,$date];
if($source != null){
$sql .= " AND ligne_trajet.source = ?";
$conditions[] = $source;
}
$sql .= " ORDER BY ligne_trajet.rang ASC;";
return $this->execSQL($sql, $conditions);
}
public function getTrajetsdetails_orderByDate($numtrajet, $idNextcloud) {
$sql = "SELECT ligne_trajet.id, ligne_trajet.rang, ligne_trajet.id_nextcloud, ligne_trajet.date, ligne_trajet.user_id, ligne_trajet.commentaire, ligne_trajet.source,
lieu.id as lid, lieu.nom as lieu, lieu.latitude as latitude, lieu.longitude as longitude,
@ -586,7 +605,7 @@ class Bdd {
public function getOneDevis($numdevis,$idNextcloud){
$sql = "SELECT ".$this->tableprefix."devis.id as devisid, ".$this->tableprefix."devis.version, ".$this->tableprefix."devis.comment, ".$this->tableprefix."devis.date, num,"
.$this->tableprefix."devis.id_nextcloud as didnextcloud,".$this->tableprefix."devis.id_client, id_lieu, id_thanato,"
.$this->tableprefix."devis.id_nextcloud as didnextcloud,".$this->tableprefix."devis.id_client, id_lieu, id_thanato, return_to_siege, "
.$this->tableprefix."defunt.id as id_defunt, ".$this->tableprefix."defunt.nom as nom_defunt,"
.$this->tableprefix."client.id as clientid, ".$this->tableprefix."client.nom, "
.$this->tableprefix."client.prenom, legal_one, entreprise, telephone, mail, ".$this->tableprefix."client.adresse,"
@ -825,7 +844,7 @@ class Bdd {
return true;
}
public function insertTrajetdetails_h2f($numtrajet, $date, $idNextcloud){
public function insertTrajetDetails_h2f($numtrajet, $date, $idNextcloud ,$devisId = 0 ){
$last=0;
$last = $this->lastinsertid("ligne_trajet", $idNextcloud) + 1;
@ -851,8 +870,8 @@ class Bdd {
`source`,
`user_id`
)
VALUES (?,?,0,?,?,?,'','h2f',?);";
$this->execSQLNoData($sql, array($idNextcloud,$date,$id_h2f,$numtrajet,$rang+1,$last));
VALUES (?,?,?,?,?,?,'','h2f',?);";
$this->execSQLNoData($sql, array($idNextcloud,$date,$devisId , $id_h2f,$numtrajet,$rang+1,$last));
return true;
}
@ -1134,7 +1153,7 @@ class Bdd {
$this->range_ligneTrajet($ligne_trajet->id_trajet, $idNextcloud);
$this->calculer_distance_trajet($ligne_trajet->id_trajet, $idNextcloud);
} else {
if($updated_devis->id_lieu!=0) {
if($updated_devis->id_lieu != 0) {
// ajouter le devis dans trajet s'il n'existe pas encore
$this->generate_ligneTrajet($updated_devis, $idNextcloud);
$ligne_trajet = json_decode($this->getOneTrajetdetails_byIdDevis($updated_devis->devisid, $idNextcloud))[0];
@ -1274,58 +1293,188 @@ class Bdd {
$trajet = json_decode($this->getOneTrajet_byThanatoMonthYear($devis->id_thanato, $date_devis_split[1], $date_devis_split[0]))[0];
}
$this->insertTrajetdetails_byDevis($trajet->id, $devis, $idNextcloud);
if($devis->return_to_siege){
$hasDepartH2f = $this->check_has_depart_h2f($devis->date,$trajet->id);
if(!$hasDepartH2f) {
$this->insertTrajetDetails_h2f($trajet->id, $devis->date, $idNextcloud);
}
$hasAlreadyReturnToSiege = $this->check_if_return_to_siege_already_exist( $devis->date , $trajet->id , $devis->devisid);
if(!$hasAlreadyReturnToSiege) {
$this->insertTrajetDetails_h2f($trajet->id, $devis->date, $idNextcloud ,$devis->devisid);
}
}
}
public function check_if_return_to_siege_already_exist($date,$trajetId ,$devisId) {
$sql = "SELECT COUNT(*) AS LIGNE_COUNT FROM `".$this->tableprefix."ligne_trajet` WHERE id_trajet = ? AND date = ? AND id_devis = ? AND source = ?;";
$response = $this->execSQL($sql, array($trajetId,$date, $devisId, 'h2f'));
$response = json_decode($response)[0];
if($response->LIGNE_COUNT > 0) {
return true;
} else {
return false;
}
}
public function check_has_depart_h2f($date,$trajetId) {
$sql = "SELECT COUNT(*) AS LIGNE_COUNT FROM `".$this->tableprefix."ligne_trajet` WHERE id_trajet = ? AND date = ? AND source = ?;";
$response = $this->execSQL($sql, array($trajetId,$date,'h2f'));
$response = json_decode($response)[0];
if($response->LIGNE_COUNT > 0 ) {
return true;
} else {
return false;
}
}
public function insertTrajetGoHome($date,$trajetId , $idNextcloud) {
/** Ceci est un nouveau concept. Après tout ce temps, nous devons préciser la date d'application de la nouvelle demande. pour la go to thanatho */
$dateTime = new DateTime($date);
$dateTimeForFunctionalityGoToHome = new DateTime('2025-04-07');
if ( $dateTime <= $dateTimeForFunctionalityGoToHome) {
return;
}
$last = 0;
$last = $this->lastinsertid("ligne_trajet", $idNextcloud) + 1;
$rang = $this->get_last_rang_trajetdetails($trajetId, $idNextcloud);
$sqlLocation = "SELECT * FROM ".$this->tableprefix."lieu WHERE LOWER(".$this->tableprefix."lieu.nom) LIKE ?;";
$responseLocation = $this->execSQL($sqlLocation, array(strtolower($idNextcloud)));
$responseLocation = json_decode($responseLocation)[0];
$lieuId = $responseLocation != null ? $responseLocation->id : 0;
$sql = "INSERT INTO `".$this->tableprefix."ligne_trajet` ( `id_nextcloud`,
`date`,
`id_devis`,
`id_client`,
`id_lieu`,
`id_trajet`,
`rang`,
`commentaire`,
`source`,
`user_id`
)
VALUES (?,?,?,?,?,?,?,'',?,?);";
$this->execSQLNoData($sql, array($idNextcloud,$date,0 ,0,$lieuId,$trajetId,$rang+1,$idNextcloud,$last));
}
public function range_ligneTrajetV2($id_trajet, $idNextcloud) {
}
/**
* ranger les lignes de trajet dans un trajet par date et par rang
* inserer ligne siege au debut et fin de chaque journee s'il n'existe pas
*/
public function range_ligneTrajet($id_trajet, $idNextcloud) {
$lignes = json_decode($this->getTrajetsdetails_orderByDate($id_trajet, $idNextcloud));
$nb_jour = 0;
$datesLignes = [];
$lastRangOfTrajetPossible = 200;
if(sizeof($lignes)>0) {
$nb_jour = 1;
$dates = array(0=>$lignes[0]->date);
$date_temp = $lignes[0]->date;
foreach ($lignes as $key => $ligne) {
if(strcmp($date_temp, $ligne->date)!=0) {
$date_temp = $ligne->date;
array_push($dates, $date_temp);
$nb_jour++;
}
$datesLignes[$ligne->date][] = $ligne;
}
// on verifie si le nombre de ligne h2f correspond à 2*nb_jour (debut et fin de journee)
$reste = (2*$nb_jour) - (sizeof(array_filter($lignes, function($ligne) {return strcmp($ligne->source,'h2f')==0;})));
while ($reste>0) {
$this->insertTrajetdetails_h2f($id_trajet, $lignes[0]->date, $idNextcloud);
foreach($datesLignes as $date => $currentDateLignes){
$dateTime = new DateTime($date);
$dateTimeForFunctionalityGoToHome = new DateTime('2025-04-07');
if ( $dateTime <= $dateTimeForFunctionalityGoToHome) {
$reste = 2 - (sizeof(array_filter($currentDateLignes, function($ligne) {return strcmp($ligne->source,'h2f')==0;})));
while ($reste > 0) {
$this->insertTrajetDetails_h2f($id_trajet, $date, $idNextcloud);
$reste--;
}
$current_lines = json_decode($this->getTrajetsdetails_orderByDate($id_trajet, $idNextcloud));
// ici le nombre de ligne h2f est egale au nb_jour*2
$array_siege = array();
foreach ($current_lines as $key => $ligne) {
if(strcmp($ligne->source,'h2f')==0) array_push($array_siege, $ligne);
$currentDateLignesUpdated = json_decode($this->getTrajetsDetailsByDateAndSource($id_trajet, $date, 'h2f'));
$ordered_lines = json_decode($this->getTrajetsDetailsByDateAndSource($id_trajet, $date));
for ($i= 0; $i < 2; $i++) {
if($i== 0) {
$this->update_ligneTrajet('ligne_trajet', 'rang', 0, $currentDateLignesUpdated[$i]->id, $idNextcloud);
} else {
$this->update_ligneTrajet('ligne_trajet', 'rang', $lastRangOfTrajetPossible, $currentDateLignesUpdated[$i]->id, $idNextcloud);
}
}
$j=0;
for ($i=0; $i < sizeof($dates); $i++) {
$this->update_ligneTrajet('ligne_trajet', 'rang', 0, $array_siege[$j]->id, $idNextcloud);
$this->update_ligneTrajet('ligne_trajet', 'date', $dates[$i], $array_siege[$j]->id, $idNextcloud);
$this->update_ligneTrajet('ligne_trajet', 'rang', sizeof($current_lines)+1, $array_siege[$j+1]->id, $idNextcloud);
$this->update_ligneTrajet('ligne_trajet', 'date', $dates[$i], $array_siege[$j+1]->id, $idNextcloud);
$j+=2;
}else{
//Nouvelle fonctionnalité
$resteH2f = 1 - (sizeof(array_filter($currentDateLignes, function($ligne) {return strcmp($ligne->source,'h2f')==0;})));
if ($resteH2f > 0 ) {
$this->insertTrajetDetails_h2f($id_trajet, $date, $idNextcloud);
}
$ordered_lines = json_decode($this->getTrajetsdetails_orderByDate($id_trajet, $idNextcloud));
$resteGoHome = 1 - (sizeof(array_filter($currentDateLignes, function($ligne ) use ($idNextcloud) {return strcmp($ligne->source, $idNextcloud)==0;})));
if ($resteGoHome > 0 ) {
$this->insertTrajetGoHome($date ,$id_trajet,$idNextcloud);
}
$h2fLinge = json_decode($this->getTrajetsDetailsByDateAndSource($id_trajet, $date, 'h2f'));
$ligneGoHome = json_decode($this->getTrajetsDetailsByDateAndSource($id_trajet, $date, $idNextcloud));
$ordered_lines = json_decode($this->getTrajetsDetailsByDateAndSource($id_trajet, $date));
$this->update_ligneTrajet('ligne_trajet', 'rang', 0, $h2fLinge[0]->id, $idNextcloud);
$this->update_ligneTrajet('ligne_trajet', 'rang', $lastRangOfTrajetPossible, $ligneGoHome[0]->id, $idNextcloud);
}
$ordered_lines = json_decode($this->getTrajetsDetailsByDateAndSource($id_trajet, $date));
foreach ($ordered_lines as $key => $line) {
$this->update_ligneTrajet('ligne_trajet', 'rang', $key+1, $line->id, $idNextcloud);
}
}
// on verifie si le nombre de ligne h2f correspond à 2*nb_jour (debut et fin de journee)
// $reste = (2*$nb_jour) - (sizeof(array_filter($lignes, function($ligne) {return strcmp($ligne->source,'h2f')==0;})));
// while ($reste>0) {
// $this->insertTrajetDetails_h2f($id_trajet, $lignes[0]->date, $idNextcloud);
// $reste--;
// }
// $current_lines = json_decode($this->getTrajetsdetails_orderByDate($id_trajet, $idNextcloud));
// // ici le nombre de ligne h2f est egale au nb_jour*2
// $array_siege = array();
// $array_home = array();
// foreach ($current_lines as $key => $ligne) {
// if(strcmp($ligne->source,'h2f') == 0) {
// array_push($array_siege, $ligne);
// }else{
// if(strcmp($ligne->source, $idNextcloud ) == 0 ) {
// array_push($array_home, $ligne);
// }
// }
// }
// $j=0;
// for ($i=0; $i < sizeof($dates); $i++) {
// $this->update_ligneTrajet('ligne_trajet', 'rang', 0, $array_siege[$j]->id, $idNextcloud);
// $this->update_ligneTrajet('ligne_trajet', 'date', $dates[$i], $array_siege[$j]->id, $idNextcloud);
// $this->update_ligneTrajet('ligne_trajet', 'rang', sizeof($current_lines)+1, $array_siege[$j+1]->id, $idNextcloud);
// $this->update_ligneTrajet('ligne_trajet', 'date', $dates[$i], $array_siege[$j+1]->id, $idNextcloud);
// $j+=2;
// }
// $ordered_lines = json_decode($this->getTrajetsdetails_orderByDate($id_trajet, $idNextcloud));
// foreach ($ordered_lines as $key => $line) {
// $this->update_ligneTrajet('ligne_trajet', 'rang', $key+1, $line->id, $idNextcloud);
// }
}
}
public function update_ligneTrajet($table, $column, $data, $id, $idNextcloud){
@ -1989,7 +2138,9 @@ class Bdd {
return true;
}
public function insertDevisFromVCalendarAndReturnId($thanatoId,$clientId,$locationId,$defuntId,$devisComment,$calendarUuid = self::DEFAULT_CALENDAR_UUID_FOR_DEVIS,$date = null,$idNextcloud = "admin"){
public function insertDevisFromVCalendarAndReturnId($thanatoId,$clientId,$locationId,$defuntId,$devisComment,$calendarUuid = self::DEFAULT_CALENDAR_UUID_FOR_DEVIS,$date = null,$idNextcloud = "admin" , $returnToSiege = false){
$returnToSiege = $returnToSiege ? 1 : 0;
if($date == null){
$dateTime = new Datetime();
@ -2020,10 +2171,13 @@ class Bdd {
`comment`,
`user_id`,
`devis_number`,
`devis_full_number`
`devis_full_number`,
`return_to_siege`
)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?);";
$this->execSQLNoData($sql, array(
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
$this->execSQLNoData(
$sql,
array(
$date,
$idNextcloud,
$calendarUuid,
@ -2036,7 +2190,8 @@ class Bdd {
$devisComment,
$last,
$devisNumber,
$devisFullNumber
$devisFullNumber,
$returnToSiege
)
);
@ -2114,6 +2269,7 @@ class Bdd {
devis.id_lieu as id_lieu,
devis.id_client as id_client,
devis.id_thanato as id_thanato,
devis.return_to_siege as return_to_siege,
thanato.nom as nom_thanato,
thanato.prenom as prenom_thanato,
thanato.fk_thanato_type_key as fk_thanato_type_key,
@ -3401,6 +3557,7 @@ COMMENTAIRES: ".$comment;
devis.id_lieu as id_lieu,
devis.id_client as id_client,
devis.id_thanato as id_thanato,
devis.return_to_siege as return_to_siege,
thanato.nom as nom_thanato,
thanato.prenom as prenom_thanato,
defunt.nom as nom_defunt,

View File

@ -176,6 +176,33 @@ class ExportThanatoStatisticService {
return $fileContent;
}
private function populateReturnToSiegeDataInToFileContent(string $fileContent , $devis){
$fileContent = $fileContent.
''.';'.
FileExportHelpers::FormatTextForExport($devis['nom_thanato'] . ' ' . $devis['prenom_thanatho']).';'.
FileExportHelpers::FormatTextForExport($devis["date"]).';'.
''.';'.
''.';'.
''.';'.
''.';'.
''.';'.
''.';'.
''.';'.
''.';'.
FileExportHelpers::FormatTextForExport('H2F').';'.
''.';'.
''.';'.
''.';'.
"0.5H".';'.
''.';'.
''.';'.
''.';'.
''.';'.
''.';'."\n";
return $fileContent;
}
public function populateExportDataIntoFileContent(array $exportData,string $fileContent): string{
foreach($exportData as $devisDate => $devisData){
$totalDevisHours = 0;
@ -216,6 +243,10 @@ class ExportThanatoStatisticService {
if(!empty($devisList)){
foreach($devisList as $devis){
$fileContent = $this->populateDevisDataIntoThanatoExportFileContent($fileContent,$devis);
if ($devis['return_to_siege']) {
$fileContent = $this->populateReturnToSiegeDataInToFileContent($fileContent , $devis);
}
$totalDevisHours += $devis["totalHours"];
}
}

View File

@ -215,6 +215,11 @@ class GestionService {
$isPrivateValue = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::PROPERTY_IS_LEAVE, $vCalendarString);
return $isPrivateValue === "1" ? true : false;
}
private function GetIsReturnToSiegeFromVCalendarString(string $vCalendarString): bool{
$isPrivateValue = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::RETURN_TO_SIEGE, $vCalendarString);
return $isPrivateValue === "1" ? true : false;
}
private function GetDevisCommentFromVCalendarString(string $vCalendarString){
$commentValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("COMMENT", $vCalendarString);
if($commentValue == ""){
@ -258,7 +263,8 @@ class GestionService {
$calendarStartDate = $this->GetCalendarDateFromVCalendarString($vCalendarString);
$devisComment = $this->GetDevisCommentFromVCalendarString($vCalendarString);
$devisDate = $calendarStartDate->format(format: 'Y-m-d');
$devisId = $this->gestionBdd->insertDevisFromVCalendarAndReturnId($thanatoId,$clientId,$locationId,$defuntId,$devisComment,$calendarUuid,$devisDate,$userName);
$returnToSiege = $this->GetIsReturnToSiegeFromVCalendarString($vCalendarString);
$devisId = $this->gestionBdd->insertDevisFromVCalendarAndReturnId($thanatoId,$clientId,$locationId,$defuntId,$devisComment,$calendarUuid,$devisDate,$userName ,$returnToSiege);
$articlesValue = $this->GetArticlesNameFromVCalendarString($vCalendarString);
if(!empty($articlesValue)){
$articleIds = $this->gestionBdd->getArticleIdsByArticleReferences($articlesValue);

View File

@ -0,0 +1,2 @@
ALTER TABLE oc_gestion_devis
ADD COLUMN return_to_siege BOOLEAN DEFAULT FALSE;