Merge branch 'staging' into 'production'
Merge staging into production See merge request sottye/hytha35!2
This commit is contained in:
commit
5512c23004
8
Jenkinsfile
vendored
8
Jenkinsfile
vendored
@ -9,13 +9,5 @@ pipeline {
|
||||
sudo su jenkins -c "git stash && git pull origin staging" '''
|
||||
}
|
||||
}
|
||||
stage ("deploy to DRL dev ezway") {
|
||||
when { branch 'releases/release-hytha' }
|
||||
agent { label 'apache && dev' }
|
||||
steps {
|
||||
sh '''cd /var/www/drl-nextcloud/custom_apps
|
||||
sudo su jenkins -c "git stash && git pull origin releases/release-hytha" '''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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":"31a7d4ece3cdde2d67f1","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"1ec24b5ef07652c6dd39","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"7ec0cf6b65f5c745fa03","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":"3a2ab5c12f0771c82ad1","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"b90524c103590fa7a133","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"214ba50739254b654bf4","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=5367dc1bf840d0667b28
|
||||
//# sourceMappingURL=calendar-appointments-booking.js.map?v=dffd8c57917781498f5a
|
||||
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=4a43baa099014d97ecc5
|
||||
//# sourceMappingURL=calendar-appointments-confirmation.js.map?v=89b4f5ac684ec7582afa
|
||||
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=84cfe3eb419f8e079c5a
|
||||
//# sourceMappingURL=calendar-appointments-conflict.js.map?v=ffe5d99519c2fe6180c2
|
||||
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=bc10bc435203d6603a01
|
||||
//# sourceMappingURL=calendar-appointments-overview.js.map?v=54666134d56afd918df4
|
||||
File diff suppressed because one or more lines are too long
@ -500,4 +500,4 @@ if(false) {}
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-dashboard-lazy.js.map?v=a51e4becd0c10f90296c
|
||||
//# sourceMappingURL=calendar-dashboard-lazy.js.map?v=41ca77d834f6e319b2e6
|
||||
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":"31a7d4ece3cdde2d67f1","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_axios_index_js-node_modules_vue-material-design-icons_CalendarBlankOutli-1d3065":"55e669bcb78e07cd54cc","vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d":"56b7e44c1982f74f69ca","src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790":"7cf71b4f92d5bbc180b4","src_store_index_js":"345a4df028a3806aee0a","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"7910aecb675dcdfa620c","dashboard-lazy":"a51e4becd0c10f90296c","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"1ec24b5ef07652c6dd39","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"7ec0cf6b65f5c745fa03","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":"3a2ab5c12f0771c82ad1","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_axios_index_js-node_modules_vue-material-design-icons_CalendarBlankOutli-1d3065":"88354dc01b19c1f3f2fe","vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d":"94406568c4140a6ddece","src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790":"d5631bdcf765f0bdb29e","src_store_index_js":"d1ab263e0f24427b2462","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"67baa23bac511d8aea05","dashboard-lazy":"41ca77d834f6e319b2e6","vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8":"b90524c103590fa7a133","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"214ba50739254b654bf4","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=8efa6f84d01bc0c88494
|
||||
//# sourceMappingURL=calendar-dashboard.js.map?v=bc269c800257c054bc01
|
||||
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
@ -369,4 +369,4 @@ module.exports = /*#__PURE__*/JSON.parse('[{"country":"Algeria","filename":"Alge
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-public-calendar-subscription-picker.js.map?v=2315e24e67ebf6e4b6db
|
||||
//# sourceMappingURL=calendar-public-calendar-subscription-picker.js.map?v=5cfd324844c891720a08
|
||||
File diff suppressed because one or more lines are too long
@ -8897,7 +8897,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":"31a7d4ece3cdde2d67f1","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":"1ec24b5ef07652c6dd39","vendors-node_modules_axios_index_js-node_modules_vue-material-design-icons_CalendarBlankOutli-1d3065":"55e669bcb78e07cd54cc","vendors-node_modules_autosize_dist_autosize_esm_js-node_modules_html-entities_lib_index_js-no-4072c5":"7212b31e059bc10c256e","src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790":"7cf71b4f92d5bbc180b4","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"7910aecb675dcdfa620c","src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254":"cb7912c432f0c01a7af2","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","src_store_index_js":"345a4df028a3806aee0a","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"7ec0cf6b65f5c745fa03","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","public-calendar-subscription-picker":"2315e24e67ebf6e4b6db","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":"3a2ab5c12f0771c82ad1","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":"b90524c103590fa7a133","vendors-node_modules_axios_index_js-node_modules_vue-material-design-icons_CalendarBlankOutli-1d3065":"88354dc01b19c1f3f2fe","vendors-node_modules_autosize_dist_autosize_esm_js-node_modules_html-entities_lib_index_js-no-4072c5":"1d12f5e341e36b0fcd1d","src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790":"d5631bdcf765f0bdb29e","src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258":"67baa23bac511d8aea05","src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254":"571272044a4c2cfc0ea7","vendors-node_modules_webdav_dist_web_index_js":"454da8f908d41b47c607","src_store_index_js":"d1ab263e0f24427b2462","vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f":"214ba50739254b654bf4","node_modules_nextcloud_dialogs_dist_legacy_mjs":"8be838e4c6e9aae56c87","vendors-node_modules_nextcloud_dialogs_dist_chunks_FilePicker-8ibBgPg__mjs":"ea54a36450de178d1141","public-calendar-subscription-picker":"5cfd324844c891720a08","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] + "";
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
@ -9147,4 +9147,4 @@ __webpack_require__.p = (0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_1__.linkTo
|
||||
|
||||
/******/ })()
|
||||
;
|
||||
//# sourceMappingURL=calendar-reference.js.map?v=37cbac61b0eec42018f4
|
||||
//# sourceMappingURL=calendar-reference.js.map?v=7b6ac5b858e2aa5b90ae
|
||||
File diff suppressed because one or more lines are too long
@ -53,6 +53,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
*/
|
||||
function eventSourceFunction(calendarObjects, calendar, start, end, timezone) {
|
||||
const fcEvents = [];
|
||||
const authUser = OC.currentUser;
|
||||
for (const calendarObject of calendarObjects) {
|
||||
let allObjectsInTimeRange;
|
||||
try {
|
||||
@ -124,9 +125,34 @@ function eventSourceFunction(calendarObjects, calendar, start, end, timezone) {
|
||||
}
|
||||
}
|
||||
let isCalendarPending = false;
|
||||
let objectProperties = object._properties.get('ISCALENDARPENDING');
|
||||
if (objectProperties && objectProperties.length > 0) {
|
||||
isCalendarPending = objectProperties[0]._value == "1" ? true : false;
|
||||
let objectPropertiesPending = object._properties.get('ISCALENDARPENDING');
|
||||
if (objectPropertiesPending && objectPropertiesPending.length > 0) {
|
||||
isCalendarPending = objectPropertiesPending[0]._value == "1" ? true : false;
|
||||
}
|
||||
let isPrivateEvent = false;
|
||||
let objectPropertiesPrivate = object._properties.get('ISPRIVATE');
|
||||
if (objectPropertiesPrivate && objectPropertiesPrivate.length > 0) {
|
||||
isPrivateEvent = objectPropertiesPrivate[0]._value == "1" ? true : false;
|
||||
}
|
||||
//Get owen object's user
|
||||
let owenUrl = calendarObject.dav._parent.owner;
|
||||
let owenUser = owenUrl.replace('/remote.php/dav/principals/users/', '').split('/')[0];
|
||||
if (!owenUser) {
|
||||
//Get from url shared calendar
|
||||
owenUrl = calendarObject.dav._parent.url;
|
||||
owenUser = owenUrl.replace('/remote.php/dav/calendars/' + authUser + '/personal_shared_by_', '').split('/')[0];
|
||||
}
|
||||
const isOwenOfEvent = owenUser == authUser;
|
||||
if (isPrivateEvent && !isOwenOfEvent) {
|
||||
title = (0,_nextcloud_l10n__WEBPACK_IMPORTED_MODULE_0__.translate)('calendar', "Absent (".concat(owenUser, ")"));
|
||||
}
|
||||
let absenceTypeIsLeave = false;
|
||||
let absenceTypeProperties = object._properties.get('ABSENCETYPE');
|
||||
if (absenceTypeProperties && absenceTypeProperties.length > 0) {
|
||||
const absenceTypeValue = absenceTypeProperties[0]._value;
|
||||
if (absenceTypeValue == 'LEAVE') {
|
||||
absenceTypeIsLeave = true;
|
||||
}
|
||||
}
|
||||
const fcEvent = {
|
||||
id: [calendarObject.id, object.id].join('###'),
|
||||
@ -150,7 +176,11 @@ function eventSourceFunction(calendarObjects, calendar, start, end, timezone) {
|
||||
davUrl: calendarObject.dav.url,
|
||||
location: object.location,
|
||||
description: object.description,
|
||||
isCalendarPending: isCalendarPending
|
||||
isCalendarPending: isCalendarPending,
|
||||
isPrivate: isPrivateEvent,
|
||||
calendarObjectOwen: owenUser,
|
||||
calendarObjectIsOwen: isOwenOfEvent,
|
||||
absenceTypeIsLeave: absenceTypeIsLeave
|
||||
}
|
||||
};
|
||||
if (isCalendarPending) {
|
||||
@ -158,6 +188,11 @@ function eventSourceFunction(calendarObjects, calendar, start, end, timezone) {
|
||||
fcEvent.borderColor = calendar.color;
|
||||
fcEvent.textColor = (0,_utils_color_js__WEBPACK_IMPORTED_MODULE_1__.generateTextColorForHex)(calendar.color);
|
||||
}
|
||||
if (absenceTypeIsLeave) {
|
||||
fcEvent.backgroundColor = calendar.color;
|
||||
fcEvent.borderColor = calendar.color;
|
||||
fcEvent.textColor = (0,_utils_color_js__WEBPACK_IMPORTED_MODULE_1__.generateTextColorForHex)(calendar.color);
|
||||
}
|
||||
if (object.color) {
|
||||
const customColor = (0,_utils_color_js__WEBPACK_IMPORTED_MODULE_1__.getHexForColorName)(object.color);
|
||||
if (customColor) {
|
||||
@ -1043,4 +1078,4 @@ module.exports = "data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/sv
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258.js.map?v=7910aecb675dcdfa620c
|
||||
//# sourceMappingURL=calendar-src_fullcalendar_eventSources_eventSourceFunction_js-src_utils_moment_js-data_image_svg_xml_3-b73258.js.map?v=67baa23bac511d8aea05
|
||||
File diff suppressed because one or more lines are too long
@ -292,6 +292,10 @@ const getRFCProperties = () => {
|
||||
placeholder: (0,_nextcloud_l10n__WEBPACK_IMPORTED_MODULE_0__.translate)('calendar', 'Choisir un client'),
|
||||
icon: 'Human'
|
||||
},
|
||||
absenceType: {
|
||||
readableName: (0,_nextcloud_l10n__WEBPACK_IMPORTED_MODULE_0__.translate)('calendar', 'Type d\'absence'),
|
||||
placeholder: (0,_nextcloud_l10n__WEBPACK_IMPORTED_MODULE_0__.translate)('calendar', 'Type d\'absence')
|
||||
},
|
||||
embalmers: {
|
||||
readableName: (0,_nextcloud_l10n__WEBPACK_IMPORTED_MODULE_0__.translate)('calendar', 'Embalmers'),
|
||||
icon: 'Human',
|
||||
@ -1826,4 +1830,4 @@ function GenColors(steps) {
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790.js.map?v=7cf71b4f92d5bbc180b4
|
||||
//# sourceMappingURL=calendar-src_models_rfcProps_js-src_services_caldavService_js-src_services_talkService_js-src_services-8a2790.js.map?v=d5631bdcf765f0bdb29e
|
||||
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
@ -6015,6 +6015,49 @@ __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/PropertyIsPrivate.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/PropertyIsPrivate.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: "PropertyIsPrivate",
|
||||
components: {
|
||||
NcCheckboxRadioSwitch: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcCheckboxRadioSwitch
|
||||
},
|
||||
props: {
|
||||
isPrivate: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
getIsPrivateLabel() {
|
||||
return this.isPrivate ? this.$t('calendar', 'Privé') : this.$t('calendar', 'Mettre en privé');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toggleIsPrivate() {
|
||||
const newState = !this.isPrivate;
|
||||
this.$emit('toggle-is-private', 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 ***!
|
||||
@ -6063,6 +6106,66 @@ __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/PropertySelectAbsenceType.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/PropertySelectAbsenceType.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 import */ var _mixins_PropertyMixin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../mixins/PropertyMixin.js */ "./src/mixins/PropertyMixin.js");
|
||||
|
||||
|
||||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||||
name: 'PropertySelectAbsenceType',
|
||||
components: {
|
||||
NcSelect: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcSelect
|
||||
},
|
||||
props: {
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false // Par défaut, on permet la modification
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
properties: [{
|
||||
value: 'LEAVE',
|
||||
label: 'Congé'
|
||||
}, {
|
||||
value: 'REST',
|
||||
label: 'Repos'
|
||||
}, {
|
||||
value: 'DISEASE',
|
||||
label: 'Arrêt maladie'
|
||||
}]
|
||||
};
|
||||
},
|
||||
mixins: [_mixins_PropertyMixin_js__WEBPACK_IMPORTED_MODULE_1__["default"]],
|
||||
computed: {
|
||||
options() {
|
||||
return this.properties;
|
||||
},
|
||||
selectedValue() {
|
||||
const value = this.value;
|
||||
return this.properties.find(option => option.value == value);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeValue(selectedOption) {
|
||||
var _selectedOption$value;
|
||||
this.$emit('update:value', (_selectedOption$value = selectedOption.value) !== null && _selectedOption$value !== void 0 ? _selectedOption$value : null);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAjax.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/PropertySelectAjax.vue?vue&type=script&lang=js ***!
|
||||
@ -8116,16 +8219,18 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var vue_material_design_icons_Download_vue__WEBPACK_IMPORTED_MODULE_16__ = __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_17__ = __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_18__ = __webpack_require__(/*! vue-material-design-icons/Pencil.vue */ "./node_modules/vue-material-design-icons/Pencil.vue");
|
||||
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
|
||||
/* harmony import */ var _nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.mjs");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelect_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelect.vue */ "./src/components/Editor/Properties/PropertySelect.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectAjax_vue__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectAjax.vue */ "./src/components/Editor/Properties/PropertySelectAjax.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectAjaxMultiple_vue__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectAjaxMultiple.vue */ "./src/components/Editor/Properties/PropertySelectAjaxMultiple.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectLieu_vue__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectLieu.vue */ "./src/components/Editor/Properties/PropertySelectLieu.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectClient_vue__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectClient.vue */ "./src/components/Editor/Properties/PropertySelectClient.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectArticle_vue__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectArticle.vue */ "./src/components/Editor/Properties/PropertySelectArticle.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertyIsLeave_vue__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../components/Editor/Properties/PropertyIsLeave.vue */ "./src/components/Editor/Properties/PropertyIsLeave.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertyIsCalendarPending__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../components/Editor/Properties/PropertyIsCalendarPending */ "./src/components/Editor/Properties/PropertyIsCalendarPending.vue");
|
||||
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelect_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelect.vue */ "./src/components/Editor/Properties/PropertySelect.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectAjax_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectAjax.vue */ "./src/components/Editor/Properties/PropertySelectAjax.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectAjaxMultiple_vue__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectAjaxMultiple.vue */ "./src/components/Editor/Properties/PropertySelectAjaxMultiple.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectLieu_vue__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectLieu.vue */ "./src/components/Editor/Properties/PropertySelectLieu.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectClient_vue__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectClient.vue */ "./src/components/Editor/Properties/PropertySelectClient.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectArticle_vue__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectArticle.vue */ "./src/components/Editor/Properties/PropertySelectArticle.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertyIsLeave_vue__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../components/Editor/Properties/PropertyIsLeave.vue */ "./src/components/Editor/Properties/PropertyIsLeave.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertyIsCalendarPending__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../components/Editor/Properties/PropertyIsCalendarPending */ "./src/components/Editor/Properties/PropertyIsCalendarPending.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertySelectAbsenceType_vue__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../components/Editor/Properties/PropertySelectAbsenceType.vue */ "./src/components/Editor/Properties/PropertySelectAbsenceType.vue");
|
||||
/* harmony import */ var _components_Editor_Properties_PropertyIsPrivate_vue__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../components/Editor/Properties/PropertyIsPrivate.vue */ "./src/components/Editor/Properties/PropertyIsPrivate.vue");
|
||||
|
||||
|
||||
|
||||
|
||||
@ -8158,19 +8263,20 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||||
name: "EditSimple",
|
||||
components: {
|
||||
PropertyIsLeave: _components_Editor_Properties_PropertyIsLeave_vue__WEBPACK_IMPORTED_MODULE_26__["default"],
|
||||
PropertyIsCalendarPending: _components_Editor_Properties_PropertyIsCalendarPending__WEBPACK_IMPORTED_MODULE_27__["default"],
|
||||
PropertySelectAjaxMultiple: _components_Editor_Properties_PropertySelectAjaxMultiple_vue__WEBPACK_IMPORTED_MODULE_22__["default"],
|
||||
PropertySelectAjax: _components_Editor_Properties_PropertySelectAjax_vue__WEBPACK_IMPORTED_MODULE_21__["default"],
|
||||
PropertySelectLieu: _components_Editor_Properties_PropertySelectLieu_vue__WEBPACK_IMPORTED_MODULE_23__["default"],
|
||||
PropertySelectClient: _components_Editor_Properties_PropertySelectClient_vue__WEBPACK_IMPORTED_MODULE_24__["default"],
|
||||
PropertySelectArticle: _components_Editor_Properties_PropertySelectArticle_vue__WEBPACK_IMPORTED_MODULE_25__["default"],
|
||||
PropertySelect: _components_Editor_Properties_PropertySelect_vue__WEBPACK_IMPORTED_MODULE_20__["default"],
|
||||
PropertyIsLeave: _components_Editor_Properties_PropertyIsLeave_vue__WEBPACK_IMPORTED_MODULE_25__["default"],
|
||||
PropertyIsCalendarPending: _components_Editor_Properties_PropertyIsCalendarPending__WEBPACK_IMPORTED_MODULE_26__["default"],
|
||||
PropertySelectAjaxMultiple: _components_Editor_Properties_PropertySelectAjaxMultiple_vue__WEBPACK_IMPORTED_MODULE_21__["default"],
|
||||
PropertySelectAjax: _components_Editor_Properties_PropertySelectAjax_vue__WEBPACK_IMPORTED_MODULE_20__["default"],
|
||||
PropertySelectLieu: _components_Editor_Properties_PropertySelectLieu_vue__WEBPACK_IMPORTED_MODULE_22__["default"],
|
||||
PropertySelectClient: _components_Editor_Properties_PropertySelectClient_vue__WEBPACK_IMPORTED_MODULE_23__["default"],
|
||||
PropertySelectArticle: _components_Editor_Properties_PropertySelectArticle_vue__WEBPACK_IMPORTED_MODULE_24__["default"],
|
||||
PropertySelect: _components_Editor_Properties_PropertySelect_vue__WEBPACK_IMPORTED_MODULE_19__["default"],
|
||||
PopoverLoadingIndicator: _components_Popover_PopoverLoadingIndicator_vue__WEBPACK_IMPORTED_MODULE_8__["default"],
|
||||
SaveButtons: _components_Editor_SaveButtons_vue__WEBPACK_IMPORTED_MODULE_7__["default"],
|
||||
PropertyText: _components_Editor_Properties_PropertyText_vue__WEBPACK_IMPORTED_MODULE_6__["default"],
|
||||
PropertyTitleTimePicker: _components_Editor_Properties_PropertyTitleTimePicker_vue__WEBPACK_IMPORTED_MODULE_5__["default"],
|
||||
PropertyTitle: _components_Editor_Properties_PropertyTitle_vue__WEBPACK_IMPORTED_MODULE_4__["default"],
|
||||
PropertySelectAbsenceType: _components_Editor_Properties_PropertySelectAbsenceType_vue__WEBPACK_IMPORTED_MODULE_27__["default"],
|
||||
Popover: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcPopover,
|
||||
Actions: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcActions,
|
||||
ActionButton: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcActionButton,
|
||||
@ -8185,7 +8291,8 @@ __webpack_require__.r(__webpack_exports__);
|
||||
CalendarPickerHeader: _components_Editor_CalendarPickerHeader_vue__WEBPACK_IMPORTED_MODULE_11__["default"],
|
||||
InviteesList: _components_Editor_Invitees_InviteesList_vue__WEBPACK_IMPORTED_MODULE_12__["default"],
|
||||
NcButton: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_0__.NcButton,
|
||||
EditIcon: vue_material_design_icons_Pencil_vue__WEBPACK_IMPORTED_MODULE_18__["default"]
|
||||
EditIcon: vue_material_design_icons_Pencil_vue__WEBPACK_IMPORTED_MODULE_18__["default"],
|
||||
PropertyIsPrivate: _components_Editor_Properties_PropertyIsPrivate_vue__WEBPACK_IMPORTED_MODULE_28__["default"]
|
||||
},
|
||||
mixins: [_mixins_EditorMixin_js__WEBPACK_IMPORTED_MODULE_3__["default"]],
|
||||
data() {
|
||||
@ -8201,7 +8308,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...(0,vuex__WEBPACK_IMPORTED_MODULE_28__.mapState)({
|
||||
...(0,vuex__WEBPACK_IMPORTED_MODULE_29__.mapState)({
|
||||
hideEventExport: state => state.settings.hideEventExport,
|
||||
widgetEventDetailsOpen: state => state.calendars.widgetEventDetailsOpen,
|
||||
widgetEventDetails: state => state.calendars.widgetEventDetails,
|
||||
@ -12953,6 +13060,40 @@ 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/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 ***!
|
||||
\*******************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
/***/ ((__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.isPrivate
|
||||
},
|
||||
on: {
|
||||
"update:checked": _vm.toggleIsPrivate
|
||||
}
|
||||
}, [_vm._v("\n\t\t\t" + _vm._s(_vm.$t("calendar", "Privé")) + "\n\t\t")])], 1)]) : _c("div", [_vm._v("\n\t" + _vm._s(_vm.getIsPrivateLabel) + "\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":
|
||||
@ -13024,6 +13165,53 @@ 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/PropertySelectAbsenceType.vue?vue&type=template&id=c8d0aea8&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/PropertySelectAbsenceType.vue?vue&type=template&id=c8d0aea8&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 _c("div", {
|
||||
staticClass: "property-select"
|
||||
}, [_c("div", {
|
||||
staticClass: "property-select__input",
|
||||
class: {
|
||||
"property-select__input--readonly": _vm.isReadOnly
|
||||
}
|
||||
}, [!_vm.isReadOnly ? _c("NcSelect", {
|
||||
attrs: {
|
||||
options: _vm.options,
|
||||
searchable: true,
|
||||
multiple: false,
|
||||
taggable: false,
|
||||
name: _vm.readableName,
|
||||
value: _vm.selectedValue,
|
||||
placeholder: _vm.placeholder,
|
||||
clearable: true,
|
||||
labelOutside: true,
|
||||
"input-id": "value",
|
||||
label: "label"
|
||||
},
|
||||
on: {
|
||||
input: _vm.changeValue
|
||||
}
|
||||
}) : _c("div", [_vm._v(_vm._s(_vm.selectedValue.label))])], 1)]);
|
||||
};
|
||||
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/PropertySelectAjax.vue?vue&type=template&id=3787864a&scoped=true":
|
||||
@ -14526,15 +14714,27 @@ var render = function render() {
|
||||
"update-end-timezone": _vm.updateEndTimezone,
|
||||
"toggle-all-day": _vm.toggleAllDay
|
||||
}
|
||||
}), _vm._v(" "), _c("PropertyIsLeave", {
|
||||
}), _vm._v(" "), _c("div", {
|
||||
staticStyle: {
|
||||
display: "flex",
|
||||
"margin-left": "7%"
|
||||
}
|
||||
}, [_c("div", {
|
||||
staticStyle: {
|
||||
width: "70%"
|
||||
}
|
||||
}, [_c("PropertySelectAbsenceType", {
|
||||
attrs: {
|
||||
"is-read-only": _vm.isReadOnlyOrViewing,
|
||||
"is-leave": _vm.isLeave
|
||||
value: _vm.absenceType,
|
||||
"is-read-only": _vm.isReadOnly,
|
||||
"prop-model": _vm.rfcProps.absenceType,
|
||||
noWrap: true,
|
||||
sle: ""
|
||||
},
|
||||
on: {
|
||||
"toggle-is-leave": _vm.toggleIsLeave
|
||||
"update:value": _vm.updateAbsenceType
|
||||
}
|
||||
}), _vm._v(" "), _c("PropertySelectClient", {
|
||||
})], 1)]), _vm._v(" "), _c("PropertySelectClient", {
|
||||
staticClass: "property-location",
|
||||
attrs: {
|
||||
url: "/apps/gestion/ajaxGetClientsName",
|
||||
@ -15864,6 +16064,9 @@ __webpack_require__.r(__webpack_exports__);
|
||||
*/
|
||||
function handleEventClick(event, store, router, route, window) {
|
||||
let isWidget = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
||||
if (event.extendedProps.isPrivate && !event.extendedProps.calendarObjectIsOwen) {
|
||||
return;
|
||||
}
|
||||
if (isWidget) {
|
||||
store.commit('setSelectedEvent', {
|
||||
object: event.extendedProps.objectId,
|
||||
@ -17139,14 +17342,24 @@ __webpack_require__.r(__webpack_exports__);
|
||||
var _this$calendarObjectI14, _this$calendarObjectI15;
|
||||
return (_this$calendarObjectI14 = (_this$calendarObjectI15 = this.calendarObjectInstance) === null || _this$calendarObjectI15 === void 0 ? void 0 : _this$calendarObjectI15.comment) !== null && _this$calendarObjectI14 !== void 0 ? _this$calendarObjectI14 : null;
|
||||
},
|
||||
/**
|
||||
* Returns the isPrivate property
|
||||
*
|
||||
* @return {boolean}
|
||||
*/
|
||||
|
||||
isPrivate() {
|
||||
var _this$calendarObjectI16, _this$calendarObjectI17;
|
||||
return (_this$calendarObjectI16 = (_this$calendarObjectI17 = this.calendarObjectInstance) === null || _this$calendarObjectI17 === void 0 ? void 0 : _this$calendarObjectI17.isPrivate) !== null && _this$calendarObjectI16 !== void 0 ? _this$calendarObjectI16 : false;
|
||||
},
|
||||
/**
|
||||
* Returns the description or null if the event is still loading
|
||||
*
|
||||
* @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
|
||||
@ -17154,8 +17367,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
|
||||
@ -17163,8 +17376,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
|
||||
@ -17172,8 +17385,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
|
||||
@ -17181,8 +17394,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
|
||||
@ -17190,8 +17403,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 event is a leave
|
||||
@ -17199,8 +17412,8 @@ __webpack_require__.r(__webpack_exports__);
|
||||
* @return {boolean}
|
||||
*/
|
||||
isLeave() {
|
||||
var _this$calendarObjectI28, _this$calendarObjectI29;
|
||||
return (_this$calendarObjectI28 = (_this$calendarObjectI29 = this.calendarObjectInstance) === null || _this$calendarObjectI29 === void 0 ? void 0 : _this$calendarObjectI29.isLeave) !== 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.isLeave) !== null && _this$calendarObjectI30 !== void 0 ? _this$calendarObjectI30 : false;
|
||||
},
|
||||
/**
|
||||
* Returns whether or not the event is pending
|
||||
@ -17208,8 +17421,8 @@ __webpack_require__.r(__webpack_exports__);
|
||||
* @return {boolean}
|
||||
*/
|
||||
isCalendarPending() {
|
||||
var _this$calendarObjectI30, _this$calendarObjectI31;
|
||||
return (_this$calendarObjectI30 = (_this$calendarObjectI31 = this.calendarObjectInstance) === null || _this$calendarObjectI31 === void 0 ? void 0 : _this$calendarObjectI31.isCalendarPending) !== null && _this$calendarObjectI30 !== void 0 ? _this$calendarObjectI30 : false;
|
||||
var _this$calendarObjectI32, _this$calendarObjectI33;
|
||||
return (_this$calendarObjectI32 = (_this$calendarObjectI33 = this.calendarObjectInstance) === null || _this$calendarObjectI33 === void 0 ? void 0 : _this$calendarObjectI33.isCalendarPending) !== null && _this$calendarObjectI32 !== void 0 ? _this$calendarObjectI32 : false;
|
||||
},
|
||||
/**
|
||||
* Returns whether or not the user is allowed to modify the all-day setting
|
||||
@ -17217,8 +17430,8 @@ __webpack_require__.r(__webpack_exports__);
|
||||
* @return {boolean}
|
||||
*/
|
||||
canModifyAllDay() {
|
||||
var _this$calendarObjectI32, _this$calendarObjectI33;
|
||||
return (_this$calendarObjectI32 = (_this$calendarObjectI33 = this.calendarObjectInstance) === null || _this$calendarObjectI33 === void 0 ? void 0 : _this$calendarObjectI33.canModifyAllDay) !== null && _this$calendarObjectI32 !== void 0 ? _this$calendarObjectI32 : false;
|
||||
var _this$calendarObjectI34, _this$calendarObjectI35;
|
||||
return (_this$calendarObjectI34 = (_this$calendarObjectI35 = this.calendarObjectInstance) === null || _this$calendarObjectI35 === void 0 ? void 0 : _this$calendarObjectI35.canModifyAllDay) !== null && _this$calendarObjectI34 !== void 0 ? _this$calendarObjectI34 : false;
|
||||
},
|
||||
/**
|
||||
* Returns the color the illustration should be colored in
|
||||
@ -17250,8 +17463,8 @@ __webpack_require__.r(__webpack_exports__);
|
||||
* @return {null | string}
|
||||
*/
|
||||
color() {
|
||||
var _this$calendarObjectI34, _this$calendarObjectI35;
|
||||
return (_this$calendarObjectI34 = (_this$calendarObjectI35 = this.calendarObjectInstance) === null || _this$calendarObjectI35 === void 0 ? void 0 : _this$calendarObjectI35.customColor) !== null && _this$calendarObjectI34 !== void 0 ? _this$calendarObjectI34 : null;
|
||||
var _this$calendarObjectI36, _this$calendarObjectI37;
|
||||
return (_this$calendarObjectI36 = (_this$calendarObjectI37 = this.calendarObjectInstance) === null || _this$calendarObjectI37 === void 0 ? void 0 : _this$calendarObjectI37.customColor) !== null && _this$calendarObjectI36 !== void 0 ? _this$calendarObjectI36 : null;
|
||||
},
|
||||
/**
|
||||
* Returns whether or not to display save buttons
|
||||
@ -17374,7 +17587,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
* Returns an object with properties from RFCs including
|
||||
* their displayName, a description, options, etc.
|
||||
*
|
||||
* @return {{comment, geo, color, timeTransparency, description, resources, location, client, categories, accessClass, priority, status, locations, articles, clients,embalmer,embalmers}}
|
||||
* @return {{absenceType ,comment, geo, color, timeTransparency, description, resources, location, client, categories, accessClass, priority, status, locations, articles, clients,embalmer,embalmers}}
|
||||
*/
|
||||
rfcProps() {
|
||||
return (0,_models_rfcProps_js__WEBPACK_IMPORTED_MODULE_0__.getRFCProperties)();
|
||||
@ -17420,6 +17633,24 @@ __webpack_require__.r(__webpack_exports__);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
/**
|
||||
* Returns the absence type
|
||||
*
|
||||
* @return {string|null}
|
||||
*/
|
||||
absenceType() {
|
||||
var _this$calendarObjectI38, _this$calendarObjectI39, _this$calendarObjectI40, _this$calendarObjectI41;
|
||||
const isleave = (_this$calendarObjectI38 = (_this$calendarObjectI39 = this.calendarObjectInstance) === null || _this$calendarObjectI39 === void 0 ? void 0 : _this$calendarObjectI39.isLeave) !== null && _this$calendarObjectI38 !== void 0 ? _this$calendarObjectI38 : false;
|
||||
const absenceType = (_this$calendarObjectI40 = (_this$calendarObjectI41 = this.calendarObjectInstance) === null || _this$calendarObjectI41 === void 0 ? void 0 : _this$calendarObjectI41.absenceType) !== null && _this$calendarObjectI40 !== void 0 ? _this$calendarObjectI40 : null;
|
||||
if (absenceType) {
|
||||
var _this$calendarObjectI42;
|
||||
return (_this$calendarObjectI42 = this.calendarObjectInstance) === null || _this$calendarObjectI42 === void 0 ? void 0 : _this$calendarObjectI42.absenceType;
|
||||
}
|
||||
if (isleave && !absenceType) {
|
||||
return 'LEAVE';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@ -17765,15 +17996,22 @@ __webpack_require__.r(__webpack_exports__);
|
||||
calendarObjectInstance: this.calendarObjectInstance
|
||||
});
|
||||
},
|
||||
/**
|
||||
* Toggles the event between all-day and timed
|
||||
*/
|
||||
toggleIsLeave(isLeave) {
|
||||
this.$store.commit('toggleIsLeave', {
|
||||
toggleIsPrivate(isPrivate) {
|
||||
this.$store.commit('toggleIsPrivate', {
|
||||
calendarObjectInstance: this.calendarObjectInstance,
|
||||
isLeave
|
||||
isPrivate
|
||||
});
|
||||
},
|
||||
// /**
|
||||
// * Toggles the event between all-day and timed
|
||||
// */
|
||||
// toggleIsLeave(isLeave) {
|
||||
// this.$store.commit('toggleIsLeave', {
|
||||
// calendarObjectInstance: this.calendarObjectInstance,
|
||||
// isLeave
|
||||
// })
|
||||
// },
|
||||
|
||||
/**
|
||||
* Toggles the event pending
|
||||
*/
|
||||
@ -17813,6 +18051,17 @@ __webpack_require__.r(__webpack_exports__);
|
||||
watcher();
|
||||
});
|
||||
});
|
||||
},
|
||||
/**
|
||||
* Updates the absence type of this event
|
||||
*
|
||||
* @param {string} absenceType New absence type
|
||||
*/
|
||||
updateAbsenceType(absenceType) {
|
||||
this.$store.commit('changeAbsenceType', {
|
||||
calendarObjectInstance: this.calendarObjectInstance,
|
||||
absenceType
|
||||
});
|
||||
}
|
||||
},
|
||||
/**
|
||||
@ -20791,6 +21040,35 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.property-select__input[data-v-04aa9fc
|
||||
/* 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/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true":
|
||||
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true ***!
|
||||
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
/***/ ((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, `.property-select__input[data-v-c8d0aea8] {
|
||||
width: calc(100% - 34px - 34px);
|
||||
}`, ""]);
|
||||
// Exports
|
||||
/* 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/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAjax.vue?vue&type=style&index=0&id=3787864a&lang=scss&scoped=true":
|
||||
@ -21146,6 +21424,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/PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&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/PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&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-fb6819ac] {
|
||||
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":
|
||||
@ -21311,6 +21622,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_PropertyIsLeave_vue_vue_type_style_index_0_id_56b63a1e_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_PropertyIsLeave_vue_vue_type_style_index_0_id_56b63a1e_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_PropertyIsLeave_vue_vue_type_style_index_0_id_56b63a1e_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/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 ***!
|
||||
\**************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
/***/ ((__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_PropertyIsPrivate_vue_vue_type_style_index_0_id_fb6819ac_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!./PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&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/PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&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_PropertyIsPrivate_vue_vue_type_style_index_0_id_fb6819ac_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_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);
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/AppNavigation/AppNavigationHeader.vue":
|
||||
@ -23440,6 +23806,47 @@ component.options.__file = "src/components/Editor/Properties/PropertyIsLeave.vue
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertyIsPrivate.vue":
|
||||
/*!****************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertyIsPrivate.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 _PropertyIsPrivate_vue_vue_type_template_id_fb6819ac_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PropertyIsPrivate.vue?vue&type=template&id=fb6819ac&scoped=true */ "./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=template&id=fb6819ac&scoped=true");
|
||||
/* harmony import */ var _PropertyIsPrivate_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PropertyIsPrivate.vue?vue&type=script&lang=js */ "./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=script&lang=js");
|
||||
/* harmony import */ var _PropertyIsPrivate_vue_vue_type_style_index_0_id_fb6819ac_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&scoped=true&lang=css */ "./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&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"])(
|
||||
_PropertyIsPrivate_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"],
|
||||
_PropertyIsPrivate_vue_vue_type_template_id_fb6819ac_scoped_true__WEBPACK_IMPORTED_MODULE_0__.render,
|
||||
_PropertyIsPrivate_vue_vue_type_template_id_fb6819ac_scoped_true__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
|
||||
false,
|
||||
null,
|
||||
"fb6819ac",
|
||||
null
|
||||
|
||||
)
|
||||
|
||||
/* hot reload */
|
||||
if (false) { var api; }
|
||||
component.options.__file = "src/components/Editor/Properties/PropertyIsPrivate.vue"
|
||||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertySelect.vue":
|
||||
/*!*************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertySelect.vue ***!
|
||||
@ -23481,6 +23888,47 @@ component.options.__file = "src/components/Editor/Properties/PropertySelect.vue"
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertySelectAbsenceType.vue":
|
||||
/*!************************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertySelectAbsenceType.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 _PropertySelectAbsenceType_vue_vue_type_template_id_c8d0aea8_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PropertySelectAbsenceType.vue?vue&type=template&id=c8d0aea8&scoped=true */ "./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=template&id=c8d0aea8&scoped=true");
|
||||
/* harmony import */ var _PropertySelectAbsenceType_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PropertySelectAbsenceType.vue?vue&type=script&lang=js */ "./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=script&lang=js");
|
||||
/* harmony import */ var _PropertySelectAbsenceType_vue_vue_type_style_index_0_id_c8d0aea8_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true */ "./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true");
|
||||
/* 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"])(
|
||||
_PropertySelectAbsenceType_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"],
|
||||
_PropertySelectAbsenceType_vue_vue_type_template_id_c8d0aea8_scoped_true__WEBPACK_IMPORTED_MODULE_0__.render,
|
||||
_PropertySelectAbsenceType_vue_vue_type_template_id_c8d0aea8_scoped_true__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
|
||||
false,
|
||||
null,
|
||||
"c8d0aea8",
|
||||
null
|
||||
|
||||
)
|
||||
|
||||
/* hot reload */
|
||||
if (false) { var api; }
|
||||
component.options.__file = "src/components/Editor/Properties/PropertySelectAbsenceType.vue"
|
||||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertySelectAjax.vue":
|
||||
/*!*****************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertySelectAjax.vue ***!
|
||||
@ -25086,6 +25534,22 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=script&lang=js":
|
||||
/*!****************************************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertyIsPrivate.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_PropertyIsPrivate_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!./PropertyIsPrivate.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/PropertyIsPrivate.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_PropertyIsPrivate_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 ***!
|
||||
@ -25102,6 +25566,22 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=script&lang=js":
|
||||
/*!************************************************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertySelectAbsenceType.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_PropertySelectAbsenceType_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!./PropertySelectAbsenceType.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/PropertySelectAbsenceType.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_PropertySelectAbsenceType_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]);
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertySelectAjax.vue?vue&type=script&lang=js":
|
||||
/*!*****************************************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertySelectAjax.vue?vue&type=script&lang=js ***!
|
||||
@ -26305,6 +26785,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_PropertyIsLeave_vue_vue_type_template_id_56b63a1e_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!./PropertyIsLeave.vue?vue&type=template&id=56b63a1e&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/PropertyIsLeave.vue?vue&type=template&id=56b63a1e&scoped=true");
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=template&id=fb6819ac&scoped=true":
|
||||
/*!**********************************************************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=template&id=fb6819ac&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_PropertyIsPrivate_vue_vue_type_template_id_fb6819ac_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_PropertyIsPrivate_vue_vue_type_template_id_fb6819ac_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_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/PropertySelect.vue?vue&type=template&id=04aa9fca&scoped=true":
|
||||
@ -26322,6 +26819,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_PropertySelect_vue_vue_type_template_id_04aa9fca_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!./PropertySelect.vue?vue&type=template&id=04aa9fca&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/PropertySelect.vue?vue&type=template&id=04aa9fca&scoped=true");
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=template&id=c8d0aea8&scoped=true":
|
||||
/*!******************************************************************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=template&id=c8d0aea8&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_PropertySelectAbsenceType_vue_vue_type_template_id_c8d0aea8_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_PropertySelectAbsenceType_vue_vue_type_template_id_c8d0aea8_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_PropertySelectAbsenceType_vue_vue_type_template_id_c8d0aea8_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!./PropertySelectAbsenceType.vue?vue&type=template&id=c8d0aea8&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/PropertySelectAbsenceType.vue?vue&type=template&id=c8d0aea8&scoped=true");
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertySelectAjax.vue?vue&type=template&id=3787864a&scoped=true":
|
||||
@ -26684,6 +27198,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_PropertyIsLeave_vue_vue_type_style_index_0_id_56b63a1e_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!./PropertyIsLeave.vue?vue&type=style&index=0&id=56b63a1e&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/PropertyIsLeave.vue?vue&type=style&index=0&id=56b63a1e&scoped=true&lang=css");
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&scoped=true&lang=css":
|
||||
/*!************************************************************************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertyIsPrivate.vue?vue&type=style&index=0&id=fb6819ac&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_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/AppNavigation/AppNavigationHeader/AppNavigationHeaderDatePicker.vue?vue&type=style&index=0&id=e8250812&lang=scss":
|
||||
@ -27160,6 +27687,23 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true":
|
||||
/*!*********************************************************************************************************************************!*\
|
||||
!*** ./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true ***!
|
||||
\*********************************************************************************************************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertySelectAbsenceType_vue_vue_type_style_index_0_id_c8d0aea8_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/resolve-url-loader/index.js!../../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true */ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true");
|
||||
/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertySelectAbsenceType_vue_vue_type_style_index_0_id_c8d0aea8_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertySelectAbsenceType_vue_vue_type_style_index_0_id_c8d0aea8_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
|
||||
/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertySelectAbsenceType_vue_vue_type_style_index_0_id_c8d0aea8_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_2_use_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertySelectAbsenceType_vue_vue_type_style_index_0_id_c8d0aea8_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]
|
||||
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/components/Editor/Properties/PropertySelectAjax.vue?vue&type=style&index=0&id=3787864a&lang=scss&scoped=true":
|
||||
@ -27886,6 +28430,27 @@ if(false) {}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true":
|
||||
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** ./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true ***!
|
||||
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||||
|
||||
// style-loader: Adds some css to the DOM by adding a <style> tag
|
||||
|
||||
// load the styles
|
||||
var content = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/resolve-url-loader/index.js!../../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAbsenceType.vue?vue&type=style&index=0&id=c8d0aea8&lang=scss&scoped=true");
|
||||
if(content.__esModule) content = content.default;
|
||||
if(typeof content === 'string') content = [[module.id, content, '']];
|
||||
if(content.locals) module.exports = content.locals;
|
||||
// add the styles to the DOM
|
||||
var add = (__webpack_require__(/*! !../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/vue-style-loader/lib/addStylesClient.js")["default"])
|
||||
var update = add("23d09bee", content, false, {});
|
||||
// Hot Module Replacement
|
||||
if(false) {}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAjax.vue?vue&type=style&index=0&id=3787864a&lang=scss&scoped=true":
|
||||
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** ./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/Editor/Properties/PropertySelectAjax.vue?vue&type=style&index=0&id=3787864a&lang=scss&scoped=true ***!
|
||||
@ -28077,4 +28642,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=cb7912c432f0c01a7af2
|
||||
//# sourceMappingURL=calendar-src_views_Calendar_vue-data_image_svg_xml_3csvg_20xmlns_27http_www_w3_org_2000_svg_27_20heigh-4a4254.js.map?v=571272044a4c2cfc0ea7
|
||||
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=7212b31e059bc10c256e
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_autosize_dist_autosize_esm_js-node_modules_html-entities_lib_index_js-no-4072c5.js.map?v=1d12f5e341e36b0fcd1d
|
||||
File diff suppressed because one or more lines are too long
@ -104883,4 +104883,4 @@ module.exports = /*#__PURE__*/JSON.parse('{"compressed":true,"categories":[{"id"
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_axios_index_js-node_modules_vue-material-design-icons_CalendarBlankOutli-1d3065.js.map?v=55e669bcb78e07cd54cc
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_axios_index_js-node_modules_vue-material-design-icons_CalendarBlankOutli-1d3065.js.map?v=88354dc01b19c1f3f2fe
|
||||
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=31a7d4ece3cdde2d67f1
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_nextcloud_capabilities_dist_index_js-node_modules_nextcloud_vue-select_d-877981.js.map?v=3a2ab5c12f0771c82ad1
|
||||
File diff suppressed because one or more lines are too long
@ -24822,4 +24822,4 @@ window._registerCustomPickerElement = _;
|
||||
/***/ })
|
||||
|
||||
}]);
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d.js.map?v=56b7e44c1982f74f69ca
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_nextcloud_vue-dashboard_dist_vue-dashboard_js-node_modules_css-loader_di-9e6f3d.js.map?v=94406568c4140a6ddece
|
||||
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=7ec0cf6b65f5c745fa03
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_path-browserify_index_js-node_modules_nextcloud_dialogs_dist_chunks_Dial-e0595f.js.map?v=214ba50739254b654bf4
|
||||
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=1ec24b5ef07652c6dd39
|
||||
//# sourceMappingURL=calendar-vendors-node_modules_vue-material-design-icons_CalendarBlank_vue-node_modules_vue-material-de-e2c1f8.js.map?v=b90524c103590fa7a133
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,53 @@
|
||||
<template>
|
||||
<div v-if="!isReadOnly" class="property-title-time-picker">
|
||||
<div class="property-title-time-picker__all-day">
|
||||
<NcCheckboxRadioSwitch :checked="isPrivate"
|
||||
@update:checked="toggleIsPrivate">
|
||||
{{ $t('calendar', 'Privé') }}
|
||||
</NcCheckboxRadioSwitch>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
{{ getIsPrivateLabel }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { NcCheckboxRadioSwitch } from '@nextcloud/vue'
|
||||
export default {
|
||||
name: "PropertyIsPrivate",
|
||||
components: {
|
||||
NcCheckboxRadioSwitch,
|
||||
},
|
||||
props: {
|
||||
isPrivate: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
getIsPrivateLabel() {
|
||||
return this.isPrivate ? this.$t('calendar', 'Privé') : this.$t('calendar', 'Mettre en privé');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toggleIsPrivate() {
|
||||
const newState = !this.isPrivate;
|
||||
this.$emit('toggle-is-private',newState)
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.checkbox-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<div class="property-select">
|
||||
<div class="property-select__input"
|
||||
:class="{ 'property-select__input--readonly': isReadOnly }">
|
||||
<NcSelect v-if="!isReadOnly"
|
||||
:options="options"
|
||||
:searchable="true"
|
||||
:multiple="false"
|
||||
:taggable="false"
|
||||
:name="readableName"
|
||||
:value="selectedValue"
|
||||
:placeholder="placeholder"
|
||||
:clearable="true"
|
||||
:labelOutside="true"
|
||||
input-id="value"
|
||||
label="label"
|
||||
@input="changeValue" />
|
||||
<div v-else>{{ selectedValue.label }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { NcSelect } from '@nextcloud/vue';
|
||||
import PropertyMixin from '../../../mixins/PropertyMixin.js'
|
||||
export default {
|
||||
name: 'PropertySelectAbsenceType',
|
||||
components: {
|
||||
NcSelect,
|
||||
},
|
||||
props: {
|
||||
isReadOnly: {
|
||||
type: Boolean,
|
||||
default: false, // Par défaut, on permet la modification
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
properties: [
|
||||
{ value: 'LEAVE', label: 'Congé' },
|
||||
{ value: 'REST', label: 'Repos' },
|
||||
{ value: 'DISEASE', label: 'Arrêt maladie' },
|
||||
],
|
||||
};
|
||||
},
|
||||
mixins: [
|
||||
PropertyMixin,
|
||||
],
|
||||
computed: {
|
||||
options() {
|
||||
return this.properties;
|
||||
},
|
||||
selectedValue() {
|
||||
const value = this.value
|
||||
return this.properties.find((option) => option.value == value)
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
changeValue(selectedOption) {
|
||||
this.$emit('update:value', selectedOption.value ?? null);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.property-select {
|
||||
&__input {
|
||||
width: calc(100% - 34px - 34px);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -41,6 +41,7 @@ import { getAllObjectsInTimeRange } from '../../utils/calendarObject.js'
|
||||
*/
|
||||
export function eventSourceFunction(calendarObjects, calendar, start, end, timezone) {
|
||||
const fcEvents = []
|
||||
const authUser = OC.currentUser;
|
||||
for (const calendarObject of calendarObjects) {
|
||||
let allObjectsInTimeRange
|
||||
try {
|
||||
@ -120,9 +121,39 @@ export function eventSourceFunction(calendarObjects, calendar, start, end, timez
|
||||
}
|
||||
|
||||
let isCalendarPending = false;
|
||||
let objectProperties = object._properties.get('ISCALENDARPENDING');
|
||||
if (objectProperties && objectProperties.length > 0) {
|
||||
isCalendarPending = objectProperties[0]._value == "1" ? true : false;
|
||||
let objectPropertiesPending = object._properties.get('ISCALENDARPENDING');
|
||||
if (objectPropertiesPending && objectPropertiesPending.length > 0) {
|
||||
isCalendarPending = objectPropertiesPending[0]._value == "1" ? true : false;
|
||||
}
|
||||
|
||||
let isPrivateEvent = false;
|
||||
let objectPropertiesPrivate = object._properties.get('ISPRIVATE');
|
||||
if (objectPropertiesPrivate && objectPropertiesPrivate.length > 0) {
|
||||
isPrivateEvent = objectPropertiesPrivate[0]._value == "1" ? true : false;
|
||||
}
|
||||
//Get owen object's user
|
||||
let owenUrl = calendarObject.dav._parent.owner
|
||||
let owenUser = owenUrl.replace('/remote.php/dav/principals/users/','').split('/')[0]
|
||||
if (!owenUser) {
|
||||
//Get from url shared calendar
|
||||
owenUrl = calendarObject.dav._parent.url
|
||||
owenUser = owenUrl.replace('/remote.php/dav/calendars/' + authUser + '/personal_shared_by_' ,'').split('/')[0]
|
||||
}
|
||||
|
||||
const isOwenOfEvent = owenUser == authUser
|
||||
|
||||
if (isPrivateEvent && !isOwenOfEvent ) {
|
||||
title = t('calendar', `Absent (${owenUser})`)
|
||||
}
|
||||
|
||||
let absenceTypeIsLeave = false;
|
||||
let absenceTypeProperties = object._properties.get('ABSENCETYPE');
|
||||
if (absenceTypeProperties && absenceTypeProperties.length > 0) {
|
||||
const absenceTypeValue = absenceTypeProperties[0]._value
|
||||
if(absenceTypeValue == 'LEAVE'){
|
||||
absenceTypeIsLeave = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const fcEvent = {
|
||||
@ -149,7 +180,11 @@ export function eventSourceFunction(calendarObjects, calendar, start, end, timez
|
||||
davUrl: calendarObject.dav.url,
|
||||
location: object.location,
|
||||
description: object.description,
|
||||
isCalendarPending: isCalendarPending
|
||||
isCalendarPending: isCalendarPending,
|
||||
isPrivate: isPrivateEvent,
|
||||
calendarObjectOwen : owenUser ,
|
||||
calendarObjectIsOwen : isOwenOfEvent,
|
||||
absenceTypeIsLeave : absenceTypeIsLeave
|
||||
},
|
||||
}
|
||||
|
||||
@ -159,6 +194,12 @@ export function eventSourceFunction(calendarObjects, calendar, start, end, timez
|
||||
fcEvent.textColor = generateTextColorForHex(calendar.color)
|
||||
}
|
||||
|
||||
if(absenceTypeIsLeave){
|
||||
fcEvent.backgroundColor = calendar.color
|
||||
fcEvent.borderColor = calendar.color
|
||||
fcEvent.textColor = generateTextColorForHex(calendar.color)
|
||||
}
|
||||
|
||||
if (object.color) {
|
||||
const customColor = getHexForColorName(object.color)
|
||||
if (customColor) {
|
||||
|
||||
@ -69,6 +69,11 @@ export default function(store, router, route, window, isWidget = false, ref = un
|
||||
* @param {boolean} isWidget Whether the calendar is embedded in a widget
|
||||
*/
|
||||
function handleEventClick(event, store, router, route, window, isWidget = false) {
|
||||
|
||||
if(event.extendedProps.isPrivate && !event.extendedProps.calendarObjectIsOwen ){
|
||||
return;
|
||||
}
|
||||
|
||||
if (isWidget) {
|
||||
store.commit('setSelectedEvent', { object: event.extendedProps.objectId, recurrenceId: event.extendedProps.recurrenceId })
|
||||
return
|
||||
|
||||
@ -145,6 +145,16 @@ export default {
|
||||
return this.calendarObjectInstance?.comment ?? null
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the isPrivate property
|
||||
*
|
||||
* @return {boolean}
|
||||
*/
|
||||
|
||||
isPrivate() {
|
||||
return this.calendarObjectInstance?.isPrivate ?? false
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Returns the description or null if the event is still loading
|
||||
@ -387,7 +397,7 @@ export default {
|
||||
* Returns an object with properties from RFCs including
|
||||
* their displayName, a description, options, etc.
|
||||
*
|
||||
* @return {{comment, geo, color, timeTransparency, description, resources, location, client, categories, accessClass, priority, status, locations, articles, clients,embalmer,embalmers}}
|
||||
* @return {{absenceType ,comment, geo, color, timeTransparency, description, resources, location, client, categories, accessClass, priority, status, locations, articles, clients,embalmer,embalmers}}
|
||||
*/
|
||||
rfcProps() {
|
||||
return getRFCProperties()
|
||||
@ -439,6 +449,24 @@ export default {
|
||||
|
||||
return false
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the absence type
|
||||
*
|
||||
* @return {string|null}
|
||||
*/
|
||||
absenceType() {
|
||||
const isleave = this.calendarObjectInstance?.isLeave ?? false
|
||||
const absenceType = this.calendarObjectInstance?.absenceType ?? null
|
||||
if (absenceType) {
|
||||
return this.calendarObjectInstance?.absenceType
|
||||
}
|
||||
if (isleave && !absenceType ) {
|
||||
return 'LEAVE'
|
||||
}
|
||||
|
||||
return '';
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
@ -796,16 +824,23 @@ export default {
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* Toggles the event between all-day and timed
|
||||
*/
|
||||
toggleIsLeave(isLeave) {
|
||||
this.$store.commit('toggleIsLeave', {
|
||||
toggleIsPrivate(isPrivate) {
|
||||
this.$store.commit('toggleIsPrivate', {
|
||||
calendarObjectInstance: this.calendarObjectInstance,
|
||||
isLeave
|
||||
isPrivate
|
||||
})
|
||||
},
|
||||
|
||||
// /**
|
||||
// * Toggles the event between all-day and timed
|
||||
// */
|
||||
// toggleIsLeave(isLeave) {
|
||||
// this.$store.commit('toggleIsLeave', {
|
||||
// calendarObjectInstance: this.calendarObjectInstance,
|
||||
// isLeave
|
||||
// })
|
||||
// },
|
||||
|
||||
/**
|
||||
* Toggles the event pending
|
||||
*/
|
||||
@ -849,6 +884,18 @@ export default {
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* Updates the absence type of this event
|
||||
*
|
||||
* @param {string} absenceType New absence type
|
||||
*/
|
||||
updateAbsenceType(absenceType) {
|
||||
this.$store.commit('changeAbsenceType', {
|
||||
calendarObjectInstance: this.calendarObjectInstance,
|
||||
absenceType,
|
||||
})
|
||||
}
|
||||
},
|
||||
/**
|
||||
* This is executed before entering the Editor routes
|
||||
|
||||
@ -64,6 +64,10 @@ const getDefaultEventObject = (props = {}) => Object.assign({}, {
|
||||
client : null,
|
||||
//embalmer(Thanato) of the event
|
||||
embalmer : null,
|
||||
//absenceType
|
||||
absenceType : null,
|
||||
//Private
|
||||
isPrivate: false,
|
||||
//comment of the event
|
||||
comment : null,
|
||||
// description of the event
|
||||
@ -110,12 +114,13 @@ const mapEventComponentToEventObject = (eventComponent) => {
|
||||
eventComponent,
|
||||
title: eventComponent.title,
|
||||
isAllDay: eventComponent.isAllDay(),
|
||||
isLeave: false,
|
||||
isPrivate: false,
|
||||
isCalendarPending: false,
|
||||
canModifyAllDay: eventComponent.canModifyAllDay(),
|
||||
location: eventComponent.location,
|
||||
client : "CLIENT",
|
||||
embalmer : "TEST",
|
||||
absenceType : "",
|
||||
comment : "",
|
||||
description: eventComponent.description,
|
||||
accessClass: eventComponent.accessClass,
|
||||
@ -214,9 +219,22 @@ const mapEventComponentToEventObject = (eventComponent) => {
|
||||
eventObject.comment = eventComponent.getFirstPropertyFirstValue('COMMENT');
|
||||
}
|
||||
|
||||
if(eventComponent.hasProperty('ISLEAVE')){
|
||||
eventObject.isLeave = eventComponent.getFirstPropertyFirstValue('ISLEAVE') === '1' ? true : false;
|
||||
if(eventComponent.hasProperty('ISPRIVATE')){
|
||||
eventObject.isPrivate = eventComponent.getFirstPropertyFirstValue('ISPRIVATE') === '1' ? true : false;
|
||||
}
|
||||
|
||||
|
||||
if(eventComponent.hasProperty('ABSENCETYPE')){
|
||||
eventObject.absenceType = eventComponent.getFirstPropertyFirstValue('ABSENCETYPE');
|
||||
|
||||
}else{
|
||||
if(eventComponent.hasProperty('ISLEAVE')){
|
||||
if( eventComponent.getFirstPropertyFirstValue('ISLEAVE') === '1'){
|
||||
eventObject.absenceType = 'LEAVE';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(eventComponent.hasProperty('ISCALENDARPENDING')){
|
||||
eventObject.isCalendarPending = eventComponent.getFirstPropertyFirstValue('ISCALENDARPENDING') === '1' ? true : false;
|
||||
}
|
||||
@ -235,7 +253,7 @@ const copyCalendarObjectInstanceIntoEventComponent = (eventObject, eventComponen
|
||||
eventComponent.location = eventObject.location
|
||||
eventComponent.client = eventObject.client
|
||||
eventComponent.embalmer = eventObject.embalmer
|
||||
eventComponent.isLeave = eventObject.isLeave
|
||||
eventComponent.isPrivate = eventObject.isPrivate
|
||||
eventComponent.isCalendarPending = eventObject.isCalendarPending
|
||||
eventComponent.comment = eventObject.comment
|
||||
eventComponent.description = eventObject.description
|
||||
|
||||
@ -142,6 +142,11 @@ const getRFCProperties = () => {
|
||||
icon: 'Human',
|
||||
},
|
||||
|
||||
absenceType: {
|
||||
readableName: t('calendar', 'Type d\'absence'),
|
||||
placeholder: t('calendar', 'Type d\'absence'),
|
||||
},
|
||||
|
||||
embalmers: {
|
||||
readableName: t('calendar', 'Embalmers'),
|
||||
icon: 'Human',
|
||||
@ -152,6 +157,7 @@ const getRFCProperties = () => {
|
||||
tagPlaceholder: t('calendar', 'Choose thanatopracteur'),
|
||||
options: [],
|
||||
},
|
||||
|
||||
|
||||
embalmer: {
|
||||
readableName: t('calendar', 'Embalmer'),
|
||||
|
||||
@ -285,6 +285,19 @@ const mutations = {
|
||||
calendarObjectInstance.eventComponent.endDate.addDuration(DurationValue.fromSeconds(60 * 60 * 24))
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Is private
|
||||
*
|
||||
* @param {object} state The Vuex state
|
||||
* @param {object} data The destructuring object
|
||||
* @param {object} data.calendarObjectInstance The calendarObjectInstance object
|
||||
*/
|
||||
toggleIsPrivate(state, { calendarObjectInstance, isPrivate }) {
|
||||
calendarObjectInstance.eventComponent.isPrivate = isPrivate
|
||||
calendarObjectInstance.isPrivate = isPrivate
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Is leave
|
||||
@ -390,6 +403,43 @@ const mutations = {
|
||||
calendarObjectInstance.embalmer = embalmer
|
||||
},
|
||||
|
||||
/**
|
||||
* Change the absence type of an event
|
||||
*
|
||||
* @param {object} state The Vuex state
|
||||
* @param {object} data The destructuring object
|
||||
* @param {object} data.calendarObjectInstance The calendarObjectInstance object
|
||||
* @param {string} data.embalmer New embalmer to set
|
||||
*/
|
||||
changeAbsenceType(state, { calendarObjectInstance, absenceType }) {
|
||||
calendarObjectInstance.eventComponent.absenceType = absenceType ?? null
|
||||
calendarObjectInstance.absenceType = absenceType ?? null
|
||||
if(absenceType){
|
||||
const types = [
|
||||
{ value: 'LEAVE', label: 'Congé' },
|
||||
{ value: 'REST', label: 'Repos' },
|
||||
{ value: 'DISEASE', label: 'Arrêt maladie' },
|
||||
];
|
||||
|
||||
types.forEach((element) => {
|
||||
if(element.value == absenceType){
|
||||
calendarObjectInstance.title = element.label
|
||||
calendarObjectInstance.eventComponent.title = element.label
|
||||
|
||||
if(absenceType == 'LEAVE'){
|
||||
const startDate = calendarObjectInstance.eventComponent.startDate
|
||||
const endDate = calendarObjectInstance.eventComponent.endDate
|
||||
|
||||
startDate.hour = 8 ; endDate.hour = 17
|
||||
|
||||
calendarObjectInstance.startDate = getDateFromDateTimeValue(startDate)
|
||||
calendarObjectInstance.endDate = getDateFromDateTimeValue(endDate)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Change the description of an event
|
||||
*
|
||||
@ -1539,6 +1589,12 @@ const mutations = {
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
setAbsenceType(state, { calendarObjectInstance, absenceType }) {
|
||||
if (calendarObjectInstance) {
|
||||
calendarObjectInstance.absenceType = absenceType;
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
const getters = {}
|
||||
@ -1731,8 +1787,10 @@ const actions = {
|
||||
|
||||
let additionalFieldWasUpdated =
|
||||
eventComponent.client != null ||
|
||||
eventComponent.isPrivate != null ||
|
||||
eventComponent.comment != null ||
|
||||
eventComponent.isLeave != null ||
|
||||
eventComponent.absenceType ||
|
||||
eventComponent.isCalendarPending != null;
|
||||
if (eventComponent.isDirty() || additionalFieldWasUpdated) {
|
||||
const isForkedItem = eventComponent.primaryItem !== null
|
||||
|
||||
@ -258,20 +258,22 @@ const actions = {
|
||||
icsValue = setCustomKeyValuesArrayToIcsAndReturnIcs(icsValue,customKeyValue);
|
||||
}
|
||||
}
|
||||
if(eventComponent.isLeave != null){
|
||||
let isLeaveValue = eventComponent.isLeave ? "1" : "0";
|
||||
let newIsLeaveKeyValue = "ISLEAVE:"+isLeaveValue;
|
||||
let regex = /ISLEAVE:\d+/;
|
||||
|
||||
if(eventComponent.isPrivate != null){
|
||||
let isPrivateValue = eventComponent.isPrivate ? "1" : "0";
|
||||
let newIsPrivateKeyValue = "ISPRIVATE:"+isPrivateValue;
|
||||
let regex = /ISPRIVATE:\d+/;
|
||||
if(regex.test(icsValue)){
|
||||
icsValue = icsValue.replace(regex, newIsLeaveKeyValue);
|
||||
icsValue = icsValue.replace(regex, newIsPrivateKeyValue);
|
||||
}
|
||||
else{
|
||||
const customKeyValue = {
|
||||
"ISLEAVE": isLeaveValue
|
||||
"ISPRIVATE": isPrivateValue
|
||||
};
|
||||
icsValue = setCustomKeyValuesArrayToIcsAndReturnIcs(icsValue,customKeyValue);
|
||||
}
|
||||
}
|
||||
|
||||
if(eventComponent.isCalendarPending != null){
|
||||
let isCalendarPendingValue = eventComponent.isCalendarPending ? "1" : "0";
|
||||
let newIsCalendarPendingKeyValue = "ISCALENDARPENDING:"+isCalendarPendingValue;
|
||||
@ -286,6 +288,21 @@ const actions = {
|
||||
icsValue = setCustomKeyValuesArrayToIcsAndReturnIcs(icsValue,customKeyValue);
|
||||
}
|
||||
}
|
||||
|
||||
if(eventComponent.absenceType != null && eventComponent.absenceType != ''){
|
||||
let absenceTypeValue = eventComponent.absenceType;
|
||||
let key = "ABSENCETYPE:"+absenceTypeValue;
|
||||
let regex = /^ABSENCETYPE:.*$/m;
|
||||
if(regex.test(icsValue)){
|
||||
icsValue = icsValue.replace(regex, key);
|
||||
}
|
||||
else{
|
||||
const customKeyValue = {
|
||||
"ABSENCETYPE": absenceTypeValue
|
||||
};
|
||||
icsValue = setCustomKeyValuesArrayToIcsAndReturnIcs(icsValue,customKeyValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
calendarObject.dav.data = icsValue;
|
||||
await calendarObject.dav.update()
|
||||
@ -305,8 +322,9 @@ const actions = {
|
||||
"CLIENT": eventComponent.client,
|
||||
"EMBALMER": eventComponent.embalmer,
|
||||
"COMMENT": eventComponent.comment,
|
||||
"ISLEAVE": eventComponent.isLeave ? "1" : "0",
|
||||
"ISPRIVATE": eventComponent.isPrivate ? "1" : "0",
|
||||
"ISCALENDARPENDING": eventComponent.isCalendarPending ? "1" : "0",
|
||||
"ABSENCETYPE": eventComponent.absenceType ?? ''
|
||||
};
|
||||
icsValue = setCustomKeyValuesArrayToIcsAndReturnIcs(icsValue,customKeyValue);
|
||||
}
|
||||
|
||||
@ -103,10 +103,28 @@
|
||||
@update-end-timezone="updateEndTimezone"
|
||||
@toggle-all-day="toggleAllDay"/>
|
||||
|
||||
<PropertyIsLeave
|
||||
|
||||
<div style='margin-top: 13px; display:flex ;width: 81%;'>
|
||||
<div style='width:100%'>
|
||||
<PropertySelectAbsenceType
|
||||
:value="absenceType"
|
||||
:is-read-only="isReadOnly"
|
||||
:prop-model="rfcProps.absenceType"
|
||||
:noWrap='true'
|
||||
@update:value="updateAbsenceType" />
|
||||
</div>
|
||||
<!-- <div style='width:30% ;margin-top: -11px;'>
|
||||
<PropertyIsPrivate
|
||||
:is-read-only="isReadOnly"
|
||||
:is-private="isPrivate"
|
||||
@toggle-is-private="toggleIsPrivate"
|
||||
/>
|
||||
</div> -->
|
||||
</div>
|
||||
<!-- <PropertyIsLeave
|
||||
:is-read-only="isReadOnly"
|
||||
:is-leave="isLeave"
|
||||
@toggle-is-leave="toggleIsLeave" />
|
||||
@toggle-is-leave="toggleIsLeave" /> -->
|
||||
|
||||
<!-- <PropertyIsCalendarPending
|
||||
:is-read-only="isReadOnly"
|
||||
@ -388,6 +406,7 @@ import PropertySelectClient from "../components/Editor/Properties/PropertySelect
|
||||
import PropertySelectArticle from "../components/Editor/Properties/PropertySelectArticle.vue";
|
||||
import PropertyIsLeave from '../components/Editor/Properties/PropertyIsLeave.vue';
|
||||
import PropertyIsCalendarPending from '../components/Editor/Properties/PropertyIsCalendarPending';
|
||||
import PropertySelectAbsenceType from "../components/Editor/Properties/PropertySelectAbsenceType.vue";
|
||||
|
||||
export default {
|
||||
name: 'EditSidebar',
|
||||
@ -429,6 +448,8 @@ export default {
|
||||
AttachmentsList,
|
||||
CalendarPickerHeader,
|
||||
PropertyTitle,
|
||||
PropertySelectAbsenceType,
|
||||
|
||||
},
|
||||
mixins: [
|
||||
EditorMixin,
|
||||
|
||||
@ -146,11 +146,30 @@
|
||||
@toggle-all-day="toggleAllDay"
|
||||
/>
|
||||
|
||||
<PropertyIsLeave
|
||||
<div style='display:flex ;margin-left: 7%;'>
|
||||
<div style='width:70%'>
|
||||
<PropertySelectAbsenceType
|
||||
:value="absenceType"
|
||||
:is-read-only="isReadOnly"
|
||||
:prop-model="rfcProps.absenceType"
|
||||
:noWrap='true'
|
||||
sle
|
||||
@update:value="updateAbsenceType" />
|
||||
</div>
|
||||
<!-- <div style='width:30% ;margin-top: -11px;'>
|
||||
<PropertyIsPrivate
|
||||
:is-read-only="isReadOnly"
|
||||
:is-private="isPrivate"
|
||||
@toggle-is-private="toggleIsPrivate"/>
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- <PropertyIsLeave
|
||||
:is-read-only="isReadOnlyOrViewing"
|
||||
:is-leave="isLeave"
|
||||
@toggle-is-leave="toggleIsLeave"
|
||||
/>
|
||||
/> -->
|
||||
|
||||
<!-- <PropertyIsCalendarPending
|
||||
:is-read-only="isReadOnlyOrViewing"
|
||||
@ -285,7 +304,6 @@ import Download from "vue-material-design-icons/Download.vue";
|
||||
import ContentDuplicate from "vue-material-design-icons/ContentDuplicate.vue";
|
||||
import EditIcon from "vue-material-design-icons/Pencil.vue";
|
||||
import { mapState } from "vuex";
|
||||
import { showError } from "@nextcloud/dialogs";
|
||||
import PropertySelect from "../components/Editor/Properties/PropertySelect.vue";
|
||||
import PropertySelectAjax from "../components/Editor/Properties/PropertySelectAjax.vue";
|
||||
import PropertySelectAjaxMultiple from "../components/Editor/Properties/PropertySelectAjaxMultiple.vue";
|
||||
@ -294,6 +312,9 @@ import PropertySelectClient from "../components/Editor/Properties/PropertySelect
|
||||
import PropertySelectArticle from "../components/Editor/Properties/PropertySelectArticle.vue";
|
||||
import PropertyIsLeave from "../components/Editor/Properties/PropertyIsLeave.vue";
|
||||
import PropertyIsCalendarPending from "../components/Editor/Properties/PropertyIsCalendarPending";
|
||||
import PropertySelectAbsenceType from "../components/Editor/Properties/PropertySelectAbsenceType.vue";
|
||||
import PropertyIsPrivate from "../components/Editor/Properties/PropertyIsPrivate.vue";
|
||||
|
||||
|
||||
export default {
|
||||
name: "EditSimple",
|
||||
@ -311,6 +332,7 @@ export default {
|
||||
PropertyText,
|
||||
PropertyTitleTimePicker,
|
||||
PropertyTitle,
|
||||
PropertySelectAbsenceType,
|
||||
Popover,
|
||||
Actions,
|
||||
ActionButton,
|
||||
@ -326,6 +348,8 @@ export default {
|
||||
InviteesList,
|
||||
NcButton,
|
||||
EditIcon,
|
||||
PropertyIsPrivate,
|
||||
|
||||
},
|
||||
mixins: [EditorMixin],
|
||||
data() {
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
10
gestion/lib/Constants/AbsenceTypeConstant.php
Normal file
10
gestion/lib/Constants/AbsenceTypeConstant.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OCA\Gestion\Constants;
|
||||
abstract class AbsenceTypeConstant
|
||||
{
|
||||
const LEAVE = "LEAVE";
|
||||
const DISEASE = "DISEASE";
|
||||
const REST = "REST";
|
||||
}
|
||||
@ -5,5 +5,19 @@ namespace OCA\Gestion\Constants;
|
||||
abstract class VCalendarPropertyConstant
|
||||
{
|
||||
const PROPERTY_IS_LEAVE = "ISLEAVE";
|
||||
const PROPERTY_IS_PRIVATE = "ISPRIVATE";
|
||||
const PROPERTY_IS_CALENDAR_PENDING = "ISCALENDARPENDING";
|
||||
const ABSENCE_TYPE = "ABSENCETYPE";
|
||||
|
||||
const ABSENCE_TYPES = [
|
||||
AbsenceTypeConstant::LEAVE,
|
||||
AbsenceTypeConstant::REST,
|
||||
AbsenceTypeConstant::DISEASE
|
||||
];
|
||||
|
||||
const ABSENCE_TYPES_KEYS_VALUES = [
|
||||
AbsenceTypeConstant::LEAVE => "CONGE",
|
||||
AbsenceTypeConstant::REST => "REPOS",
|
||||
AbsenceTypeConstant::DISEASE => "MALADIE"
|
||||
];
|
||||
}
|
||||
@ -1,21 +1,23 @@
|
||||
<?php
|
||||
namespace OCA\Gestion\Db;
|
||||
|
||||
use OCA\Gestion\Constants\ClientTemplateTypeConstant;
|
||||
use OCA\Gestion\Constants\FactureStatusConstant;
|
||||
use OCA\Gestion\Constants\FactureTypeConstant;
|
||||
use \Datetime;
|
||||
use OCP\IL10N;
|
||||
use OCP\IDBConnection;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use OCA\Gestion\Helpers\DateHelpers;
|
||||
use OCA\Gestion\Helpers\PriceHelpers;
|
||||
use OCP\IDBConnection;
|
||||
use OCP\IL10N;
|
||||
use \Datetime;
|
||||
use OCA\Gestion\Constants\BddConstant;
|
||||
use OCA\Gestion\Constants\DevisMentionConstant;
|
||||
use OCA\Gestion\Constants\MultipleFactureTypeConstant;
|
||||
use OCA\Gestion\Helpers\VCalendarHelpers;
|
||||
use OCA\Gestion\Constants\ProductConstant;
|
||||
use OCA\Gestion\Helpers\FileExportHelpers;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use OCA\Gestion\Helpers\VCalendarHelpers;
|
||||
use OCA\Gestion\Constants\AbsenceTypeConstant;
|
||||
use OCA\Gestion\Constants\FactureTypeConstant;
|
||||
use OCA\Gestion\Constants\DevisMentionConstant;
|
||||
use OCA\Gestion\Constants\FactureStatusConstant;
|
||||
use OCA\Gestion\Constants\VCalendarPropertyConstant;
|
||||
use OCA\Gestion\Constants\ClientTemplateTypeConstant;
|
||||
use OCA\Gestion\Constants\MultipleFactureTypeConstant;
|
||||
|
||||
class Bdd {
|
||||
private String $charset = 'utf8mb4';
|
||||
@ -605,7 +607,7 @@ class Bdd {
|
||||
}
|
||||
|
||||
public function getOneFacture($numfacture, $idNextcloud){
|
||||
$sql = "SELECT ".$this->tableprefix."facture.id," . $this->tableprefix . "facture.version," . $this->tableprefix . "facture.num, "
|
||||
$sql = "SELECT ".$this->tableprefix."facture.id," . $this->tableprefix . "facture.version," . $this->tableprefix . "facture.num, " . $this->tableprefix . "facture.facture_number, "
|
||||
.$this->tableprefix."facture.date, ".$this->tableprefix."devis.num as dnum, comment, date_paiement, type_paiement, id_devis, ".$this->tableprefix."client.nom, prenom, entreprise,"
|
||||
.$this->tableprefix."devis.comment as dcomment,".$this->tableprefix."lieu.nom as lieu, ".$this->tableprefix."lieu.adresse as adresse_soin,"
|
||||
.$this->tableprefix."defunt.nom as nom_defunt, "
|
||||
@ -793,6 +795,7 @@ class Bdd {
|
||||
.$this->tableprefix."defunt.observations_generales,"
|
||||
.$this->tableprefix."defunt.product_photo,"
|
||||
.$this->tableprefix."defunt.product_photo_name,"
|
||||
.$this->tableprefix."defunt.product_brand,"
|
||||
.$this->tableprefix."client.id as clientid, ".$this->tableprefix."client.nom, ".$this->tableprefix."client.prenom, legal_one, entreprise, telephone, mail, ".$this->tableprefix."client.adresse,"
|
||||
.$this->tableprefix."lieu.nom as lieu, ".$this->tableprefix."lieu.adresse as adresse_soin ,"
|
||||
.$this->tableprefix."thanato.nom as nom_thanato, ".$this->tableprefix."thanato.prenom as prenom_thanato, "
|
||||
@ -1414,7 +1417,14 @@ class Bdd {
|
||||
}
|
||||
$factureDate = $devisDatetime->format('Y-m-d');
|
||||
$factureNumber = $this->getFactureNumberByDate($devisDatetime);
|
||||
$fullFactureNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($devisDatetime,$factureNumber,"FAC");
|
||||
$facturePrefix = "FAC";
|
||||
$devis = json_decode($this->getOneDevis($devisId, $idNextcloud))[0];
|
||||
$isDevisNegative = $this->isDevisNegative($devisId,clientId: $devis->clientid);
|
||||
if($isDevisNegative){
|
||||
$facturePrefix = "AVO";
|
||||
}
|
||||
|
||||
$fullFactureNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($devisDatetime,$factureNumber,$facturePrefix);
|
||||
$last = 0;
|
||||
$last = $this->lastNumFacture($idNextcloud);
|
||||
$sql = "INSERT INTO `".$this->tableprefix."facture` (`date`,`id_nextcloud`,`num`,`date_paiement`,`type_paiement`,`id_devis`,`user_id`, `version`,`facture_number`) VALUES (?,?,?,?,?,?,?,?,?);";
|
||||
@ -1514,6 +1524,47 @@ class Bdd {
|
||||
$this->execSQLNoData($sql, array($idNextcloud,'inserer un texte ici'));
|
||||
return true;
|
||||
}
|
||||
|
||||
private function isDevisNegative($devisId,$clientId){
|
||||
$sql = "SELECT produit_devis.quantite,produit.prix_unitaire,produit.id
|
||||
FROM ".$this->tableprefix."produit_devis as produit_devis
|
||||
LEFT JOIN ".$this->tableprefix."produit as produit ON produit_devis.produit_id = produit.id
|
||||
WHERE produit_devis.devis_id = ?;";
|
||||
$devisProduits = $this->execSQLNoJsonReturn($sql,array($devisId));
|
||||
$total = 0;
|
||||
if(!empty($devisProduits)){
|
||||
foreach($devisProduits as $currentProduit){
|
||||
if($currentProduit['id'] != null){
|
||||
$produitPrice = $this->getProductPriceByClient($currentProduit['id'],$clientId,$currentProduit['prix_unitaire']);
|
||||
$total += $produitPrice * $currentProduit['quantite'];
|
||||
}
|
||||
}
|
||||
}
|
||||
return $total < 0;
|
||||
}
|
||||
|
||||
private function getProduitDevisById($produitDevisId){
|
||||
$sql = "SELECT * FROM ".$this->tableprefix."produit_devis as produit_devis
|
||||
WHERE produit_devis.id = ?;";
|
||||
|
||||
$result = $this->execSQLNoJsonReturn($sql,[$produitDevisId]);;
|
||||
|
||||
if(!empty($result)){
|
||||
return $result[0];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private function getFactureByDevisId($devisId){
|
||||
$sql = "SELECT * FROM ".$this->tableprefix."facture as facture
|
||||
WHERE facture.id_devis = ?";
|
||||
|
||||
$result = $this->execSQLNoJsonReturn($sql,[$devisId]);
|
||||
if(!empty($result)){
|
||||
return $result[0];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* UPDATE
|
||||
@ -1526,7 +1577,15 @@ class Bdd {
|
||||
if($facture['date_paiement'] != $data){
|
||||
$facturationDatetime = Datetime::createFromFormat('Y-m-d',$data);
|
||||
$factureNumber = $this->getFactureNumberByDate($facturationDatetime);
|
||||
$fullFactureNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($facturationDatetime,$factureNumber,"FAC");
|
||||
$facturePrefix = "FAC";
|
||||
if($facture['id_devis']){
|
||||
$devis = json_decode($this->getOneDevis($facture['id_devis'], $idNextcloud))[0];
|
||||
$isDevisNegative = $this->isDevisNegative($facture['id_devis'],$devis->clientid);
|
||||
if($isDevisNegative){
|
||||
$facturePrefix = "AVO";
|
||||
}
|
||||
}
|
||||
$fullFactureNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($facturationDatetime,$factureNumber,$facturePrefix);
|
||||
$sql = "UPDATE ".$this->tableprefix.$table." SET `facture_number`= ? WHERE `id` = ?";
|
||||
$this->execSQLNoData($sql, array($factureNumber, $id));
|
||||
$sql = "UPDATE ".$this->tableprefix.$table." SET $column = ?, `num`= ? WHERE `id` = ?";
|
||||
@ -1539,6 +1598,16 @@ class Bdd {
|
||||
$devis = json_decode($this->getOneDevis(htmlentities(rtrim($data)), $idNextcloud))[0];
|
||||
$sql = "UPDATE ".$this->tableprefix.$table." SET $column = ?, `date`= ?, `version`= ? WHERE `id` = ?";
|
||||
$this->execSQLNoData($sql, array(htmlentities(rtrim($data)), $devis->date, html_entity_decode($devis->version),$id));
|
||||
$facturePrefix = "FAC";
|
||||
$factureNumber = $facture->facture_number;
|
||||
$isDevisNegative = $this->isDevisNegative($devis->devisid,$devis->clientid);
|
||||
if($isDevisNegative){
|
||||
$facturePrefix = "AVO";
|
||||
}
|
||||
$facturationDatetime = new Datetime($facture->date);
|
||||
$fullFactureNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($facturationDatetime,$factureNumber,$facturePrefix);
|
||||
$sql = "UPDATE ".$this->tableprefix.$table." SET `num`= ? WHERE `id` = ?";
|
||||
$this->execSQLNoData($sql, array($fullFactureNumber, $id));
|
||||
|
||||
} else if(strcmp($table, "lieu")==0 && (strcmp($column, "latitude")==0 || strcmp($column, "longitude")==0)) {
|
||||
|
||||
@ -1564,7 +1633,29 @@ class Bdd {
|
||||
} else if(strcmp($table, "ligne_trajet")==0 && (strcmp($column, "id_devis")==0 || strcmp($column, "date")==0 || strcmp($column, "id_lieu")==0 || strcmp($column, "rang")==0)) {
|
||||
$ligne_trajet = json_decode($this->getOneTrajetdetails($id, $idNextcloud))[0];
|
||||
$this->update_lieu_date_devis_rang_ligneTrajet($ligne_trajet, $column, htmlentities(rtrim($data)), $idNextcloud);
|
||||
} else {
|
||||
}
|
||||
else if(strcmp($table,"produit_devis") == 0 && (strcmp($column,"quantite") == 0)){
|
||||
$sql = "UPDATE ".$this->tableprefix.$table." SET $column = ? WHERE `id` = ?";
|
||||
$this->execSQLNoData($sql, array(trim(string: $data), $id));
|
||||
$produitDevis = $this->getProduitDevisById($id);
|
||||
if($produitDevis){
|
||||
$devisId = $produitDevis['devis_id'];
|
||||
$devis = json_decode($this->getOneDevis($devisId, $idNextcloud))[0];
|
||||
if($devis){
|
||||
$facture = $this->getFactureByDevisId($devisId);
|
||||
$isDevisNegative = $this->isDevisNegative($devisId,$devis->clientid);
|
||||
if($isDevisNegative){
|
||||
$factureNumber = $facture["facture_number"];
|
||||
$facturePrefix = "AVO";
|
||||
$facturationDatetime = new Datetime($facture["date"]);
|
||||
$fullFactureNumber = DateHelpers::GetFullFactureOrDevisNumberByDate($facturationDatetime,$factureNumber,$facturePrefix);
|
||||
$sql = "UPDATE ".$this->tableprefix."facture SET `num`= ? WHERE `id` = ?";
|
||||
$this->execSQLNoData($sql, array($fullFactureNumber, $facture['id']));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$sql = "UPDATE ".$this->tableprefix.$table." SET $column = ? WHERE `id` = ?";
|
||||
$this->execSQLNoData($sql, array(trim($data), $id));
|
||||
}
|
||||
@ -2370,18 +2461,33 @@ class Bdd {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private function getThanatoLeaveByCalendarAndDate($calendarId,$date){
|
||||
$isLeaveConditionAsString = "ABSENCETYPE:";
|
||||
|
||||
$datetimeFormatted = $date->format('Ymd');
|
||||
$dateCondition = "%DTSTART%".$datetimeFormatted."%";
|
||||
$isLeaveConditionAsString = "%".BddConstant::ISLEAVEPROPERTYONVCALENDAR.":1%";
|
||||
$conditions = [];
|
||||
$params = [ $calendarId, $dateCondition ]; // First parameters for placeholders
|
||||
|
||||
$absenceTypes = VCalendarPropertyConstant::ABSENCE_TYPES;
|
||||
foreach ($absenceTypes as $type) {
|
||||
$conditions[] = "calendarobject.calendardata LIKE ?";
|
||||
$params[] = "%$isLeaveConditionAsString$type%"; // Add corresponding values
|
||||
}
|
||||
|
||||
$conditions[] = "calendarobject.calendardata LIKE ?";
|
||||
$params[] = "%".BddConstant::ISLEAVEPROPERTYONVCALENDAR.":1%";
|
||||
|
||||
$sql = "SELECT * FROM ".self::DEFAULT_TABLE_PREFIX."calendarobjects as calendarobject WHERE
|
||||
calendarobject.calendarid = ? AND
|
||||
calendarobject.calendardata LIKE ? AND
|
||||
calendarobject.calendardata LIKE ? AND
|
||||
calendarobject.deleted_at IS NULL;";
|
||||
$leaves = $this->execSQLNoJsonReturn($sql,[$calendarId,$isLeaveConditionAsString,$dateCondition]);
|
||||
calendarobject.calendarid = ? AND
|
||||
calendarobject.calendardata LIKE ? AND
|
||||
calendarobject.deleted_at IS NULL AND
|
||||
(" . implode(" OR ", $conditions) . ");";
|
||||
$leaves = $this->execSQLNoJsonReturn($sql,$params);
|
||||
return $leaves;
|
||||
}
|
||||
|
||||
public function getThanatoDevisPerDateInAMonthYear($thanatoId,$month,$year){
|
||||
$dateOfMonths = DateHelpers::getDatesOfMonth($year,$month);
|
||||
$devisListPerThanatoPerDate = [];
|
||||
@ -2415,6 +2521,23 @@ class Bdd {
|
||||
else{
|
||||
foreach($thanatoLeavesThisDay as $currentLeave){
|
||||
$leaveTime = VCalendarHelpers::GetStartAndEndTimeFromVCalendarString($currentLeave['calendardata']);
|
||||
$absenceType = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::ABSENCE_TYPE,$currentLeave['calendardata']);
|
||||
$absenceTypeKey = null;
|
||||
$absenceTypeLabel = null;
|
||||
|
||||
if($absenceType){
|
||||
$absenceTypeKey = $absenceType;
|
||||
$absenceTypeLabel = FileExportHelpers::GetAbsenceTypeLabelFromKey($absenceType);
|
||||
}else{
|
||||
//get is leave
|
||||
$isLeave = VCalendarHelpers::GetValueFromKeyInVCalendarString(BddConstant::ISLEAVEPROPERTYONVCALENDAR,$currentLeave['calendardata']);
|
||||
if ( $isLeave ) {
|
||||
$absenceTypeKey = AbsenceTypeConstant::LEAVE;
|
||||
$absenceTypeLabel = VCalendarPropertyConstant::ABSENCE_TYPES_KEYS_VALUES[$absenceTypeKey]; ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$devisListPerThanatoPerDate[$currentDateFormatted]["leaves"][] = [
|
||||
"onLeave" => true,
|
||||
"startTime" => $leaveTime["startTime"],
|
||||
@ -2423,7 +2546,9 @@ class Bdd {
|
||||
"date" => $currentDateFormatted,
|
||||
"totalHours" => $leaveTime["totalHours"],
|
||||
"totalWorkedHours" => $leaveTime["totalWorkedHours"],
|
||||
"isPublicHoliday" => $isPublicHoliday
|
||||
"isPublicHoliday" => $isPublicHoliday,
|
||||
"absenceTypeKey" => $absenceTypeKey,
|
||||
"absenceTypeLabel" => $absenceTypeLabel
|
||||
];
|
||||
}
|
||||
}
|
||||
@ -2449,6 +2574,20 @@ class Bdd {
|
||||
$thanatoLeavesThisDay = $this->getThanatoLeaveByCalendarAndDate($thanatoCalendarId,$currentDate);
|
||||
foreach($thanatoLeavesThisDay as $currentLeave){
|
||||
$leaveTime = VCalendarHelpers::GetStartAndEndTimeFromVCalendarString($currentLeave['calendardata']);
|
||||
$absenceType = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::ABSENCE_TYPE,$currentLeave['calendardata']);
|
||||
$absenceTypeKey = null;
|
||||
$absenceTypeLabel = null;
|
||||
if($absenceType){
|
||||
$absenceTypeKey = $absenceType;
|
||||
$absenceTypeLabel = FileExportHelpers::GetAbsenceTypeLabelFromKey($absenceType);
|
||||
}else{
|
||||
//get is leave
|
||||
$isLeave = VCalendarHelpers::GetValueFromKeyInVCalendarString(BddConstant::ISLEAVEPROPERTYONVCALENDAR,$currentLeave['calendardata']);
|
||||
if ( $isLeave ) {
|
||||
$absenceTypeKey = AbsenceTypeConstant::LEAVE;
|
||||
$absenceTypeLabel = VCalendarPropertyConstant::ABSENCE_TYPES_KEYS_VALUES[$absenceTypeKey]; ;
|
||||
}
|
||||
}
|
||||
$devisListPerThanatoPerDate[$currentDateFormatted]["leaves"][] = [
|
||||
"onLeave" => true,
|
||||
"startTime" => $leaveTime["startTime"],
|
||||
@ -3016,6 +3155,7 @@ class Bdd {
|
||||
return null;
|
||||
}
|
||||
$products = $this->getDevisProduits($factureData["devis_id"]);
|
||||
$isDevisNegative = $this->isDevisNegative($factureData['devis_id'],$factureData['client_id']);
|
||||
$factureData = $this->setDevisStartAndEndTime($factureData);
|
||||
|
||||
$factureData["products"] = $products;
|
||||
@ -3034,6 +3174,7 @@ class Bdd {
|
||||
$factureData["client_real_adress"] = $clientAdresses["address"];
|
||||
$factureData["client_adress_city"] = $clientAdresses["city"];
|
||||
}
|
||||
$factureData['is_negative'] = $isDevisNegative;
|
||||
|
||||
$configurationAdresses = FileExportHelpers::GetAddressAndCityFromAddress($configuration->adresse);
|
||||
$factureData["configuration_adresse"] = $configurationAdresses["address"];
|
||||
@ -3383,6 +3524,7 @@ class Bdd {
|
||||
devis.comment as devis_comment,
|
||||
devis.order_number as order_number,
|
||||
devis.case_number as case_number,
|
||||
client.id as client_id,
|
||||
client.nom as client_nom,
|
||||
client.entreprise as client_entreprise,
|
||||
client.adresse as client_adresse,
|
||||
@ -3752,6 +3894,17 @@ class Bdd {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private function deleteProductsInDevisByProductType($devisId,$productTypeId){
|
||||
$sql = "DELETE produit_devis FROM ".$this->tableprefix."produit_devis as produit_devis
|
||||
LEFT JOIN ".$this->tableprefix."produit as produit ON produit_devis.produit_id = produit.id
|
||||
WHERE produit_devis.devis_id = ? AND
|
||||
produit.fk_product_type_id = ?;";
|
||||
|
||||
$this->execSQLNoData($sql,[$devisId,$productTypeId]);
|
||||
|
||||
}
|
||||
|
||||
public function setDefuntCover($defuntId, $productCoverId){
|
||||
$defunt = $this->getDefuntById($defuntId);
|
||||
if($defunt == null){
|
||||
@ -3760,10 +3913,16 @@ class Bdd {
|
||||
if($defunt["devis_id"] == null){
|
||||
return null;
|
||||
}
|
||||
if($productCoverId == null){
|
||||
$productTypeCover = $this->getProductTypeByKey(ProductConstant::PRODUCT_COVER_TYPE_KEY);
|
||||
$this->deleteProductsInDevisByProductType($defunt["devis_id"],$productTypeCover['id']);
|
||||
return true;
|
||||
}
|
||||
$product = $this->getProductAsDefuntCoverProduct($productCoverId);
|
||||
if($product == null){
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
$coverProductList = $this->getProductsByProductTypeKey(ProductConstant::PRODUCT_COVER_TYPE_KEY);
|
||||
$coverProductList = json_decode($coverProductList);
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace OCA\Gestion\Helpers;
|
||||
|
||||
use DateTime;
|
||||
use OCA\Gestion\Constants\VCalendarPropertyConstant;
|
||||
|
||||
class FileExportHelpers
|
||||
{
|
||||
@ -108,4 +109,16 @@ class FileExportHelpers
|
||||
return $lineCount;
|
||||
}
|
||||
|
||||
public static function GetAbsenceTypeLabelFromKey(string $key){
|
||||
$label = null;
|
||||
$absenceTypes = VCalendarPropertyConstant::ABSENCE_TYPES_KEYS_VALUES;
|
||||
foreach($absenceTypes as $absenceTypeKey => $absenceTypeLabel){
|
||||
if($absenceTypeKey == $key){
|
||||
$label = $absenceTypeLabel;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $label;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -140,7 +140,7 @@ class DevisPdfHandler extends FPDF {
|
||||
$products = $this->devisData["products"];
|
||||
$yValue = 116;
|
||||
foreach($products as $product){
|
||||
$valueHt = $product['produit_price'];
|
||||
$valueHt = $product['produit_price'] * $product['quantite'];
|
||||
$valueTtc = PriceHelpers::calculPriceWithVatValue($valueHt,$tvaValue);
|
||||
$totalHt+=$valueHt;
|
||||
$totalTtc+=$valueTtc;
|
||||
|
||||
@ -26,12 +26,13 @@ declare(strict_types=1);
|
||||
|
||||
namespace OCA\Gestion\Service;
|
||||
|
||||
use OCA\Gestion\Constants\BddConstant;
|
||||
use OCA\Gestion\Db\Bdd;
|
||||
use OCA\Gestion\Helpers\DateHelpers;
|
||||
use OCA\Gestion\Helpers\FileExportHelpers;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use OCP\Files\IRootFolder;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use OCA\Gestion\Helpers\DateHelpers;
|
||||
use OCA\Gestion\Constants\BddConstant;
|
||||
use OCA\Gestion\Helpers\FileExportHelpers;
|
||||
use OCA\Gestion\Constants\AbsenceTypeConstant;
|
||||
|
||||
class ExportThanatoStatisticService {
|
||||
/** @var Bdd */
|
||||
@ -114,6 +115,8 @@ class ExportThanatoStatisticService {
|
||||
'SOINS'.';'.
|
||||
'JOUR/FERIE'.';'.
|
||||
'CONGE'.';'.
|
||||
'REPOS'.';'.
|
||||
'MALADIE'.';'.
|
||||
'NOM ET PRENOM'.';'.
|
||||
'LIEU'.';'.
|
||||
'POMPES FUNEBRES'.';'.
|
||||
@ -121,6 +124,8 @@ class ExportThanatoStatisticService {
|
||||
'DISTANCE TOTALE KM'.';'.
|
||||
'HEURES TOTAL DE SOIN'.';'.
|
||||
'HEURES TOTAL DE CONGE'.';'.
|
||||
'HEURES TOTAL DE REPOS'.';'.
|
||||
'HEURES TOTAL DE MALADIE'.';'.
|
||||
'HEURES TOTAL DE TRAVAIL'.';'.
|
||||
'HEURES TOTAL DE PARCOURS ENTRE DEVIS'.';'.
|
||||
"\n";
|
||||
@ -134,7 +139,15 @@ class ExportThanatoStatisticService {
|
||||
if($leave["onLeave"]){
|
||||
$startTimeValue = $leave["startTime"];
|
||||
$endTimeValue = $leave["endTime"];
|
||||
$leaveValue = "Oui";
|
||||
if($leave["absenceTypeKey"] == AbsenceTypeConstant::LEAVE){
|
||||
$leaveValue = "Oui";
|
||||
}
|
||||
if($leave["absenceTypeKey"] == AbsenceTypeConstant::DISEASE){
|
||||
$diseaseValue = "Oui";
|
||||
}
|
||||
if($leave["absenceTypeKey"] == AbsenceTypeConstant::REST){
|
||||
$restValue = "Oui";
|
||||
}
|
||||
}
|
||||
$fileContent = $fileContent.
|
||||
''.';'.
|
||||
@ -145,6 +158,10 @@ class ExportThanatoStatisticService {
|
||||
''.';'.
|
||||
DateHelpers::getPublicHolidayText($leave['isPublicHoliday']).';'.
|
||||
$leaveValue.';'.
|
||||
$restValue.';'.
|
||||
$diseaseValue.';'.
|
||||
''.';'.
|
||||
''.';'.
|
||||
''.';'.
|
||||
''.';'.
|
||||
''.';'.
|
||||
@ -162,6 +179,8 @@ class ExportThanatoStatisticService {
|
||||
$totalDevisHours = 0;
|
||||
$totalWorkedHours = 8;
|
||||
$totalLeaveHours = 0;
|
||||
$totalDiseaseHours = 0;
|
||||
$totalRestHours = 0;
|
||||
$totalDistance = 0;
|
||||
$totalTravelingHoursBetweenDevisLocation = 0;
|
||||
$hasDevisInTheCurrentDate = $devisData['hasDevis'];
|
||||
@ -171,10 +190,19 @@ class ExportThanatoStatisticService {
|
||||
$fileContent = $this->populateNoDevisDataInADay($fileContent,$leave);
|
||||
if($leave["onLeave"]){
|
||||
$totalLeaveHoursInsideWorkingHours = $leave["totalWorkedHours"];
|
||||
$totalLeaveHours += $totalLeaveHoursInsideWorkingHours;
|
||||
if($leave["absenceTypeKey"] == AbsenceTypeConstant::LEAVE ){
|
||||
$totalLeaveHours += $totalLeaveHoursInsideWorkingHours;
|
||||
}
|
||||
if($leave["absenceTypeKey"] == AbsenceTypeConstant::REST){
|
||||
$totalRestHours += $totalLeaveHoursInsideWorkingHours;
|
||||
}
|
||||
if($leave["absenceTypeKey"] == AbsenceTypeConstant::DISEASE){
|
||||
$totalDiseaseHours += $totalLeaveHoursInsideWorkingHours;
|
||||
}
|
||||
}
|
||||
}
|
||||
$totalWorkedHours -= $totalLeaveHours;
|
||||
$totalAbsenceHours = $totalLeaveHours + $totalRestHours + $totalDiseaseHours;
|
||||
$totalWorkedHours -= $totalAbsenceHours;
|
||||
}
|
||||
else{
|
||||
$routeLines = $this->gestionBdd->getRouteLinesByDevisIdList($devisData["devisId"]);
|
||||
@ -193,10 +221,19 @@ class ExportThanatoStatisticService {
|
||||
$fileContent = $this->populateNoDevisDataInADay($fileContent,$leave);
|
||||
if($leave["onLeave"]){
|
||||
$totalLeaveHoursInsideWorkingHours = $leave["totalWorkedHours"];
|
||||
$totalLeaveHours += $totalLeaveHoursInsideWorkingHours;
|
||||
if($leave["absenceTypeKey"] == AbsenceTypeConstant::LEAVE){
|
||||
$totalLeaveHours += $totalLeaveHoursInsideWorkingHours;
|
||||
}
|
||||
if($leave["absenceTypeKey"] == AbsenceTypeConstant::REST){
|
||||
$totalRestHours += $totalLeaveHoursInsideWorkingHours;
|
||||
}
|
||||
if($leave["absenceTypeKey"] == AbsenceTypeConstant::DISEASE){
|
||||
$totalDiseaseHours += $totalLeaveHoursInsideWorkingHours;
|
||||
}
|
||||
}
|
||||
}
|
||||
$totalWorkedHours -= $totalLeaveHours;
|
||||
$totalAbsenceHours = $totalLeaveHours + $totalRestHours + $totalDiseaseHours;
|
||||
$totalWorkedHours -= $totalAbsenceHours;
|
||||
}
|
||||
$fileContent = $this->populateLastRecapForTheLine(
|
||||
$fileContent,
|
||||
@ -204,13 +241,15 @@ class ExportThanatoStatisticService {
|
||||
$totalDevisHours,
|
||||
$totalWorkedHours,
|
||||
$totalLeaveHours,
|
||||
$totalTravelingHoursBetweenDevisLocation
|
||||
$totalTravelingHoursBetweenDevisLocation,
|
||||
$totalDiseaseHours,
|
||||
$totalRestHours
|
||||
);
|
||||
}
|
||||
return $fileContent;
|
||||
}
|
||||
|
||||
private function populateLastRecapForTheLine(string $fileContent,$distance,$totalDevisHours,$totalWorkedHours,$totalLeaveHours,$totalTravelingHours){
|
||||
private function populateLastRecapForTheLine(string $fileContent,$distance,$totalDevisHours,$totalWorkedHours,$totalLeaveHours,$totalTravelingHours ,$totalDiseaseHours = 0,$totalRestHours = 0){
|
||||
$fileContent = $fileContent.
|
||||
''.';'.
|
||||
''.';'.
|
||||
@ -224,11 +263,15 @@ class ExportThanatoStatisticService {
|
||||
''.';'.
|
||||
''.';'.
|
||||
''.';'.
|
||||
"$distance"."KM".';'.
|
||||
"$totalDevisHours"."H".';'.
|
||||
"$totalLeaveHours"."H".';'.
|
||||
"$totalWorkedHours"."H".';'.
|
||||
"$totalTravelingHours"."H"."\n";
|
||||
''.';'.
|
||||
''.';'.
|
||||
"$distance".';'.
|
||||
"$totalDevisHours".';'.
|
||||
"$totalLeaveHours".';'.
|
||||
"$totalRestHours".';'.
|
||||
"$totalDiseaseHours".';'.
|
||||
"$totalWorkedHours".';'.
|
||||
"$totalTravelingHours"."\n";
|
||||
return $fileContent;
|
||||
}
|
||||
|
||||
@ -253,6 +296,8 @@ class ExportThanatoStatisticService {
|
||||
FileExportHelpers::FormatTextForExport($produitAsString).';'.
|
||||
FileExportHelpers::FormatTextForExport($devis["dayType"]).';'.
|
||||
FileExportHelpers::FormatTextForExport('Non').';'.
|
||||
''.';'.
|
||||
''.';'.
|
||||
FileExportHelpers::FormatTextForExport($devis["nom_defunt"]).';'.
|
||||
FileExportHelpers::FormatTextForExport($devis["nom_lieu"] ?? "").';'.
|
||||
FileExportHelpers::FormatTextForExport($devis["nom_client"] ?? "").';'.
|
||||
@ -261,6 +306,8 @@ class ExportThanatoStatisticService {
|
||||
''.';'.
|
||||
''.';'.
|
||||
''.';'.
|
||||
''.';'.
|
||||
''.';'.
|
||||
''.';'."\n";
|
||||
|
||||
return $fileContent;
|
||||
|
||||
@ -155,6 +155,12 @@ class GestionService
|
||||
return $calendarStartDate;
|
||||
}
|
||||
|
||||
private function GetIsPivateFromVCalendarString(string $vCalendarString): bool{
|
||||
$isPrivateValue = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::PROPERTY_IS_PRIVATE, $vCalendarString);
|
||||
return $isPrivateValue === "1" ? true : false;
|
||||
}
|
||||
|
||||
|
||||
public function HandleCalendarObjectMovedToTrash(string $vCalendarString)
|
||||
{
|
||||
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
|
||||
@ -218,8 +224,9 @@ class GestionService
|
||||
public function HandleUpdatedCalendarObject(string $vCalendarString)
|
||||
{
|
||||
try {
|
||||
$isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString);
|
||||
if ($isCalendarForLeave) {
|
||||
$isPrivate = $this->GetIsPivateFromVCalendarString($vCalendarString);
|
||||
$absenceType = VCalendarHelpers::GetValueFromKeyInVCalendarString('ABSENCETYPE',$vCalendarString);
|
||||
if ($isPrivate || $absenceType ) {
|
||||
//from devis calendar to leave calendar
|
||||
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
|
||||
$devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid);
|
||||
@ -285,8 +292,11 @@ class GestionService
|
||||
public function HandleCreatedCalendarObject(string $vCalendarString)
|
||||
{
|
||||
try {
|
||||
$isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString);
|
||||
if ($isCalendarForLeave) {
|
||||
|
||||
$isPrivate = $this->GetIsPivateFromVCalendarString($vCalendarString);
|
||||
$absenceType = VCalendarHelpers::GetValueFromKeyInVCalendarString('ABSENCETYPE',$vCalendarString);
|
||||
if($isPrivate || $absenceType){
|
||||
//Nothing to do manage fo a private calendar
|
||||
return;
|
||||
}
|
||||
$isCalendarPending = $this->GetIsCalendarPendingFromVCalendarString($vCalendarString);
|
||||
|
||||
@ -44,7 +44,7 @@ class InvoiceFunecapPdfHandler extends InvoiceGroupPdfHandler {
|
||||
$maxDescriptionWidth = 102;
|
||||
$currentIndexPosition = $this->currentIndexPosition;
|
||||
for($currentIndexPosition;$currentIndexPosition<($this->initialIndexPosition + $this->devisCountToGet);$currentIndexPosition++){
|
||||
$this->SetFont('ComicSans', '', 8);
|
||||
|
||||
|
||||
$currentDevis = $devisData[$currentIndexPosition];
|
||||
$devisDate = $currentDevis['devis_date'];
|
||||
|
||||
@ -51,6 +51,8 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
public $startingYOfArticlesTable = 95;
|
||||
public int $maxArticlePerPage = 19;
|
||||
public $additionalArticlesLineBasedOnMultiline = 0;
|
||||
public $interLigneHeader = 5;
|
||||
|
||||
function Header()
|
||||
{
|
||||
if($this->logo != "nothing"){
|
||||
@ -77,12 +79,12 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
$originalHeight = $originalHeight * 0.264583;
|
||||
|
||||
// Augmenter l'échelle, par exemple, 1.5 pour 150% de la taille d'origine
|
||||
$scale = 2;
|
||||
$scale = 1.7;
|
||||
$width = $originalWidth * $scale;
|
||||
$height = $originalHeight * $scale;
|
||||
// Calculer la position pour centrer l'image
|
||||
$x = (210 - $width) / 2 + 15; // Décalage à droite de 15 mm
|
||||
$y = (297 - $height) / 2; // 297 mm est la hauteur d'une page A4
|
||||
$y = ((297 - $height) / 2 ) + 30; // 297 mm est la hauteur d'une page A4
|
||||
|
||||
// Ajouter l'image en filigrane
|
||||
$this->Image($imagePath, $x, $y, $width, $height); // Chemin, position x, position y, largeur, hauteur
|
||||
@ -97,14 +99,23 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
$this->SetDrawColor(0, 0, 0, $alpha * 255);
|
||||
}
|
||||
|
||||
public function DrawInvoiceCompanyAndClientInfo(){
|
||||
$this->DrawInvoiceCompanyInfo();
|
||||
$this->DrawInvoiceClientInfo();
|
||||
|
||||
}
|
||||
|
||||
function Footer()
|
||||
{
|
||||
$this->SetY(-34);
|
||||
$this->SetFont('ComicSans', '', size: 7);
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ( Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('( Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('sera appliquée.')));
|
||||
$this->Ln(1);
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire sera due sur présentation de justificatifs ( articles L.441-3 et L.441-6 du code de commerce ).
|
||||
')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('sera due sur présentation de justificatifs ( articles L.441-3 et L.441-6 du code de commerce ).')));
|
||||
|
||||
$this->SetY(-10);
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
@ -151,11 +162,11 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
public function DrawInvoiceCompanyInfo(){
|
||||
$this->SetY(40);
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport($this->factureData['configuration']->entreprise), 0, 1);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport($this->factureData['configuration_adresse']), 0, 1);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport($this->factureData['configuration_adresse_city']), 0, 1);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport('Tél : ') . FileExportHelpers::FormatTextForExport($this->factureData['configuration']->telephone),0,1);
|
||||
$this->Cell(0, 4, 'Mail : ' . $this->factureData['configuration']->mail, 0, 1);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($this->factureData['configuration']->entreprise), 0, 1);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($this->factureData['configuration_adresse']), 0, 1);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($this->factureData['configuration_adresse_city']), 0, 1);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport('Tél : ') . FileExportHelpers::FormatTextForExport($this->factureData['configuration']->telephone),0,1);
|
||||
$this->Cell(0, $this->interLigneHeader, 'Mail : ' . $this->factureData['configuration']->mail, 0, 1);
|
||||
}
|
||||
public function DrawInvoiceClientInfo(){
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
@ -164,82 +175,106 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
|
||||
$clientAddress = $this->factureData['client_real_adress'];
|
||||
$maxWidth = $this->GetPageWidth();
|
||||
$availableWidhtForClientInfo = $maxWidth - 20 - $clientInfoXAxis;
|
||||
$availableWidhtForClientInfo = $maxWidth - 2 - $clientInfoXAxis;
|
||||
|
||||
$clientInfoYAxis = 40;
|
||||
$this->SetXY($clientInfoXAxis,$clientInfoYAxis);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport($clientName));
|
||||
$clientInfoYAxis += 4;
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($clientName));
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
if ( $this->factureData['group_type'] == 'single' ) {
|
||||
$addressWidth = $this->GetStringWidth($clientAddress);
|
||||
$isMultiline = $addressWidth > $availableWidhtForClientInfo;
|
||||
$address = FileExportHelpers::FormatTextForExport(trim($clientAddress));
|
||||
$addressWidth = $this->GetStringWidth($address);
|
||||
$addressWidthGreaterThanMaxWidth = $addressWidth > $availableWidhtForClientInfo;
|
||||
$isMultiline = false;
|
||||
$this->SetXY($clientInfoXAxis,$clientInfoYAxis);
|
||||
$this->MultiCell( 0, 4, trim(FileExportHelpers::FormatTextForExport($clientAddress)));
|
||||
|
||||
if($isMultiline){
|
||||
$clientInfoYAxis += 4;
|
||||
if ($addressWidthGreaterThanMaxWidth) {
|
||||
$yBefore = $this->GetY();
|
||||
$this->MultiCell($availableWidhtForClientInfo, $this->interLigneHeader, $address,0,'L');
|
||||
$yAfter = $this->GetY();
|
||||
$isMultiline = ($yAfter - $yBefore) > $this->interLigneHeader;
|
||||
if($isMultiline){
|
||||
$this->SetXY($this->GetX(),$yBefore);
|
||||
}
|
||||
} else {
|
||||
$this->Cell($availableWidhtForClientInfo, $this->interLigneHeader, $address);
|
||||
}
|
||||
$clientInfoYAxis += 4;
|
||||
if($isMultiline){
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
}
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
|
||||
}else{
|
||||
$clientAddresses = explode(",",$clientAddress);
|
||||
foreach ($clientAddresses as $address) {
|
||||
$address = FileExportHelpers::FormatTextForExport(trim($address));
|
||||
$addressWidth = $this->GetStringWidth($address);
|
||||
$isMultiline = $addressWidth > $availableWidhtForClientInfo;
|
||||
$addressWidthGreaterThanMaxWidth = $addressWidth > $availableWidhtForClientInfo;
|
||||
$isMultiline = false;
|
||||
$this->SetXY($clientInfoXAxis,$clientInfoYAxis);
|
||||
$this->MultiCell( 0, 4, trim(FileExportHelpers::FormatTextForExport($address)));
|
||||
if($isMultiline){
|
||||
$clientInfoYAxis += 4;
|
||||
if ($addressWidthGreaterThanMaxWidth) {
|
||||
$yBefore = $this->GetY();
|
||||
$this->MultiCell($availableWidhtForClientInfo, $this->interLigneHeader, $address,0,'L');
|
||||
$yAfter = $this->GetY();
|
||||
$isMultiline = ($yAfter - $yBefore) > $this->interLigneHeader;
|
||||
if($isMultiline){
|
||||
$this->SetXY($this->GetX(),$yBefore);
|
||||
}
|
||||
} else {
|
||||
$this->Cell($availableWidhtForClientInfo, $this->interLigneHeader, $address);
|
||||
}
|
||||
$clientInfoYAxis += 4;
|
||||
if($isMultiline){
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
}
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
}
|
||||
}
|
||||
|
||||
$this->SetXY($clientInfoXAxis,$clientInfoYAxis + 1);
|
||||
$this->Cell(0, 4, trim(FileExportHelpers::FormatTextForExport($this->factureData['client_adress_city'])));
|
||||
$this->Cell(0, $this->interLigneHeader, trim(FileExportHelpers::FormatTextForExport($this->factureData['client_adress_city'])));
|
||||
}
|
||||
|
||||
public function DrawInvoiceCompanyAndClientInfo(){
|
||||
$this->DrawInvoiceCompanyInfo();
|
||||
$this->DrawInvoiceClientInfo();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function DrawInvoiceInfoTable(){
|
||||
$this->setY(67);
|
||||
$startInvoiceInfoTable = 70;
|
||||
$this->setY($startInvoiceInfoTable);
|
||||
|
||||
$factureDatePaiement = $this->factureData['date_paiement'];
|
||||
$factureDatePaiement = DateTime::createFromFormat('Y-m-d',$factureDatePaiement);
|
||||
$factureDateEcheance = $factureDatePaiement;
|
||||
$factureDatePaiement = $factureDatePaiement->format('d-m-Y');
|
||||
$factureDateEcheance->modify('last day of next month');
|
||||
$factureDateEcheance = $factureDateEcheance->format('d-m-Y');
|
||||
$this->SetFont('ComicSans', 'B', 11);
|
||||
|
||||
$this->SetFont('ComicSans', '', 9);
|
||||
$this->Cell(25, 7, 'DATE', 1, 0, 'C');
|
||||
$this->Cell(104, 7, 'CLIENT', 1, 0, 'C');
|
||||
$this->Cell(39, 7, 'FACTURE', 1, 0, 'C');
|
||||
$this->Cell(36, 7, 'ECHEANCE', 1, 1, 'C');
|
||||
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
$this->SetFont('ComicSans', '', 9);
|
||||
$this->Cell(25, 11, $factureDatePaiement, 1, 0, 'C');
|
||||
$this->Cell(104, 11, utf8_decode(html_entity_decode($this->factureData['group_name'])), 1, 0, 'C');
|
||||
$this->Cell(39, 11, $this->factureData['num'], 1, 0, 'C');
|
||||
$this->Cell(36, 11, $factureDateEcheance, 1, 1, 'C');
|
||||
|
||||
$this->startingYOfArticlesTable = 88;
|
||||
$this->startingYOfArticlesTable = $startInvoiceInfoTable + 20;
|
||||
}
|
||||
|
||||
public function DrawArticlesTableRect(){
|
||||
|
||||
$this->SetLineWidth(0.2);
|
||||
$gapBetweenStartingOfArticlesTableAndColumnName = 10;
|
||||
$tableHeight = $this->thereIsOrderOrCaseNumber ? 137 : 137 + 10;
|
||||
$this->Rect(3, $this->startingYOfArticlesTable, 204, $tableHeight, "D");
|
||||
// $this->RoundedRect(3, $this->startingYOfArticlesTable, 204, $tableHeight,5 ,'1234',"D");
|
||||
// cadre titre des colonnes
|
||||
$this->Line(3, $this->startingYOfArticlesTable + $gapBetweenStartingOfArticlesTableAndColumnName, 207,$this->startingYOfArticlesTable + $gapBetweenStartingOfArticlesTableAndColumnName);
|
||||
// les traits verticaux colonnes
|
||||
$this->Line(28, $this->startingYOfArticlesTable, 28, 235);
|
||||
$this->Line(132, $this->startingYOfArticlesTable, 132, 235);
|
||||
$this->Line(157, $this->startingYOfArticlesTable, 157, 235);
|
||||
$this->Line(182, $this->startingYOfArticlesTable, 182, 235);
|
||||
$this->Line(28, $this->startingYOfArticlesTable, 28, 237);
|
||||
$this->Line(132, $this->startingYOfArticlesTable, 132, 237);
|
||||
$this->Line(157, $this->startingYOfArticlesTable, 157, 237);
|
||||
$this->Line(182, $this->startingYOfArticlesTable, 182, 237);
|
||||
}
|
||||
|
||||
public function DrawArticlesTableHeader(){
|
||||
@ -282,8 +317,7 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
$products = $currentDevis["products"];
|
||||
$productIncrement = 0;
|
||||
foreach($products as $product){
|
||||
$this->SetFont('ComicSans', '', 8);
|
||||
|
||||
|
||||
$valueHt = $product['produit_price'] * $product["quantite"];
|
||||
$valueTtc = PriceHelpers::calculPriceWithVatValue($valueHt,$tvaValue);
|
||||
$totalHt+=$valueHt;
|
||||
@ -341,8 +375,8 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
}
|
||||
|
||||
public function DrawBankAndTotalPriceInfo(){
|
||||
$this->SetY(238);
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
$this->SetY(239);
|
||||
$this->SetFont('ComicSans', '', 8);
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode("Paiement à votre convenance par chèque à l'ordre de ". $this->factureData['configuration']->entreprise)));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode("en indiquant le numéro de facture, ou par virement :")));
|
||||
|
||||
@ -357,7 +391,7 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
$this->Cell($ibanWidth, 5, 'Code SWIFT : AGRI FR PP 836', 1, 1, 'C');
|
||||
|
||||
//TABLE HT
|
||||
$tableWidth = 40; // Largeur totale de la 2e table (20+20)
|
||||
$tableWidth = 48; // Largeur totale de la 2e table (20+20)
|
||||
$marginRight = 3; // Marge par rapport au bord droit
|
||||
$pageWidth = 210; // Largeur d'une page A4 en mm (portrait)
|
||||
|
||||
@ -365,13 +399,13 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
$startOfArrayX = $pageWidth - $tableWidth - $marginRight;
|
||||
$startOfArrayY = $ibanCursorY - 5;
|
||||
|
||||
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
$totalPriceArray = $this->totalPrices;
|
||||
foreach($totalPriceArray as $label => $price){
|
||||
$this->SetXY($startOfArrayX,$startOfArrayY);
|
||||
$this->Cell(20, 5, $label, 1, 1, 'C');
|
||||
$this->SetXY($startOfArrayX + 20,$startOfArrayY);
|
||||
$this->Cell(20, 5, number_format($price,2,'.','').chr(128), 1, 1, 'C');
|
||||
$this->Cell(24, 5, $label, 1, 1, 'C');
|
||||
$this->SetXY($startOfArrayX + 24,$startOfArrayY);
|
||||
$this->Cell(24, 5, number_format($price,2,'.','').chr(128), 1, 1, 'C');
|
||||
$startOfArrayY += 5;
|
||||
}
|
||||
}
|
||||
@ -451,4 +485,62 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
}
|
||||
return $nl;
|
||||
}
|
||||
|
||||
|
||||
private function RoundedRect($x, $y, $w, $h, $r, $corners = '1234', $style = '')
|
||||
{
|
||||
$k = $this->k;
|
||||
$hp = $this->h;
|
||||
if($style=='F')
|
||||
$op='f';
|
||||
elseif($style=='FD' || $style=='DF')
|
||||
$op='B';
|
||||
else
|
||||
$op='S';
|
||||
$MyArc = 4/3 * (sqrt(2) - 1);
|
||||
$this->_out(sprintf('%.2F %.2F m',($x+$r)*$k,($hp-$y)*$k ));
|
||||
|
||||
$xc = $x+$w-$r;
|
||||
$yc = $y+$r;
|
||||
$this->_out(sprintf('%.2F %.2F l', $xc*$k,($hp-$y)*$k ));
|
||||
if (strpos($corners, '2')===false)
|
||||
$this->_out(sprintf('%.2F %.2F l', ($x+$w)*$k,($hp-$y)*$k ));
|
||||
else
|
||||
$this->_Arc($xc + $r*$MyArc, $yc - $r, $xc + $r, $yc - $r*$MyArc, $xc + $r, $yc);
|
||||
|
||||
$xc = $x+$w-$r;
|
||||
$yc = $y+$h-$r;
|
||||
$this->_out(sprintf('%.2F %.2F l',($x+$w)*$k,($hp-$yc)*$k));
|
||||
if (strpos($corners, '3')===false)
|
||||
$this->_out(sprintf('%.2F %.2F l',($x+$w)*$k,($hp-($y+$h))*$k));
|
||||
else
|
||||
$this->_Arc($xc + $r, $yc + $r*$MyArc, $xc + $r*$MyArc, $yc + $r, $xc, $yc + $r);
|
||||
|
||||
$xc = $x+$r;
|
||||
$yc = $y+$h-$r;
|
||||
$this->_out(sprintf('%.2F %.2F l',$xc*$k,($hp-($y+$h))*$k));
|
||||
if (strpos($corners, '4')===false)
|
||||
$this->_out(sprintf('%.2F %.2F l',($x)*$k,($hp-($y+$h))*$k));
|
||||
else
|
||||
$this->_Arc($xc - $r*$MyArc, $yc + $r, $xc - $r, $yc + $r*$MyArc, $xc - $r, $yc);
|
||||
|
||||
$xc = $x+$r ;
|
||||
$yc = $y+$r;
|
||||
$this->_out(sprintf('%.2F %.2F l',($x)*$k,($hp-$yc)*$k ));
|
||||
if (strpos($corners, '1')===false)
|
||||
{
|
||||
$this->_out(sprintf('%.2F %.2F l',($x)*$k,($hp-$y)*$k ));
|
||||
$this->_out(sprintf('%.2F %.2F l',($x+$r)*$k,($hp-$y)*$k ));
|
||||
}
|
||||
else
|
||||
$this->_Arc($xc - $r, $yc - $r*$MyArc, $xc - $r*$MyArc, $yc - $r, $xc, $yc - $r);
|
||||
$this->_out($op);
|
||||
}
|
||||
|
||||
private function _Arc($x1, $y1, $x2, $y2, $x3, $y3)
|
||||
{
|
||||
$h = $this->h;
|
||||
$this->_out(sprintf('%.2F %.2F %.2F %.2F %.2F %.2F c ', $x1*$this->k, ($h-$y1)*$this->k,
|
||||
$x2*$this->k, ($h-$y2)*$this->k, $x3*$this->k, ($h-$y3)*$this->k));
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,33 +45,36 @@ class InvoiceOgfPdfHandler extends InvoiceGroupPdfHandler {
|
||||
|
||||
$clientInfoYAxis = $clientAdressIsMultiline ? 35 : 39;
|
||||
$this->SetXY($clientInfoXAxis,$clientInfoYAxis);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport($clientName));
|
||||
$clientInfoYAxis += 4;
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($clientName));
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis,$clientInfoYAxis);
|
||||
$this->MultiCell( 0, 4, trim(FileExportHelpers::FormatTextForExport($clientAddress)));
|
||||
$this->MultiCell( 0, $this->interLigneHeader, trim(FileExportHelpers::FormatTextForExport($clientAddress)));
|
||||
if($clientAdressIsMultiline){
|
||||
$clientInfoYAxis += 4;
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
}
|
||||
$clientInfoYAxis += 4;
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis,$clientInfoYAxis);
|
||||
$this->Cell(0, 4, trim(FileExportHelpers::FormatTextForExport($this->factureData['client_adress_city'])));
|
||||
$clientInfoYAxis += 4;
|
||||
$this->Cell(0, $this->interLigneHeader, trim(FileExportHelpers::FormatTextForExport($this->factureData['client_adress_city'])));
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis,$clientInfoYAxis);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport('Numéro') . ' Siret: ' . $this->factureData['siret']);
|
||||
$clientInfoYAxis += 4;
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport('Numéro') . ' Siret: ' . $this->factureData['siret']);
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis,$clientInfoYAxis);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport('Mail : ') . $this->factureData['client_mail']);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport('Mail : ') . $this->factureData['client_mail']);
|
||||
}
|
||||
|
||||
public function DrawInvoiceInfoTable(){
|
||||
$this->setY(67);
|
||||
|
||||
$startInvoiceInfoTable = 70;
|
||||
$this->setY($startInvoiceInfoTable);
|
||||
|
||||
$factureDatePaiement = $this->factureData['date_paiement'];
|
||||
$factureDatePaiement = DateTime::createFromFormat('Y-m-d',$factureDatePaiement);
|
||||
$factureDateEcheance = $factureDatePaiement;
|
||||
$factureDatePaiement = $factureDatePaiement->format('d-m-Y');
|
||||
$factureDateEcheance->modify('last day of next month');
|
||||
$factureDateEcheance = $factureDateEcheance->format('d-m-Y');
|
||||
$this->SetFont('ComicSans', 'B', 11);
|
||||
$this->SetFont('ComicSans', '', 9);
|
||||
$this->Cell(30, 7, 'DATE', 1, 0, 'C');
|
||||
$this->Cell(60, 7, 'CLIENT', 1, 0, 'C');
|
||||
$this->Cell(40, 7, 'FACTURE', 1, 0, 'C');
|
||||
@ -85,7 +88,8 @@ class InvoiceOgfPdfHandler extends InvoiceGroupPdfHandler {
|
||||
$this->Cell(40, 11, $factureDateEcheance, 1, 0, 'C');
|
||||
$this->Cell(34, 11, $this->factureData["facture_order_number"], 1, 1, 'C');
|
||||
|
||||
$this->startingYOfArticlesTable = 88;
|
||||
$this->startingYOfArticlesTable = $startInvoiceInfoTable + 20;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -42,7 +42,13 @@ class InvoicePdfHandler extends FPDF
|
||||
private $logoPath = "/var/www/html/data/admin/files/.gestion/";
|
||||
protected $extgstates = [];
|
||||
private $thereIsOrderOrCaseNumber = false;
|
||||
private $startingYOfArticlesTable = 95;
|
||||
private $startingYOfArticlesTable = 100;
|
||||
|
||||
private $endingYOfArticlesTable = 230;
|
||||
|
||||
private $articleTablesHeight = 130;
|
||||
|
||||
public $interLigneHeader = 5;
|
||||
function Header()
|
||||
{
|
||||
if ($this->logo != "nothing") {
|
||||
@ -90,11 +96,14 @@ class InvoicePdfHandler extends FPDF
|
||||
function Footer()
|
||||
{
|
||||
$this->SetY(-34);
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ( Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('( Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('sera appliquée.')));
|
||||
$this->Ln(1);
|
||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire sera due sur présentation de justificatifs ( articles L.441-3 et L.441-6 du code de commerce ).
|
||||
')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire')));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode('sera due sur présentation de justificatifs ( articles L.441-3 et L.441-6 du code de commerce ).')));
|
||||
|
||||
$this->SetY(-10);
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
@ -135,18 +144,18 @@ class InvoicePdfHandler extends FPDF
|
||||
$factureNum = $this->factureData['num'];
|
||||
$factureNum = str_replace('/', '-', $factureNum);
|
||||
$defuntNom = str_replace(' ', ' ', $this->factureData['defunt_nom']);
|
||||
return $this->factureData['configuration']->facture_prefixe . '_' . $factureNum . '_' . mb_strtoupper($defuntNom, 'UTF-8');
|
||||
return $factureNum . '_' . mb_strtoupper($defuntNom, 'UTF-8');
|
||||
}
|
||||
|
||||
private function DrawInvoiceCompanyInfo()
|
||||
{
|
||||
$this->SetY(40);
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
$this->Cell(0, 5, FileExportHelpers::FormatTextForExport($this->factureData['configuration']->entreprise), 0, 1);
|
||||
$this->Cell(0, 5, FileExportHelpers::FormatTextForExport($this->factureData['configuration_adresse']), 0, 1);
|
||||
$this->Cell(0, 5, FileExportHelpers::FormatTextForExport($this->factureData['configuration_adresse_city']), 0, 1);
|
||||
$this->Cell(0, 5, FileExportHelpers::FormatTextForExport('Tél : ') . FileExportHelpers::FormatTextForExport($this->factureData['configuration']->telephone), 0, 1);
|
||||
$this->Cell(0, 5, 'Mail : ' . $this->factureData['configuration']->mail, 0, 1);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($this->factureData['configuration']->entreprise), 0, 1);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($this->factureData['configuration_adresse']), 0, 1);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($this->factureData['configuration_adresse_city']), 0, 1);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport('Tél : ') . FileExportHelpers::FormatTextForExport($this->factureData['configuration']->telephone), 0, 1);
|
||||
$this->Cell(0, $this->interLigneHeader, 'Mail : ' . $this->factureData['configuration']->mail, 0, 1);
|
||||
}
|
||||
private function DrawInvoiceClientInfo()
|
||||
{
|
||||
@ -165,22 +174,22 @@ class InvoicePdfHandler extends FPDF
|
||||
|
||||
$clientInfoYAxis = $clientAdressIsMultiline ? 35 : 40;
|
||||
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport($clientName));
|
||||
$clientInfoYAxis += 4;
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport($clientName));
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
||||
$this->MultiCell(0, 4, trim(FileExportHelpers::FormatTextForExport($clientAddress)));
|
||||
$this->MultiCell(0, $this->interLigneHeader, trim(FileExportHelpers::FormatTextForExport($clientAddress)));
|
||||
if ($clientAdressIsMultiline) {
|
||||
$clientInfoYAxis += 4;
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
}
|
||||
$clientInfoYAxis += 4;
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
||||
$this->Cell(0, 4, trim(FileExportHelpers::FormatTextForExport($this->factureData['client_adress_city'])));
|
||||
$clientInfoYAxis += 4;
|
||||
$this->Cell(0, $this->interLigneHeader, trim(FileExportHelpers::FormatTextForExport($this->factureData['client_adress_city'])));
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport('Numéro') . ' Siret: ' . $this->factureData['siret']);
|
||||
$clientInfoYAxis += 4;
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport('Numéro') . ' Siret: ' . $this->factureData['siret']);
|
||||
$clientInfoYAxis += $this->interLigneHeader;
|
||||
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
||||
$this->Cell(0, 4, FileExportHelpers::FormatTextForExport('Mail : ') . $this->factureData['client_mail']);
|
||||
$this->Cell(0, $this->interLigneHeader, FileExportHelpers::FormatTextForExport('Mail : ') . $this->factureData['client_mail']);
|
||||
}
|
||||
|
||||
private function DrawInvoiceCompanyAndClientInfo()
|
||||
@ -191,23 +200,22 @@ class InvoicePdfHandler extends FPDF
|
||||
|
||||
private function DrawInvoiceInfoTable()
|
||||
{
|
||||
$this->setY(80);
|
||||
$this->setY(70);
|
||||
$factureDatePaiement = $this->factureData['date_paiement'];
|
||||
$factureDatePaiement = DateTime::createFromFormat('Y-m-d', $factureDatePaiement);
|
||||
$factureDateEcheance = $factureDatePaiement;
|
||||
$factureDatePaiement = $factureDatePaiement->format('d-m-Y');
|
||||
$factureDateEcheance->modify('last day of next month');
|
||||
$factureDateEcheance = $factureDateEcheance->format('d-m-Y');
|
||||
$this->SetFont('ComicSans', 'B', 11);
|
||||
$this->SetFont('ComicSans', '', 9);
|
||||
$this->Cell(25, 7, 'DATE', 1, 0, 'C');
|
||||
$this->Cell(104, 7, 'CLIENT', 1, 0, 'C');
|
||||
$this->Cell(39, 7, 'FACTURE', 1, 0, 'C');
|
||||
$this->Cell(36, 7, 'ECHEANCE', 1, 1, 'C');
|
||||
|
||||
$this->setY(90);
|
||||
$this->setY(77);
|
||||
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
$this->setY(30);
|
||||
$this->SetFont('ComicSans', '', 9);
|
||||
$this->Cell(25, 11, $factureDatePaiement, 1, 0, 'C');
|
||||
$this->Cell(104, 11, utf8_decode(html_entity_decode($this->factureData['client_nom'])), 1, 0, 'C');
|
||||
$this->Cell(39, 11, $this->factureData['num'], 1, 0, 'C');
|
||||
@ -231,22 +239,22 @@ class InvoicePdfHandler extends FPDF
|
||||
$this->Cell(0, 5, FileExportHelpers::FormatTextForExport("Numéro de dossier: " . $this->factureData['case_number']), 0, 1, 'C');
|
||||
}
|
||||
|
||||
$this->startingYOfArticlesTable = $this->thereIsOrderOrCaseNumber ? 98 : 88;
|
||||
$this->startingYOfArticlesTable = $this->thereIsOrderOrCaseNumber ? $$this->startingYOfArticlesTable + 3 : $this->startingYOfArticlesTable - 7;
|
||||
}
|
||||
|
||||
private function DrawArticlesTable()
|
||||
{
|
||||
$this->SetLineWidth(0.2);
|
||||
$gapBetweenStartingOfArticlesTableAndColumnName = 10;
|
||||
$tableHeight = $this->thereIsOrderOrCaseNumber ? 137 : 137 + 10;
|
||||
$tableHeight = $this->thereIsOrderOrCaseNumber ? $this->articleTablesHeight : $this->articleTablesHeight + 10;
|
||||
$this->Rect(3, $this->startingYOfArticlesTable, 204, $tableHeight, "D");
|
||||
// cadre titre des colonnes
|
||||
$this->Line(3, $this->startingYOfArticlesTable + $gapBetweenStartingOfArticlesTableAndColumnName, 207, $this->startingYOfArticlesTable + $gapBetweenStartingOfArticlesTableAndColumnName);
|
||||
// les traits verticaux colonnes
|
||||
$this->Line(28, $this->startingYOfArticlesTable, 28, 232);
|
||||
$this->Line(132, $this->startingYOfArticlesTable, 132, 232);
|
||||
$this->Line(157, $this->startingYOfArticlesTable, 157, 232);
|
||||
$this->Line(182, $this->startingYOfArticlesTable, 182, 232);
|
||||
$this->Line(28, $this->startingYOfArticlesTable, 28, $this->endingYOfArticlesTable + 3);
|
||||
$this->Line(132, $this->startingYOfArticlesTable, 132, $this->endingYOfArticlesTable + 3);
|
||||
$this->Line(157, $this->startingYOfArticlesTable, 157, $this->endingYOfArticlesTable + 3);
|
||||
$this->Line(182, $this->startingYOfArticlesTable, 182, $this->endingYOfArticlesTable + 3);
|
||||
}
|
||||
|
||||
private function DrawArticlesTableHeader()
|
||||
@ -284,9 +292,7 @@ class InvoicePdfHandler extends FPDF
|
||||
$yValue = $this->startingYOfArticlesTable + 11;
|
||||
foreach ($products as $product) {
|
||||
|
||||
$this->SetFont('ComicSans', '', 8);
|
||||
|
||||
$valueHt = $product['produit_price'];
|
||||
$valueHt = $product['produit_price'] * $product['quantite'];
|
||||
$valueTtc = PriceHelpers::calculPriceWithVatValue($valueHt, $tvaValue);
|
||||
$totalHt += $valueHt;
|
||||
$totalTtc += $valueTtc;
|
||||
@ -327,34 +333,36 @@ class InvoicePdfHandler extends FPDF
|
||||
private function DrawBankAndTotalPriceInfo($totalPriceArray)
|
||||
{
|
||||
$this->SetY(235);
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
$this->MultiCell(0, 5, utf8_decode(html_entity_decode("Paiement à votre convenance par chèque à l'ordre de " . $this->factureData['configuration']->entreprise)));
|
||||
$this->MultiCell(0, 5, utf8_decode(html_entity_decode("en indiquant le numéro de facture, ou par virement :")));
|
||||
$this->SetFont('ComicSans', '', 8);
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode("Paiement à votre convenance par chèque à l'ordre de ". $this->factureData['configuration']->entreprise)));
|
||||
$this->MultiCell(0,4,utf8_decode(html_entity_decode("en indiquant le numéro de facture, ou par virement :")));
|
||||
|
||||
$this->Ln(1);
|
||||
|
||||
// Table IBAN
|
||||
$this->SetFont('ComicSans', '', 7);
|
||||
$ibanWidth = 56;
|
||||
$this->SetFont('ComicSans', '', 8);
|
||||
$ibanWidth = 62;
|
||||
$ibanCursorY = $this->GetY();
|
||||
$this->Cell($ibanWidth, 5, 'IBAN : FR76 1360 6000 1436 5418 1800 038', 1, 1, 'C');
|
||||
$ibanCursorX = $this->GetX();
|
||||
$this->Cell($ibanWidth, 5, 'Code SWIFT : AGRI FR PP 836', 1, 1, 'C');
|
||||
|
||||
//TABLE HT
|
||||
$tableWidth = 40; // Largeur totale de la 2e table (20+20)
|
||||
$tableWidth = 48; // Largeur totale de la 2e table (20+20)
|
||||
$marginRight = 3; // Marge par rapport au bord droit
|
||||
$pageWidth = 210; // Largeur d'une page A4 en mm (portrait)
|
||||
|
||||
// Position correcte de la 2e table
|
||||
$startOfArrayX = $pageWidth - $tableWidth - $marginRight;
|
||||
$startOfArrayY = $ibanCursorY - 10;
|
||||
$startOfArrayY = $ibanCursorY - 5;
|
||||
|
||||
foreach ($totalPriceArray as $label => $price) {
|
||||
$this->SetXY($startOfArrayX, $startOfArrayY);
|
||||
$this->Cell(20, 5, $label, 1, 1, 'C');
|
||||
$this->SetXY($startOfArrayX + 20, $startOfArrayY);
|
||||
$this->Cell(20, 5, number_format($price, 2, '.', '') . chr(128), 1, 1, 'C');
|
||||
$this->SetFont('ComicSans', '', 10);
|
||||
|
||||
foreach($totalPriceArray as $label => $price){
|
||||
$this->SetXY($startOfArrayX,$startOfArrayY);
|
||||
$this->Cell(24, 5, $label, 1, 1, 'C');
|
||||
$this->SetXY($startOfArrayX + 24,$startOfArrayY);
|
||||
$this->Cell(24, 5, number_format($price,2,'.','').chr(128), 1, 1, 'C');
|
||||
$startOfArrayY += 5;
|
||||
}
|
||||
}
|
||||
|
||||
@ -99,6 +99,11 @@ class InvoicePdfService {
|
||||
$pdf->SetFactureContent();
|
||||
$pdfContent = $pdf->Output('','S');
|
||||
$pdfFilename = $pdf->GetInvoiceFilename();
|
||||
$prefixPdf = "FACTURE";
|
||||
if($invoicePdfData['is_negative']){
|
||||
$prefixPdf = "AVOIR";
|
||||
}
|
||||
$pdfFilename = $prefixPdf."_".$pdfFilename;
|
||||
$filenames = [];
|
||||
foreach($factureFolders as $folder){
|
||||
try {
|
||||
|
||||
@ -79,7 +79,7 @@ window.addEventListener("DOMContentLoaded", function () {
|
||||
var pacemakerBtn = document.getElementById("pacemakerBtn");
|
||||
var rapportSoinBtn = document.getElementById("rapportSoinBtn");
|
||||
var exportCareCertificateButton = document.getElementById("exportCareCertificate");
|
||||
var setDefuntCoverButton = this.document.getElementById("coverProductsRadioButton");
|
||||
var setDefuntCoverButton = this.document.getElementById("coverProductsSetButton");
|
||||
|
||||
var showRapportBijouxExportModalButton = this.document.getElementById("showRapportBijouxExportModal");
|
||||
var closeRapportBijouxModalButton = this.document.getElementById("closeRapportBijouxModal");
|
||||
@ -113,11 +113,11 @@ window.addEventListener("DOMContentLoaded", function () {
|
||||
|
||||
|
||||
setDefuntCoverButton.addEventListener("click",function(){
|
||||
const productCoverRadios = document.getElementsByName('coverProductsRadioButton');
|
||||
const selectedProductCover = document.getElementsByName('coverProductsCheckbox');
|
||||
let selectedValue = null;
|
||||
for (const radio of productCoverRadios) {
|
||||
if (radio.checked) {
|
||||
selectedValue = radio.value;
|
||||
for (const checkbox of selectedProductCover) {
|
||||
if (checkbox.checked) {
|
||||
selectedValue = checkbox.value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -342,4 +342,8 @@ function removeElements() {
|
||||
items.forEach((item) => {
|
||||
item.remove();
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
$('.coverProductsExclusive').on('change', function () {
|
||||
$('.coverProductsExclusive').not(this).prop('checked', false);
|
||||
});
|
||||
|
||||
@ -773,10 +773,6 @@ export function exportCareCertificate(defuntIdPayload) {
|
||||
* @param {*} setDefuntCoverPayload
|
||||
*/
|
||||
export function setDefuntCover(setDefuntCoverPayload) {
|
||||
if(setDefuntCoverPayload.productId == null){
|
||||
showError('Veuillez choisir une housse à appliquer');
|
||||
return;
|
||||
}
|
||||
$.ajax({
|
||||
url: baseUrl + '/defunt/setDefuntCover',
|
||||
type: 'POST',
|
||||
|
||||
@ -123,16 +123,17 @@ $coverProducts = $_['coverProducts'];
|
||||
<?php foreach ($coverProducts as $currentCoverProduct): ?>
|
||||
<div class="row">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<input type="radio"
|
||||
name="coverProductsRadioButton"
|
||||
<input type="checkbox"
|
||||
name="coverProductsCheckbox"
|
||||
class="coverProductsExclusive"
|
||||
value="<?= $currentCoverProduct->id; ?>"
|
||||
<?= $currentCoverProduct->id == $_['defunt'][0]->product_cover_id ? 'checked' : ''; ?>>
|
||||
<label class="form-check-label"><?= $currentCoverProduct->description; ?></label>
|
||||
<label class="form-check-label"><?= $currentCoverProduct->description; ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
<div class="row p-2">
|
||||
<button class="btn btn-secondary" id="coverProductsRadioButton"> Valider le choix </button>
|
||||
<button class="btn btn-secondary" id="coverProductsSetButton"> Valider le choix </button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user