{"version":3,"file":"js/app.db01de50.js","mappings":"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","sources":["webpack://resa-frontend/../../neptune-js/node_modules/moment/dist/locale/ sync ^\\.\\/.*$","webpack://resa-frontend/../../neptune-js/node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://resa-frontend/./src/components/clients/ClientForm.vue","webpack://resa-frontend/src/components/clients/ClientForm.vue","webpack://resa-frontend/./src/components/clients/ClientForm.vue?2a50","webpack://resa-frontend/./src/components/clients/ClientForm.vue?afb5","webpack://resa-frontend/./src/components/odeon/OdeonPopup.vue","webpack://resa-frontend/./src/api/odeon.js","webpack://resa-frontend/./src/components/odeon/TicketDetailsPanel.vue","webpack://resa-frontend/./src/components/odeon/TiptapEditor.vue","webpack://resa-frontend/./src/components/odeon/TiptapMenuBar.vue","webpack://resa-frontend/./src/components/odeon/TiptapMenuItem.vue","webpack://resa-frontend/src/components/odeon/TiptapMenuItem.vue","webpack://resa-frontend/./src/components/odeon/TiptapMenuItem.vue?930b","webpack://resa-frontend/./src/components/odeon/TiptapMenuItem.vue?29cc","webpack://resa-frontend/src/components/odeon/TiptapMenuBar.vue","webpack://resa-frontend/./src/components/odeon/TiptapMenuBar.vue?fd05","webpack://resa-frontend/./src/components/odeon/TiptapMenuBar.vue?41d7","webpack://resa-frontend/./src/plugins/DropImage.js","webpack://resa-frontend/./src/plugins/ImageUpload.js","webpack://resa-frontend/src/components/odeon/TiptapEditor.vue","webpack://resa-frontend/./src/components/odeon/TiptapEditor.vue?9005","webpack://resa-frontend/./src/components/odeon/TiptapEditor.vue?d6d4","webpack://resa-frontend/src/components/odeon/TicketDetailsPanel.vue","webpack://resa-frontend/./src/components/odeon/TicketDetailsPanel.vue?0bfd","webpack://resa-frontend/./src/components/odeon/TicketDetailsPanel.vue?b9fb","webpack://resa-frontend/../../neptune-js/helpers/odeon.js","webpack://resa-frontend/../../neptune-js/mixins/odeon.js","webpack://resa-frontend/src/components/odeon/OdeonPopup.vue","webpack://resa-frontend/./src/components/odeon/OdeonPopup.vue?5c63","webpack://resa-frontend/./src/components/odeon/OdeonPopup.vue?5c3c","webpack://resa-frontend/./src/views/global/VoucherScan.vue","webpack://resa-frontend/src/views/global/VoucherScan.vue","webpack://resa-frontend/./src/views/global/VoucherScan.vue?9b28","webpack://resa-frontend/./src/views/global/VoucherScan.vue?f155","webpack://resa-frontend/./src/plugins/vuetify.js","webpack://resa-frontend/./src/plugins/snotify.js","webpack://resa-frontend/./src/App.vue","webpack://resa-frontend/./src/views/Forbidden.vue","webpack://resa-frontend/src/views/Forbidden.vue","webpack://resa-frontend/./src/views/Forbidden.vue?aac3","webpack://resa-frontend/./src/views/Forbidden.vue?a1e0","webpack://resa-frontend/src/App.vue","webpack://resa-frontend/./src/App.vue?b495","webpack://resa-frontend/./src/App.vue?0e40","webpack://resa-frontend/./src/main.ts","webpack://resa-frontend/../../neptune-js/consts.js","webpack://resa-frontend/../../neptune-js/helpers/client.js","webpack://resa-frontend/../../neptune-js/helpers/date.js","webpack://resa-frontend/../../neptune-js/helpers/forms.js","webpack://resa-frontend/../../neptune-js/helpers/params.js","webpack://resa-frontend/../../neptune-js/helpers/subscriptions.js","webpack://resa-frontend/../../neptune-js/helpers/utils.js","webpack://resa-frontend/../../neptune-js/mixins/access-control.js","webpack://resa-frontend/../../neptune-js/mixins/bookings.js","webpack://resa-frontend/../../neptune-js/mixins/client.js","webpack://resa-frontend/../../neptune-js/mixins/date.js","webpack://resa-frontend/../../neptune-js/ui/colors.js","webpack://resa-frontend/../../neptune-js/mixins/colors.js","webpack://resa-frontend/../../neptune-js/helpers/labelizer.js","webpack://resa-frontend/../../neptune-js/text-values.js","webpack://resa-frontend/../../neptune-js/mixins/labelizer.js","webpack://resa-frontend/../../neptune-js/helpers/iconizer.js","webpack://resa-frontend/../../neptune-js/mixins/iconizer.js","webpack://resa-frontend/../../neptune-js/helpers/spa.js","webpack://resa-frontend/../../neptune-js/mixins/spa.js","webpack://resa-frontend/../../neptune-js/ui/templates.js","webpack://resa-frontend/../../neptune-js/mixins/templates.js","webpack://resa-frontend/../../neptune-js/ui/lockers.js","webpack://resa-frontend/../../neptune-js/helpers/lockers.js","webpack://resa-frontend/../../neptune-js/mixins/lockers.js","webpack://resa-frontend/../../neptune-js/ui/params.js","webpack://resa-frontend/../../neptune-js/mixins/params.js","webpack://resa-frontend/../../neptune-js/helpers/sales.js","webpack://resa-frontend/../../neptune-js/mixins/sales.js","webpack://resa-frontend/../../neptune-js/mixins/subscriptions.js","webpack://resa-frontend/../../neptune-js/ui/access-control.js","webpack://resa-frontend/../../neptune-js/ui/bookings.js","webpack://resa-frontend/../../neptune-js/ui/client.js","webpack://resa-frontend/../../neptune-js/ui/sales.js","webpack://resa-frontend/../../neptune-js/ui/subscriptions.js","webpack://resa-frontend/./src/api/accessControl.js","webpack://resa-frontend/./src/api/accounts.js","webpack://resa-frontend/./src/api/activities.js","webpack://resa-frontend/./src/api/areas.js","webpack://resa-frontend/./src/api/auth.js","webpack://resa-frontend/./src/api/clients.js","webpack://resa-frontend/./src/api/common.js","webpack://resa-frontend/./src/api/ctm.js","webpack://resa-frontend/./src/api/lockers.js","webpack://resa-frontend/./src/api/params.js","webpack://resa-frontend/./src/api/products.js","webpack://resa-frontend/./src/api/quotations.js","webpack://resa-frontend/./src/api/spa.js","webpack://resa-frontend/./src/api/stats.js","webpack://resa-frontend/./src/api/templates.js","webpack://resa-frontend/./src/api/vouchers.js","webpack://resa-frontend/./src/api/weekTypes.js","webpack://resa-frontend/./src/config.js","webpack://resa-frontend/./src/eventbus.js","webpack://resa-frontend/./src/mixins/date.js","webpack://resa-frontend/./src/mixins/main.js","webpack://resa-frontend/./src/mixins/webview.js","webpack://resa-frontend/./src/mixins/ws.js","webpack://resa-frontend/./src/router/auth.js","webpack://resa-frontend/./src/router/planning.js","webpack://resa-frontend/./src/router/turnstiles.js","webpack://resa-frontend/./src/router/clients.js","webpack://resa-frontend/./src/router/quotation.js","webpack://resa-frontend/./src/router/spa.js","webpack://resa-frontend/./src/router/stats.js","webpack://resa-frontend/./src/router/business.js","webpack://resa-frontend/./src/router/lockers.js","webpack://resa-frontend/./src/router/activities.js","webpack://resa-frontend/./src/router/setup.js","webpack://resa-frontend/./src/router/cashregisterWebviews.js","webpack://resa-frontend/./src/router/kiosks.js","webpack://resa-frontend/./src/router/permissions.js","webpack://resa-frontend/./src/router/router.js","webpack://resa-frontend/./src/store/main.js","webpack://resa-frontend/./src/store/params.js","webpack://resa-frontend/./src/store/stats/resa/bilansperiodiques.js","webpack://resa-frontend/./src/store/stats/resa/frequentations.js","webpack://resa-frontend/./src/store/stats/resa/plannings.js","webpack://resa-frontend/./src/store/stats/resa/resa.js","webpack://resa-frontend/./src/store/stats.js","webpack://resa-frontend/./src/store/turnstiles.js","webpack://resa-frontend/./src/store/spa.js","webpack://resa-frontend/./src/store/planning.js","webpack://resa-frontend/./src/store/ws.js","webpack://resa-frontend/./src/store/template.js","webpack://resa-frontend/./src/store/lockers.js","webpack://resa-frontend/./src/store/store.js","webpack://resa-frontend/./src/utils/stats/consts.js","webpack://resa-frontend/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://resa-frontend/webpack/bootstrap","webpack://resa-frontend/webpack/runtime/chunk loaded","webpack://resa-frontend/webpack/runtime/compat get default export","webpack://resa-frontend/webpack/runtime/define property getters","webpack://resa-frontend/webpack/runtime/ensure chunk","webpack://resa-frontend/webpack/runtime/get javascript chunk filename","webpack://resa-frontend/webpack/runtime/get mini-css chunk filename","webpack://resa-frontend/webpack/runtime/global","webpack://resa-frontend/webpack/runtime/harmony module decorator","webpack://resa-frontend/webpack/runtime/hasOwnProperty shorthand","webpack://resa-frontend/webpack/runtime/load script","webpack://resa-frontend/webpack/runtime/make namespace object","webpack://resa-frontend/webpack/runtime/node module decorator","webpack://resa-frontend/webpack/runtime/publicPath","webpack://resa-frontend/webpack/runtime/css loading","webpack://resa-frontend/webpack/runtime/jsonp chunk loading","webpack://resa-frontend/webpack/startup"],"sourcesContent":["var map = {\n\t\"./af\": 96445,\n\t\"./af.js\": 96445,\n\t\"./ar\": 26321,\n\t\"./ar-dz\": 72564,\n\t\"./ar-dz.js\": 72564,\n\t\"./ar-kw\": 48376,\n\t\"./ar-kw.js\": 48376,\n\t\"./ar-ly\": 63493,\n\t\"./ar-ly.js\": 63493,\n\t\"./ar-ma\": 24836,\n\t\"./ar-ma.js\": 24836,\n\t\"./ar-sa\": 50038,\n\t\"./ar-sa.js\": 50038,\n\t\"./ar-tn\": 92936,\n\t\"./ar-tn.js\": 92936,\n\t\"./ar.js\": 26321,\n\t\"./az\": 26153,\n\t\"./az.js\": 26153,\n\t\"./be\": 18499,\n\t\"./be.js\": 18499,\n\t\"./bg\": 27461,\n\t\"./bg.js\": 27461,\n\t\"./bm\": 35627,\n\t\"./bm.js\": 35627,\n\t\"./bn\": 28526,\n\t\"./bn-bd\": 75161,\n\t\"./bn-bd.js\": 75161,\n\t\"./bn.js\": 28526,\n\t\"./bo\": 61485,\n\t\"./bo.js\": 61485,\n\t\"./br\": 94698,\n\t\"./br.js\": 94698,\n\t\"./bs\": 64953,\n\t\"./bs.js\": 64953,\n\t\"./ca\": 9142,\n\t\"./ca.js\": 9142,\n\t\"./cs\": 67260,\n\t\"./cs.js\": 67260,\n\t\"./cv\": 14759,\n\t\"./cv.js\": 14759,\n\t\"./cy\": 58926,\n\t\"./cy.js\": 58926,\n\t\"./da\": 14325,\n\t\"./da.js\": 14325,\n\t\"./de\": 91577,\n\t\"./de-at\": 23619,\n\t\"./de-at.js\": 23619,\n\t\"./de-ch\": 78405,\n\t\"./de-ch.js\": 78405,\n\t\"./de.js\": 91577,\n\t\"./dv\": 44304,\n\t\"./dv.js\": 44304,\n\t\"./el\": 2511,\n\t\"./el.js\": 2511,\n\t\"./en-au\": 79444,\n\t\"./en-au.js\": 79444,\n\t\"./en-ca\": 55366,\n\t\"./en-ca.js\": 55366,\n\t\"./en-gb\": 49111,\n\t\"./en-gb.js\": 49111,\n\t\"./en-ie\": 57308,\n\t\"./en-ie.js\": 57308,\n\t\"./en-il\": 72971,\n\t\"./en-il.js\": 72971,\n\t\"./en-in\": 32461,\n\t\"./en-in.js\": 32461,\n\t\"./en-nz\": 18510,\n\t\"./en-nz.js\": 18510,\n\t\"./en-sg\": 91744,\n\t\"./en-sg.js\": 91744,\n\t\"./eo\": 5026,\n\t\"./eo.js\": 5026,\n\t\"./es\": 91574,\n\t\"./es-do\": 11898,\n\t\"./es-do.js\": 11898,\n\t\"./es-mx\": 85598,\n\t\"./es-mx.js\": 85598,\n\t\"./es-us\": 35611,\n\t\"./es-us.js\": 35611,\n\t\"./es.js\": 91574,\n\t\"./et\": 84791,\n\t\"./et.js\": 84791,\n\t\"./eu\": 43488,\n\t\"./eu.js\": 43488,\n\t\"./fa\": 82955,\n\t\"./fa.js\": 82955,\n\t\"./fi\": 65827,\n\t\"./fi.js\": 65827,\n\t\"./fil\": 36031,\n\t\"./fil.js\": 36031,\n\t\"./fo\": 93001,\n\t\"./fo.js\": 93001,\n\t\"./fr\": 79550,\n\t\"./fr-ca\": 58551,\n\t\"./fr-ca.js\": 58551,\n\t\"./fr-ch\": 32680,\n\t\"./fr-ch.js\": 32680,\n\t\"./fr.js\": 79550,\n\t\"./fy\": 79891,\n\t\"./fy.js\": 79891,\n\t\"./ga\": 17978,\n\t\"./ga.js\": 17978,\n\t\"./gd\": 86117,\n\t\"./gd.js\": 86117,\n\t\"./gl\": 31533,\n\t\"./gl.js\": 31533,\n\t\"./gom-deva\": 90896,\n\t\"./gom-deva.js\": 90896,\n\t\"./gom-latn\": 46411,\n\t\"./gom-latn.js\": 46411,\n\t\"./gu\": 55734,\n\t\"./gu.js\": 55734,\n\t\"./he\": 91397,\n\t\"./he.js\": 91397,\n\t\"./hi\": 7665,\n\t\"./hi.js\": 7665,\n\t\"./hr\": 44064,\n\t\"./hr.js\": 44064,\n\t\"./hu\": 60917,\n\t\"./hu.js\": 60917,\n\t\"./hy-am\": 21548,\n\t\"./hy-am.js\": 21548,\n\t\"./id\": 92723,\n\t\"./id.js\": 92723,\n\t\"./is\": 58618,\n\t\"./is.js\": 58618,\n\t\"./it\": 78659,\n\t\"./it-ch\": 42471,\n\t\"./it-ch.js\": 42471,\n\t\"./it.js\": 78659,\n\t\"./ja\": 5599,\n\t\"./ja.js\": 5599,\n\t\"./jv\": 71758,\n\t\"./jv.js\": 71758,\n\t\"./ka\": 83086,\n\t\"./ka.js\": 83086,\n\t\"./kk\": 52284,\n\t\"./kk.js\": 52284,\n\t\"./km\": 53530,\n\t\"./km.js\": 53530,\n\t\"./kn\": 57255,\n\t\"./kn.js\": 57255,\n\t\"./ko\": 33104,\n\t\"./ko.js\": 33104,\n\t\"./ku\": 51762,\n\t\"./ku.js\": 51762,\n\t\"./ky\": 94166,\n\t\"./ky.js\": 94166,\n\t\"./lb\": 39268,\n\t\"./lb.js\": 39268,\n\t\"./lo\": 93671,\n\t\"./lo.js\": 93671,\n\t\"./lt\": 87122,\n\t\"./lt.js\": 87122,\n\t\"./lv\": 60360,\n\t\"./lv.js\": 60360,\n\t\"./me\": 7112,\n\t\"./me.js\": 7112,\n\t\"./mi\": 23052,\n\t\"./mi.js\": 23052,\n\t\"./mk\": 34806,\n\t\"./mk.js\": 34806,\n\t\"./ml\": 28023,\n\t\"./ml.js\": 28023,\n\t\"./mn\": 21017,\n\t\"./mn.js\": 21017,\n\t\"./mr\": 33901,\n\t\"./mr.js\": 33901,\n\t\"./ms\": 84590,\n\t\"./ms-my\": 23093,\n\t\"./ms-my.js\": 23093,\n\t\"./ms.js\": 84590,\n\t\"./mt\": 45743,\n\t\"./mt.js\": 45743,\n\t\"./my\": 92924,\n\t\"./my.js\": 92924,\n\t\"./nb\": 14854,\n\t\"./nb.js\": 14854,\n\t\"./ne\": 34535,\n\t\"./ne.js\": 34535,\n\t\"./nl\": 87160,\n\t\"./nl-be\": 11308,\n\t\"./nl-be.js\": 11308,\n\t\"./nl.js\": 87160,\n\t\"./nn\": 98914,\n\t\"./nn.js\": 98914,\n\t\"./oc-lnc\": 72798,\n\t\"./oc-lnc.js\": 72798,\n\t\"./pa-in\": 55549,\n\t\"./pa-in.js\": 55549,\n\t\"./pl\": 94390,\n\t\"./pl.js\": 94390,\n\t\"./pt\": 9486,\n\t\"./pt-br\": 52867,\n\t\"./pt-br.js\": 52867,\n\t\"./pt.js\": 9486,\n\t\"./ro\": 21021,\n\t\"./ro.js\": 21021,\n\t\"./ru\": 57731,\n\t\"./ru.js\": 57731,\n\t\"./sd\": 38761,\n\t\"./sd.js\": 38761,\n\t\"./se\": 26234,\n\t\"./se.js\": 26234,\n\t\"./si\": 79086,\n\t\"./si.js\": 79086,\n\t\"./sk\": 98852,\n\t\"./sk.js\": 98852,\n\t\"./sl\": 62225,\n\t\"./sl.js\": 62225,\n\t\"./sq\": 63990,\n\t\"./sq.js\": 63990,\n\t\"./sr\": 17811,\n\t\"./sr-cyrl\": 9854,\n\t\"./sr-cyrl.js\": 9854,\n\t\"./sr.js\": 17811,\n\t\"./ss\": 17548,\n\t\"./ss.js\": 17548,\n\t\"./sv\": 22519,\n\t\"./sv.js\": 22519,\n\t\"./sw\": 32800,\n\t\"./sw.js\": 32800,\n\t\"./ta\": 99653,\n\t\"./ta.js\": 99653,\n\t\"./te\": 67337,\n\t\"./te.js\": 67337,\n\t\"./tet\": 95545,\n\t\"./tet.js\": 95545,\n\t\"./tg\": 23847,\n\t\"./tg.js\": 23847,\n\t\"./th\": 7662,\n\t\"./th.js\": 7662,\n\t\"./tk\": 57291,\n\t\"./tk.js\": 57291,\n\t\"./tl-ph\": 51515,\n\t\"./tl-ph.js\": 51515,\n\t\"./tlh\": 20912,\n\t\"./tlh.js\": 20912,\n\t\"./tr\": 46124,\n\t\"./tr.js\": 46124,\n\t\"./tzl\": 92218,\n\t\"./tzl.js\": 92218,\n\t\"./tzm\": 47273,\n\t\"./tzm-latn\": 45883,\n\t\"./tzm-latn.js\": 45883,\n\t\"./tzm.js\": 47273,\n\t\"./ug-cn\": 51538,\n\t\"./ug-cn.js\": 51538,\n\t\"./uk\": 84286,\n\t\"./uk.js\": 84286,\n\t\"./ur\": 30053,\n\t\"./ur.js\": 30053,\n\t\"./uz\": 64077,\n\t\"./uz-latn\": 96279,\n\t\"./uz-latn.js\": 96279,\n\t\"./uz.js\": 64077,\n\t\"./vi\": 7347,\n\t\"./vi.js\": 7347,\n\t\"./x-pseudo\": 85831,\n\t\"./x-pseudo.js\": 85831,\n\t\"./yo\": 57422,\n\t\"./yo.js\": 57422,\n\t\"./zh-cn\": 69068,\n\t\"./zh-cn.js\": 69068,\n\t\"./zh-hk\": 81900,\n\t\"./zh-hk.js\": 81900,\n\t\"./zh-mo\": 61601,\n\t\"./zh-mo.js\": 61601,\n\t\"./zh-tw\": 30412,\n\t\"./zh-tw.js\": 30412\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35338;","var map = {\n\t\"./af\": 22044,\n\t\"./af.js\": 22044,\n\t\"./ar\": 49088,\n\t\"./ar-dz\": 17055,\n\t\"./ar-dz.js\": 17055,\n\t\"./ar-kw\": 40019,\n\t\"./ar-kw.js\": 40019,\n\t\"./ar-ly\": 71610,\n\t\"./ar-ly.js\": 71610,\n\t\"./ar-ma\": 21603,\n\t\"./ar-ma.js\": 21603,\n\t\"./ar-sa\": 32897,\n\t\"./ar-sa.js\": 32897,\n\t\"./ar-tn\": 70171,\n\t\"./ar-tn.js\": 70171,\n\t\"./ar.js\": 49088,\n\t\"./az\": 36232,\n\t\"./az.js\": 36232,\n\t\"./be\": 5186,\n\t\"./be.js\": 5186,\n\t\"./bg\": 75096,\n\t\"./bg.js\": 75096,\n\t\"./bm\": 70330,\n\t\"./bm.js\": 70330,\n\t\"./bn\": 97351,\n\t\"./bn-bd\": 93626,\n\t\"./bn-bd.js\": 93626,\n\t\"./bn.js\": 97351,\n\t\"./bo\": 90480,\n\t\"./bo.js\": 90480,\n\t\"./br\": 96187,\n\t\"./br.js\": 96187,\n\t\"./bs\": 96660,\n\t\"./bs.js\": 96660,\n\t\"./ca\": 86271,\n\t\"./ca.js\": 86271,\n\t\"./cs\": 881,\n\t\"./cs.js\": 881,\n\t\"./cv\": 34094,\n\t\"./cv.js\": 34094,\n\t\"./cy\": 84967,\n\t\"./cy.js\": 84967,\n\t\"./da\": 55636,\n\t\"./da.js\": 55636,\n\t\"./de\": 64488,\n\t\"./de-at\": 10132,\n\t\"./de-at.js\": 10132,\n\t\"./de-ch\": 81074,\n\t\"./de-ch.js\": 81074,\n\t\"./de.js\": 64488,\n\t\"./dv\": 13713,\n\t\"./dv.js\": 13713,\n\t\"./el\": 47322,\n\t\"./el.js\": 47322,\n\t\"./en-au\": 98979,\n\t\"./en-au.js\": 98979,\n\t\"./en-ca\": 3393,\n\t\"./en-ca.js\": 3393,\n\t\"./en-gb\": 60124,\n\t\"./en-gb.js\": 60124,\n\t\"./en-ie\": 18027,\n\t\"./en-ie.js\": 18027,\n\t\"./en-il\": 2364,\n\t\"./en-il.js\": 2364,\n\t\"./en-in\": 64358,\n\t\"./en-in.js\": 64358,\n\t\"./en-nz\": 42741,\n\t\"./en-nz.js\": 42741,\n\t\"./en-sg\": 96363,\n\t\"./en-sg.js\": 96363,\n\t\"./eo\": 51047,\n\t\"./eo.js\": 51047,\n\t\"./es\": 73179,\n\t\"./es-do\": 12513,\n\t\"./es-do.js\": 12513,\n\t\"./es-mx\": 78577,\n\t\"./es-mx.js\": 78577,\n\t\"./es-us\": 77144,\n\t\"./es-us.js\": 77144,\n\t\"./es.js\": 73179,\n\t\"./et\": 45554,\n\t\"./et.js\": 45554,\n\t\"./eu\": 52833,\n\t\"./eu.js\": 52833,\n\t\"./fa\": 21778,\n\t\"./fa.js\": 21778,\n\t\"./fi\": 5546,\n\t\"./fi.js\": 5546,\n\t\"./fil\": 54980,\n\t\"./fil.js\": 54980,\n\t\"./fo\": 1132,\n\t\"./fo.js\": 1132,\n\t\"./fr\": 43055,\n\t\"./fr-ca\": 23380,\n\t\"./fr-ca.js\": 23380,\n\t\"./fr-ch\": 11923,\n\t\"./fr-ch.js\": 11923,\n\t\"./fr.js\": 43055,\n\t\"./fy\": 75130,\n\t\"./fy.js\": 75130,\n\t\"./ga\": 48419,\n\t\"./ga.js\": 48419,\n\t\"./gd\": 91056,\n\t\"./gd.js\": 91056,\n\t\"./gl\": 49496,\n\t\"./gl.js\": 49496,\n\t\"./gom-deva\": 43825,\n\t\"./gom-deva.js\": 43825,\n\t\"./gom-latn\": 682,\n\t\"./gom-latn.js\": 682,\n\t\"./gu\": 59351,\n\t\"./gu.js\": 59351,\n\t\"./he\": 14228,\n\t\"./he.js\": 14228,\n\t\"./hi\": 77568,\n\t\"./hi.js\": 77568,\n\t\"./hr\": 6993,\n\t\"./hr.js\": 6993,\n\t\"./hu\": 76868,\n\t\"./hu.js\": 76868,\n\t\"./hy-am\": 32507,\n\t\"./hy-am.js\": 32507,\n\t\"./id\": 45038,\n\t\"./id.js\": 45038,\n\t\"./is\": 62527,\n\t\"./is.js\": 62527,\n\t\"./it\": 72030,\n\t\"./it-ch\": 74152,\n\t\"./it-ch.js\": 74152,\n\t\"./it.js\": 72030,\n\t\"./ja\": 89814,\n\t\"./ja.js\": 89814,\n\t\"./jv\": 72135,\n\t\"./jv.js\": 72135,\n\t\"./ka\": 25383,\n\t\"./ka.js\": 25383,\n\t\"./kk\": 57649,\n\t\"./kk.js\": 57649,\n\t\"./km\": 75723,\n\t\"./km.js\": 75723,\n\t\"./kn\": 74510,\n\t\"./kn.js\": 74510,\n\t\"./ko\": 35213,\n\t\"./ko.js\": 35213,\n\t\"./ku\": 13235,\n\t\"./ku.js\": 13235,\n\t\"./ky\": 43039,\n\t\"./ky.js\": 43039,\n\t\"./lb\": 86277,\n\t\"./lb.js\": 86277,\n\t\"./lo\": 2594,\n\t\"./lo.js\": 2594,\n\t\"./lt\": 30775,\n\t\"./lt.js\": 30775,\n\t\"./lv\": 61337,\n\t\"./lv.js\": 61337,\n\t\"./me\": 89145,\n\t\"./me.js\": 89145,\n\t\"./mi\": 29277,\n\t\"./mi.js\": 29277,\n\t\"./mk\": 64859,\n\t\"./mk.js\": 64859,\n\t\"./ml\": 8946,\n\t\"./ml.js\": 8946,\n\t\"./mn\": 49064,\n\t\"./mn.js\": 49064,\n\t\"./mr\": 61052,\n\t\"./mr.js\": 61052,\n\t\"./ms\": 82339,\n\t\"./ms-my\": 73482,\n\t\"./ms-my.js\": 73482,\n\t\"./ms.js\": 82339,\n\t\"./mt\": 62298,\n\t\"./mt.js\": 62298,\n\t\"./my\": 59501,\n\t\"./my.js\": 59501,\n\t\"./nb\": 35623,\n\t\"./nb.js\": 35623,\n\t\"./ne\": 41977,\n\t\"./ne.js\": 41977,\n\t\"./nl\": 29101,\n\t\"./nl-be\": 28935,\n\t\"./nl-be.js\": 28935,\n\t\"./nl.js\": 29101,\n\t\"./nn\": 52715,\n\t\"./nn.js\": 52715,\n\t\"./oc-lnc\": 8611,\n\t\"./oc-lnc.js\": 8611,\n\t\"./pa-in\": 49574,\n\t\"./pa-in.js\": 49574,\n\t\"./pl\": 39307,\n\t\"./pl.js\": 39307,\n\t\"./pt\": 59539,\n\t\"./pt-br\": 94536,\n\t\"./pt-br.js\": 94536,\n\t\"./pt.js\": 59539,\n\t\"./ro\": 99232,\n\t\"./ro.js\": 99232,\n\t\"./ru\": 60770,\n\t\"./ru.js\": 60770,\n\t\"./sd\": 51780,\n\t\"./sd.js\": 51780,\n\t\"./se\": 96184,\n\t\"./se.js\": 96184,\n\t\"./si\": 40359,\n\t\"./si.js\": 40359,\n\t\"./sk\": 83849,\n\t\"./sk.js\": 83849,\n\t\"./sl\": 35388,\n\t\"./sl.js\": 35388,\n\t\"./sq\": 58015,\n\t\"./sq.js\": 58015,\n\t\"./sr\": 99634,\n\t\"./sr-cyrl\": 8125,\n\t\"./sr-cyrl.js\": 8125,\n\t\"./sr.js\": 99634,\n\t\"./ss\": 53537,\n\t\"./ss.js\": 53537,\n\t\"./sv\": 70398,\n\t\"./sv.js\": 70398,\n\t\"./sw\": 3613,\n\t\"./sw.js\": 3613,\n\t\"./ta\": 64612,\n\t\"./ta.js\": 64612,\n\t\"./te\": 54232,\n\t\"./te.js\": 54232,\n\t\"./tet\": 64646,\n\t\"./tet.js\": 64646,\n\t\"./tg\": 26850,\n\t\"./tg.js\": 26850,\n\t\"./th\": 69507,\n\t\"./th.js\": 69507,\n\t\"./tk\": 81926,\n\t\"./tk.js\": 81926,\n\t\"./tl-ph\": 3964,\n\t\"./tl-ph.js\": 3964,\n\t\"./tlh\": 28967,\n\t\"./tlh.js\": 28967,\n\t\"./tr\": 16445,\n\t\"./tr.js\": 16445,\n\t\"./tzl\": 54125,\n\t\"./tzl.js\": 54125,\n\t\"./tzm\": 4814,\n\t\"./tzm-latn\": 48918,\n\t\"./tzm-latn.js\": 48918,\n\t\"./tzm.js\": 4814,\n\t\"./ug-cn\": 61033,\n\t\"./ug-cn.js\": 61033,\n\t\"./uk\": 8883,\n\t\"./uk.js\": 8883,\n\t\"./ur\": 89924,\n\t\"./ur.js\": 89924,\n\t\"./uz\": 73532,\n\t\"./uz-latn\": 47748,\n\t\"./uz-latn.js\": 47748,\n\t\"./uz.js\": 73532,\n\t\"./vi\": 44378,\n\t\"./vi.js\": 44378,\n\t\"./x-pseudo\": 63434,\n\t\"./x-pseudo.js\": 63434,\n\t\"./yo\": 4659,\n\t\"./yo.js\": 4659,\n\t\"./zh-cn\": 8915,\n\t\"./zh-cn.js\": 8915,\n\t\"./zh-hk\": 64539,\n\t\"./zh-hk.js\": 64539,\n\t\"./zh-mo\": 25334,\n\t\"./zh-mo.js\": 25334,\n\t\"./zh-tw\": 16419,\n\t\"./zh-tw.js\": 16419\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 19835;","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.client)?_c('div',[_c('v-form',{ref:\"form\"},[(!_vm.hasQuotationAccess)?_c('v-btn-toggle',{attrs:{\"mandatory\":\"\",\"color\":\"primary\"},model:{value:(_vm.client.ClientType),callback:function ($$v) {_vm.$set(_vm.client, \"ClientType\", $$v)},expression:\"client.ClientType\"}},_vm._l((_vm.clientTypes),function(i){return _c('v-btn',{key:i.value,attrs:{\"value\":i.value,\"readonly\":_vm.readonly}},[_c('v-icon',{attrs:{\"color\":_vm.client.ClientType === i.value ? 'primary' : 'black',\"left\":\"\"}},[_vm._v(\" \"+_vm._s(i.icon)+\" \")]),_vm._v(\" \"+_vm._s(i.text)+\" \")],1)}),1):_vm._e(),(_vm.client.ClientType === 2)?_c('v-subheader',[_vm._v(\"Informations de l'entité morale\")]):_vm._e(),(_vm.client.ClientType === 2)?_c('div',{attrs:{\"layout\":\"column\"}},[_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"clearable\":\"\",\"prepend-icon\":\"mdi-city\",\"label\":\"Raison sociale*\",\"rules\":[_vm.rules.required],\"readonly\":_vm.readonly},model:{value:(_vm.client.OrgInfo.Name),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"Name\", $$v)},expression:\"client.OrgInfo.Name\"}}),_c('v-select',{attrs:{\"items\":_vm.orgTypes,\"filled\":\"\",\"dense\":\"\",\"attach\":\"\",\"prepend-icon\":\"mdi-account-tie-outline\",\"label\":\"Type de client*\",\"rules\":[_vm.rules.required],\"menu-props\":{ 'offset-y': true },\"readonly\":_vm.readonly},model:{value:(_vm.client.OrgInfo.Type),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"Type\", $$v)},expression:\"client.OrgInfo.Type\"}}),_c('div',{attrs:{\"layout\":\"row\"}},[_c('v-text-field',{staticClass:\"mr-1\",attrs:{\"filled\":\"\",\"dense\":\"\",\"clearable\":\"\",\"prepend-icon\":\"mdi-bank-outline\",\"label\":'TVA INTRA' + (_vm.client.OrgInfo.Type === 1 ? '*' : ''),\"rules\":_vm.client.OrgInfo.Type === 1 ? [_vm.rules.required] : [],\"readonly\":_vm.readonly},model:{value:(_vm.client.OrgInfo.TVA),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"TVA\", $$v)},expression:\"client.OrgInfo.TVA\"}}),_c('v-text-field',{staticClass:\"ml-1\",attrs:{\"filled\":\"\",\"dense\":\"\",\"clearable\":\"\",\"label\":'SIRET' + (_vm.client.OrgInfo.Type === 1 ? '*' : ''),\"rules\":_vm.client.OrgInfo.Type === 1 ? [_vm.rules.required] : [],\"readonly\":_vm.readonly},model:{value:(_vm.client.OrgInfo.SIRET),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"SIRET\", $$v)},expression:\"client.OrgInfo.SIRET\"}})],1),_c('div',{attrs:{\"layout\":\"row\"}},[_c('v-text-field',{staticClass:\"mr-1 ml-8\",attrs:{\"filled\":\"\",\"dense\":\"\",\"clearable\":\"\",\"label\":'RCS' + (_vm.client.OrgInfo.Type === 1 ? '*' : ''),\"rules\":_vm.client.OrgInfo.Type === 1 ? [_vm.rules.required] : [],\"readonly\":_vm.readonly},model:{value:(_vm.client.OrgInfo.RCS),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"RCS\", $$v)},expression:\"client.OrgInfo.RCS\"}}),_c('v-text-field',{staticClass:\"ml-1\",attrs:{\"filled\":\"\",\"dense\":\"\",\"clearable\":\"\",\"label\":'NAF' + (_vm.client.OrgInfo.Type === 1 ? '*' : ''),\"rules\":_vm.client.OrgInfo.Type === 1 ? [_vm.rules.required] : [],\"readonly\":_vm.readonly},model:{value:(_vm.client.OrgInfo.NAF),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"NAF\", $$v)},expression:\"client.OrgInfo.NAF\"}})],1)],1):_vm._e(),(_vm.client.ClientType === 1)?_c('v-subheader',[_vm._v(\"Informations générales\")]):(_vm.client.ClientType === 2)?_c('v-subheader',[_vm._v(\"Personne de contact\")]):_vm._e(),_c('div',{attrs:{\"layout\":\"row\"}},[_c('div',{attrs:{\"flex\":\"20\"}},[_c('v-select',{staticClass:\"mr-1\",attrs:{\"items\":_vm.clientsGenders,\"prepend-icon\":\"mdi-account\",\"label\":\"Civilité\",\"filled\":\"\",\"dense\":\"\",\"attach\":\"\",\"menu-props\":{ 'offset-y': true },\"readonly\":_vm.readonly},scopedSlots:_vm._u([{key:\"item\",fn:function({ on, item }){return [_c('v-list-item',_vm._g({},on),[_vm._v(_vm._s(item.civilite))])]}}],null,false,2602572837),model:{value:(_vm.client.Sex),callback:function ($$v) {_vm.$set(_vm.client, \"Sex\", $$v)},expression:\"client.Sex\"}})],1),_c('v-text-field',{staticClass:\"ml-1 mr-1\",attrs:{\"filled\":\"\",\"dense\":\"\",\"label\":'Prénom' +\n (_vm.client.ClientType === 1 || _vm.hasQuotationAccess ? '*' : ''),\"rules\":_vm.client.ClientType === 1 || _vm.hasQuotationAccess\n ? [_vm.rules.required]\n : [],\"readonly\":_vm.readonly},model:{value:(_vm.client.Firstname),callback:function ($$v) {_vm.$set(_vm.client, \"Firstname\", $$v)},expression:\"client.Firstname\"}}),_c('v-text-field',{staticClass:\"ml-1\",attrs:{\"filled\":\"\",\"dense\":\"\",\"label\":'Nom' + (_vm.client.ClientType === 1 || _vm.hasQuotationAccess ? '*' : ''),\"rules\":_vm.client.ClientType === 1 || _vm.hasQuotationAccess\n ? [_vm.rules.required]\n : [],\"readonly\":_vm.readonly},model:{value:(_vm.client.Lastname),callback:function ($$v) {_vm.$set(_vm.client, \"Lastname\", $$v)},expression:\"client.Lastname\"}})],1),_c('div',{attrs:{\"layout\":\"row\"}},[(_vm.client.ClientType === 1)?_c('v-menu',{ref:\"menuBirthday\",attrs:{\"close-on-content-click\":false,\"transition\":\"offset-y-transition\",\"offset-y\":\"\",\"attach\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\",\"readonly\":_vm.readonly},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-text-field',_vm._g({attrs:{\"filled\":\"\",\"dense\":\"\",\"clearable\":\"\",\"label\":\"Date de naissance\",\"prepend-icon\":\"mdi-calendar\",\"readonly\":_vm.readonly},on:{\"blur\":function($event){_vm.birthdateDatepicker = _vm.parseDate(_vm.birthdateFormatted)},\"click:clear\":function($event){_vm.birthdateDatepicker = ''}},model:{value:(_vm.birthdateFormatted),callback:function ($$v) {_vm.birthdateFormatted=$$v},expression:\"birthdateFormatted\"}},on))]}}],null,false,224531113),model:{value:(_vm.menuBirthday),callback:function ($$v) {_vm.menuBirthday=$$v},expression:\"menuBirthday\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\",\"first-day-of-week\":1,\"readonly\":_vm.readonly},on:{\"input\":function($event){_vm.menu1 = false}},model:{value:(_vm.birthdateDatepicker),callback:function ($$v) {_vm.birthdateDatepicker=$$v},expression:\"birthdateDatepicker\"}})],1):_vm._e()],1),(_vm.client.ClientType === 2 && _vm.hasRight('admin:quotations'))?_c('div',[_c('v-subheader',[_vm._v(\"Compte pro et devis\")]),_c('v-switch',{staticClass:\"mb-2\",attrs:{\"label\":\"Accès aux devis\",\"hint\":\"Permet la création de devis et active l'onglet devis pour ce client\",\"persistent-hint\":\"\",\"inset\":\"\"},model:{value:(_vm.client.OrgInfo.QuotationAccess),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"QuotationAccess\", $$v)},expression:\"client.OrgInfo.QuotationAccess\"}}),_c('v-select',{attrs:{\"items\":_vm.quotationsSalesRepresentatives,\"item-value\":\"ID\",\"item-text\":(i) => {\n return i.Firstname + ' ' + i.Lastname\n },\"loading\":_vm.loadingQuotationsSalesRepresentatives,\"rules\":_vm.client.OrgInfo.QuotationAccess ? [_vm.rules.required] : [],\"prepend-icon\":\"mdi-account-tie-hat-outline\",\"label\":'Commercial référent pour ce client' +\n (_vm.client.OrgInfo.QuotationAccess ? ' *' : ''),\"filled\":\"\",\"dense\":\"\",\"attach\":\"\",\"menu-props\":{ 'offset-y': true, bottom: true },\"readonly\":_vm.readonly},model:{value:(_vm.client.OrgInfo.QuotationSalesRepresentativeID),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"QuotationSalesRepresentativeID\", $$v)},expression:\"client.OrgInfo.QuotationSalesRepresentativeID\"}}),_c('v-select',{attrs:{\"items\":_vm.quotationsProductsCatalogues,\"item-value\":\"ID\",\"item-text\":\"Label.FR\",\"loading\":_vm.loadingQuotationsProductsCatalogues,\"rules\":_vm.client.OrgInfo.QuotationAccess ? [_vm.rules.required] : [],\"prepend-icon\":\"mdi-book-open-page-variant-outline\",\"label\":'Catalogue de produits autorisés pour les devis' +\n (_vm.client.OrgInfo.QuotationAccess ? ' *' : ''),\"filled\":\"\",\"dense\":\"\",\"attach\":\"\",\"menu-props\":{ 'offset-y': true, bottom: true },\"readonly\":_vm.readonly},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_c('v-list-item',[_vm._v(\" Il n'existe aucun catalogue pour l'instant \"),(!_vm.readonly)?_c('a',{staticClass:\"ml-6\",on:{\"click\":function($event){return _vm.$router.push({\n name: 'quotation-settings',\n params: { tab: 'catalogs' }\n })}}},[_vm._v(\"Créer un catalogue\")]):_vm._e()])]},proxy:true}],null,false,2197328685),model:{value:(_vm.client.OrgInfo.QuotationProductsCatalogueID),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"QuotationProductsCatalogueID\", $$v)},expression:\"client.OrgInfo.QuotationProductsCatalogueID\"}}),_c('v-select',{attrs:{\"items\":_vm.quotationsPricings,\"item-value\":\"ID\",\"item-text\":\"Label.FR\",\"loading\":_vm.loadingQuotationsPricings,\"rules\":_vm.client.OrgInfo.QuotationAccess ? [_vm.rules.required] : [],\"prepend-icon\":\"mdi-cash\",\"label\":'Tarification à appliquer aux produits du catalogue' +\n (_vm.client.OrgInfo.QuotationAccess ? ' *' : ''),\"filled\":\"\",\"dense\":\"\",\"attach\":\"\",\"menu-props\":{ 'offset-y': true, bottom: true },\"readonly\":_vm.readonly},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_c('v-list-item',[_vm._v(\" Il n'existe aucun tarif pour l'instant \"),(!_vm.readonly)?_c('a',{staticClass:\"ml-6\",on:{\"click\":function($event){return _vm.$router.push({\n name: 'quotation-settings',\n params: { tab: 'pricings' }\n })}}},[_vm._v(\"Créer un tarif\")]):_vm._e()])]},proxy:true}],null,false,2889616822),model:{value:(_vm.client.OrgInfo.QuotationPricingTypeID),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"QuotationPricingTypeID\", $$v)},expression:\"client.OrgInfo.QuotationPricingTypeID\"}})],1):_vm._e(),_c('v-subheader',[_vm._v(\"Adresse\")]),_c('v-textarea',{attrs:{\"filled\":\"\",\"dense\":\"\",\"label\":'Rue' + (_vm.client.ClientType === 1 || _vm.hasQuotationAccess ? '*' : ''),\"prepend-icon\":\"mdi-home-city-outline\",\"rows\":\"3\",\"rules\":_vm.hasQuotationAccess ? [_vm.rules.required] : [],\"readonly\":_vm.readonly},model:{value:(_vm.clientAddress),callback:function ($$v) {_vm.clientAddress=$$v},expression:\"clientAddress\"}}),_c('div',{attrs:{\"layout\":\"row\"}},[_c('v-text-field',{staticClass:\"mr-1\",attrs:{\"filled\":\"\",\"dense\":\"\",\"label\":'Code Postal' + (_vm.hasQuotationAccess ? '*' : ''),\"prepend-icon\":\"mdi-map-marker\",\"rules\":_vm.hasQuotationAccess ? [_vm.rules.required] : [],\"readonly\":_vm.readonly},model:{value:(_vm.client.Address.PostalCode),callback:function ($$v) {_vm.$set(_vm.client.Address, \"PostalCode\", $$v)},expression:\"client.Address.PostalCode\"}}),_c('v-text-field',{staticClass:\"ml-1\",attrs:{\"filled\":\"\",\"dense\":\"\",\"label\":'Ville' + (_vm.hasQuotationAccess ? '*' : ''),\"rules\":_vm.hasQuotationAccess ? [_vm.rules.required] : [],\"readonly\":_vm.readonly},model:{value:(_vm.client.Address.City),callback:function ($$v) {_vm.$set(_vm.client.Address, \"City\", $$v)},expression:\"client.Address.City\"}})],1),_c('v-subheader',[_vm._v(\"Contact\")]),_c('div',{attrs:{\"layout\":\"row\"}},[_c('v-text-field',{staticClass:\"mr-1\",attrs:{\"filled\":\"\",\"dense\":\"\",\"label\":\"Téléphone fixe\",\"prepend-icon\":\"mdi-phone\",\"readonly\":_vm.readonly},model:{value:(_vm.client.Contact.Phone),callback:function ($$v) {_vm.$set(_vm.client.Contact, \"Phone\", $$v)},expression:\"client.Contact.Phone\"}}),_c('v-text-field',{staticClass:\"ml-1\",attrs:{\"filled\":\"\",\"dense\":\"\",\"label\":\"Téléphone mobile\",\"readonly\":_vm.readonly},model:{value:(_vm.client.Contact.Mobile),callback:function ($$v) {_vm.$set(_vm.client.Contact, \"Mobile\", $$v)},expression:\"client.Contact.Mobile\"}})],1),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"label\":'E-mail' + (_vm.hasQuotationAccess ? '*' : ''),\"prepend-icon\":\"mdi-email\",\"rules\":_vm.hasQuotationAccess ? [_vm.rules.required] : [],\"readonly\":_vm.readonly},on:{\"focusout\":_vm.checkMail,\"focusin\":function($event){_vm.mailValidation.Status = null}},model:{value:(_vm.client.Contact.Email),callback:function ($$v) {_vm.$set(_vm.client.Contact, \"Email\", $$v)},expression:\"client.Contact.Email\"}},[(_vm.mailValidationLoading)?_c('div',{staticClass:\"d-flex align-center\",attrs:{\"slot\":\"append\"},slot:\"append\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"25\",\"color\":\"primary\"}}),_c('span',{staticClass:\"ml-2 primary--text\"},[_vm._v(\"Vérification...\")])],1):(_vm.mailValidation.Status !== null)?_c('div',{attrs:{\"slot\":\"append\",\"layout\":\"row\",\"layout-align\":\"center center\"},slot:\"append\"},[(_vm.mailValidation.Status === _vm.C.MAIL_STATUS_OK)?_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(\"mdi-check\")]):(_vm.mailValidation.Status === _vm.C.MAIL_STATUS_UNDETERMINED)?_c('v-icon',{attrs:{\"color\":\"orange\"}},[_vm._v(\"mdi-alert\")]):_c('v-icon',{attrs:{\"color\":\"error\"}},[_vm._v(\"mdi-close\")]),_c('span',{staticClass:\"ml-2\",class:{\n 'success--text': _vm.mailValidation.Status === _vm.C.MAIL_STATUS_OK,\n 'orange--text':\n _vm.mailValidation.Status === _vm.C.MAIL_STATUS_UNDETERMINED,\n 'error--text':\n _vm.mailValidation.Status !== _vm.C.MAIL_STATUS_OK &&\n _vm.mailValidation.Status !== _vm.C.MAIL_STATUS_UNDETERMINED\n }},[_vm._v(_vm._s(_vm.mailValidation.Msg))])],1):_vm._e()]),_c('v-textarea',{attrs:{\"filled\":\"\",\"dense\":\"\",\"label\":\"Commentaires\",\"prepend-icon\":\"mdi-comment-text\",\"rows\":\"3\",\"readonly\":_vm.readonly},model:{value:(_vm.client.Comment),callback:function ($$v) {_vm.$set(_vm.client, \"Comment\", $$v)},expression:\"client.Comment\"}}),(!_vm.hasQuotationAccess)?_c('v-subheader',[_vm._v(\"Autres\")]):_vm._e(),(!_vm.hasQuotationAccess)?_c('div',{attrs:{\"layout\":\"row\"}},[_c('div',{attrs:{\"flex\":\"48\"}},[_c('v-select',{attrs:{\"value\":_vm.currentClientPricing.id,\"items\":_vm.pricingOptions,\"label\":\"Tarification\",\"filled\":\"\",\"dense\":\"\",\"attach\":\"\",\"prepend-icon\":\"mdi-currency-eur\",\"menu-props\":{ 'offset-y': true, top: true },\"persistent-hint\":!!_vm.currentClientPricing.expiration,\"hint\":_vm.currentClientPricing.expiration\n ? `Valable jusqu'au ${_vm.formatDate(\n _vm.currentClientPricing.expiration,\n 'DD/MM/YYYY'\n )}`\n : null,\"readonly\":_vm.readonly},on:{\"input\":_vm._updateClientPricing}})],1),_c('div',{attrs:{\"flex\":\"48\"}},[(!_vm.isParent)?_c('v-autocomplete',{ref:\"parentSearchField\",staticClass:\"ml-3\",attrs:{\"items\":_vm.parentSearch.items,\"item-text\":_vm.formatParent,\"loading\":_vm.parentSearch.loading,\"autocomplete\":\"off\",\"search-input\":_vm.parentSearch.search,\"label\":\"Compte parent\",\"no-data-text\":\"Aucun client\",\"item-value\":\"ID\",\"prepend-icon\":\"mdi-account-child\",\"filled\":\"\",\"dense\":\"\",\"clearable\":\"\",\"no-filter\":\"\",\"return-object\":\"\",\"attach\":\"\",\"menu-props\":{ top: true },\"readonly\":_vm.readonly},on:{\"update:searchInput\":function($event){return _vm.$set(_vm.parentSearch, \"search\", $event)},\"update:search-input\":function($event){return _vm.$set(_vm.parentSearch, \"search\", $event)}},scopedSlots:_vm._u([{key:\"selection\",fn:function(data){return [_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(data.item.Firstname + ' ' + data.item.Lastname))]),(data.item.BirthDate)?_c('v-list-item-subtitle',[_vm._v(_vm._s(data.item.BirthDate ? _vm.formatBirthDate(data.item.BirthDate) : ''))]):_vm._e(),(data.item.Contact.Email)?_c('v-list-item-subtitle',[_vm._v(_vm._s(data.item.Contact.Email ? data.item.Contact.Email : ''))]):_vm._e()],1)]}},{key:\"item\",fn:function(data){return [_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(data.item.Firstname + ' ' + data.item.Lastname))]),(data.item.BirthDate)?_c('v-list-item-subtitle',[_vm._v(_vm._s(data.item.BirthDate ? _vm.formatBirthDate(data.item.BirthDate) : ''))]):_vm._e(),(data.item.Contact.Email)?_c('v-list-item-subtitle',[_vm._v(_vm._s(data.item.Contact.Email ? data.item.Contact.Email : ''))]):_vm._e()],1)]}}],null,false,698961532),model:{value:(_vm.parentSearch.select),callback:function ($$v) {_vm.$set(_vm.parentSearch, \"select\", $$v)},expression:\"parentSearch.select\"}}):_vm._e()],1)]):_vm._e(),(_vm.displayLockersFields && !_vm.hasQuotationAccess)?_c('div',{attrs:{\"layout\":\"row\"}},[_c('v-icon',{staticClass:\"mb-5\",attrs:{\"left\":\"\"}},[_vm._v(\"mdi-lock-outline\")]),_c('v-text-field',{attrs:{\"name\":\"userlockercode\",\"autocomplete\":\"new-password\",\"label\":\"Code de l'usager pour ouvrir et fermer les casiers\",\"hint\":\"Vous pouvez modifier le code de l'usager ici si besoin\",\"type\":_vm.lockerCodeReveal ? 'text' : 'password',\"rules\":[_vm.rules.userCodeFormat, _vm.rules.userCodeMin, _vm.rules.userCodeMax],\"filled\":\"\",\"dense\":\"\",\"readonly\":_vm.readonly},model:{value:(_vm.client.LockerCode),callback:function ($$v) {_vm.$set(_vm.client, \"LockerCode\", $$v)},expression:\"client.LockerCode\"}}),_c('v-btn',{staticClass:\"mt-3 ml-3\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.lockerCodeReveal = !_vm.lockerCodeReveal}}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.lockerCodeReveal ? 'mdi-eye' : 'mdi-eye-off')+\" \")])],1)],1):_vm._e()],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClientForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClientForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClientForm.vue?vue&type=template&id=42810f4c&scoped=true\"\nimport script from \"./ClientForm.vue?vue&type=script&lang=js\"\nexport * from \"./ClientForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./ClientForm.vue?vue&type=style&index=0&id=42810f4c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42810f4c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-window',{attrs:{\"continuous\":\"\"},model:{value:(_vm.slide),callback:function ($$v) {_vm.slide=$$v},expression:\"slide\"}},[_c('v-window-item',{attrs:{\"value\":1}},[_c('v-list',{staticClass:\"overflow-y-auto\",attrs:{\"max-height\":\"80vh\"}},[_c('v-list-item',{attrs:{\"disabled\":_vm.slide === 2},on:{\"click\":_vm.goToDocs}},[_c('v-list-item-avatar',[(_vm.bookstackLoading)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\"}}):_c('v-icon',[_vm._v(\" mdi-book-open-page-variant-outline \")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Accéder à la documentation\")]),_c('v-list-item-subtitle',[_vm._v(\" Besoin d'aide, d'explications ? Notre documentation en ligne est disponible à tout moment. \")])],1),_c('v-list-item-action',[_c('v-icon',[_vm._v(\" mdi-open-in-new \")])],1)],1),_c('v-list-item',{attrs:{\"disabled\":_vm.slide === 2},on:{\"click\":_vm.goToOdeon}},[_c('v-list-item-avatar',[(_vm.odeonLoading)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\"}}):_c('v-icon',[_vm._v(\" mdi-web \")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Accéder à Odéon\")]),_c('v-list-item-subtitle',[_vm._v(\" Accéder directement à Odéon, notre solution de support. \")])],1),_c('v-list-item-action',[_c('v-icon',[_vm._v(\" mdi-open-in-new \")])],1)],1),(_vm.modules.odeon)?_c('div',[_c('v-list-item',{attrs:{\"disabled\":_vm.slide === 2},on:{\"click\":function($event){_vm.slide = 2\n _vm.slideSecondType = 'new-ticket'}}},[_c('v-list-item-avatar',[_c('v-icon',[_vm._v(\" mdi-chat-processing \")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Créer une nouvelle demande (ticket)\")]),_c('v-list-item-subtitle',[_vm._v(\" Notre équipe reviendra vers vous rapidement, et vous pourrez suivre la progression de votre demande. \")])],1),_c('v-list-item-action',[_c('v-icon',[_vm._v(\" mdi-arrow-right \")])],1)],1),_c('v-divider'),_c('v-subheader',[_vm._v(\"Mes derniers tickets\")]),(_vm.filteredTickets.length === 0)?_c('v-alert',{staticClass:\"mx-4\",attrs:{\"type\":\"info\",\"outlined\":\"\"}},[_vm._v(\"Aucun ticket ouvert récemment\")]):_vm._e(),_vm._l((_vm.filteredTickets),function(t){return _c('v-list-item',{key:t.ID,attrs:{\"disabled\":_vm.slide === 2},on:{\"click\":function($event){return _vm.openTicket(t)}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"color\":_vm.getTicketStatus(t.Status).color}},[_vm._v(\"mdi-\"+_vm._s(_vm.getTicketStatus(t.Status).icon))])],1),_c('v-list-item-content',{class:{ 'font-weight-bold': _vm.ticketWasUpdated(t) }},[_c('v-list-item-title',[_vm._v(\"Ticket #\"+_vm._s(t.Hash)+\" - \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.stripTags(t.InitialMessage))}})]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.getTicketStatus(t.Status).title)+\" - Dernière mise à jour le \"+_vm._s(_vm.formatDateTimeHuman(t.LastUpdate)))])],1)],1)})],2):_c('v-alert',{staticClass:\"mx-2 mt-3 mb-1\",attrs:{\"outlined\":\"\",\"type\":\"info\"}},[_vm._v(\" Le système de ticket est désactivé. Pour l'activer, demandez nous ! \")])],1)],1),_c('v-window-item',{attrs:{\"value\":2}},[(_vm.slideSecondType === 'new-ticket')?[_c('v-card-title',[_vm._v(\" Nouveau ticket \")]),_c('v-card-text',[_vm._v(\" Veuillez saisir votre demande ci-dessous. Afin d'assurer un traitement efficace, essayez de répondre aux questions suivantes : \"),_c('ul',[_c('li',[_vm._v(\"Quel est le problème rencontré ?\")]),_c('li',[_vm._v(\"Qu'avez-vous essayé de faire ?\")]),_c('li',[_vm._v(\" Quel est le résultat obtenu, quel est le résultat attendu ? \")]),_c('li',[_vm._v(\"Donnez idéalement un exemple.\")])]),_c('br'),_c('v-form',{ref:\"newTicketForm\"},[_c('v-select',{attrs:{\"filled\":\"\",\"label\":\"Catégorie de la demande\",\"rules\":[(v) => !!v || 'Veuillez catégoriser la demande'],\"items\":_vm.categories},model:{value:(_vm.newTicket.Category),callback:function ($$v) {_vm.$set(_vm.newTicket, \"Category\", $$v)},expression:\"newTicket.Category\"}})],1)],1),_c('div',{staticClass:\"grey-border-top full-width flex-fill\"},[_c('tiptap-editor',{ref:\"editor\",model:{value:(_vm.newTicket.InitialMessage),callback:function ($$v) {_vm.$set(_vm.newTicket, \"InitialMessage\", $$v)},expression:\"newTicket.InitialMessage\"}})],1),_c('v-card-actions',{attrs:{\"layout\":\"row\",\"layout-align\":\"space-between center\"}},[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.closeNewTicket}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-arrow-left\")]),_vm._v(\" Annuler \")],1),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"green\",\"loading\":_vm.isTicketSending,\"disabled\":!_vm.stripTags(_vm.newTicket.InitialMessage.trim())},on:{\"click\":_vm.send}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-send\")]),_vm._v(\" Envoyer la demande \")],1)],1)]:[(_vm.ticket)?_c('div',[_c('ticket-details-panel',{attrs:{\"active-ticket\":_vm.ticket,\"customer\":\"\"},on:{\"back\":function($event){_vm.slide = 1}}})],1):_c('v-progress-circular',{attrs:{\"indeterminate\":\"\"}})]],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import './common'\nimport axios from 'axios'\n\nexport default {\n getTickets: (params) => axios.get('/odeon/api/v1/tickets', { params }),\n createTicket: (params) => axios.post('/odeon/api/v1/tickets', params),\n getTicket: (id, params) => axios.get(`/odeon/api/v1/tickets/${id}`, params),\n getTicketMessages: (id, params) => axios.get(`/odeon/api/v1/tickets/${id}/messages`, params),\n createTicketMessage: (data) => axios.post(`/odeon/api/v1/tickets/${data.TicketID}/messages`, data),\n createTicketAttachment: (data) => axios.post(`/odeon/api/v1/tickets/${data.TicketID}/attachments`, data),\n getOdeonParams: (id, params) => axios.get('/odeon-params', params),\n getBookstackToken: (params) => axios.get('/bookstack-token', { params }),\n getOdeonAuthToken: (data) => axios.post('/odeon/api/v1/auth-cas/token', data),\n postFile (file) {\n const formData = new FormData()\n formData.append('file', file)\n return axios.post('/odeon/api/v1/upload', formData, { headers: { 'Content-Type': 'multipart/form-data' } })\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.activeTicket !== null)?_c('div',{class:{'full-height': true, 'd-flex': true, 'flex-column': true}},[_c('v-toolbar',{attrs:{\"color\":\"blue-grey lighten-4\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"left\":\"\"},on:{\"click\":_vm.back}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")])],1),(_vm.activeTicket)?_c('v-toolbar-title',{domProps:{\"innerHTML\":_vm._s(_vm.getShortTitle(_vm.stripTags(_vm.activeTicket.InitialMessage)))}}):_c('v-skeleton-loader',{attrs:{\"type\":\"heading\"}}),_c('v-spacer'),(_vm.activeTicket)?_c('div',{staticClass:\"font-weight-bold text-caption single-line\"},[_vm._v(\" \"+_vm._s(_vm.activeTicket.ClientName)+\" - Ticket #\"+_vm._s(_vm.activeTicket.Hash)+\" \"),(_vm.activeTicket.IsPrivate)?_c('v-icon',{attrs:{\"title\":\"Ce ticket est privé\"}},[_vm._v(\" mdi-incognito-circle \")]):_vm._e()],1):_c('v-skeleton-loader',{staticClass:\"mt-2 mr-4\",attrs:{\"type\":\"text\"}})],1),(!_vm.activeTicket)?_c('div',{},_vm._l((5),function(i){return _c('v-skeleton-loader',{key:i,attrs:{\"type\":\"list-item-two-line\"}})}),1):_c('v-sheet',{staticClass:\"pa-4 overflow-y-auto\",attrs:{\"id\":\"chat-container\",\"max-height\":\"50vh\"}},[_c('v-sheet',{staticClass:\"pa-3 mb-4\",attrs:{\"rounded\":\"\",\"outlined\":\"\"}},[_c('div',{staticClass:\"text--secondary text-caption\"},[_vm._v(\" Message initial par \"),_c('strong',[_vm._v(_vm._s(_vm.activeTicket.CreatedByName))]),_vm._v(\" \"+_vm._s(_vm.formatDateTimeHuman(_vm.activeTicket.CreatedDate))+\" \")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.activeTicket.InitialMessage.replace('/api/v1/upload/','/api/v1/odeon/api/v1/upload/'))}})]),_c('v-dialog',{model:{value:(_vm.showImage),callback:function ($$v) {_vm.showImage=$$v},expression:\"showImage\"}},[_c('v-img',{attrs:{\"src\":'api/v1/odeon/'+_vm.showImageSrc}})],1),_vm._l((_vm.messages),function(m){return _c('v-container',{key:m.ID,class:'caption d-flex flex-row ' + _vm.messageTypeColor[m.Type] + '--text'},[_c('div',{staticClass:\"info-timer-block\"},[_c('v-icon',{attrs:{\"size\":\"16\",\"color\":_vm.messageTypeColor[m.Type]}},[_vm._v(\" mdi-\"+_vm._s(_vm.messageTypeIcon[m.Type])+\" \")]),_vm._v(\" \"+_vm._s(_vm.formatDateTimeHuman(m.Timestamp))+\" \"),(m.SendByID)?_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(m.SendByName)+\" \")]):_vm._e()],1),_c('v-divider',{staticClass:\"mx-3\",attrs:{\"vertical\":\"\"}}),([_vm.MessageType.System, _vm.MessageType.Information, _vm.MessageType.Resolution].includes(m.Type))?_c('div',{domProps:{\"innerHTML\":_vm._s(m.Message)}}):(m.Type === _vm.MessageType.Note)?_c('v-sheet',{staticClass:\"pa-3 text-body-2\",attrs:{\"rounded\":\"\",\"outlined\":\"\",\"color\":_vm.$vuetify.theme.dark ? 'deep-orange darken-4' : 'orange'},domProps:{\"innerHTML\":_vm._s(m.Message)}}):_c('v-sheet',{staticClass:\"pa-3 text-body-2\",attrs:{\"rounded\":\"\",\"outlined\":\"\"},domProps:{\"innerHTML\":_vm._s(m.Message)}})],1)})],2),_c('v-spacer'),_c('div',{staticClass:\"d-flex flex-column\"},[_c('div',{staticClass:\"grey-border-top full-width flex-fill\"},[_c('tiptap-editor',{ref:\"editor\",attrs:{\"placeholder\":\"Votre réponse ici\"},model:{value:(_vm.editorMessage),callback:function ($$v) {_vm.editorMessage=$$v},expression:\"editorMessage\"}})],1),_c('div',{staticClass:\"flex-row text-right pa-2\"},[(!_vm.customer)?_c('v-btn',{attrs:{\"depressed\":\"\",\"outlined\":\"\",\"color\":\"orange\",\"disabled\":!_vm.activeTicket},on:{\"click\":_vm.sendNote}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-note-outline \")]),_vm._v(\" Envoyer en note \")],1):_vm._e(),_c('v-btn',{staticClass:\"ml-1 white--text\",attrs:{\"color\":\"green\",\"text\":\"\",\"disabled\":!_vm.activeTicket || !_vm.stripTags(_vm.editorMessage.trim())},on:{\"click\":_vm.sendChat}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-chat \")]),_vm._v(\" \"+_vm._s(_vm.customer ? 'Envoyer la réponse' : 'Envoyer au client')+\" \")],1)],1)])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('tiptap-menu-bar',{staticClass:\"grey-border-bottom\",attrs:{\"editor\":_vm.editor}}),_c('editor-content',{staticClass:\"editor__content\",attrs:{\"editor\":_vm.editor}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"d-flex flex-row flex-wrap\"},[_vm._l((_vm.items),function(item,index){return [(item.type === 'divider')?_c('div',{key:index,staticClass:\"divider\"}):_c('menu-item',_vm._b({key:index},'menu-item',item,false))]}),_c('input',{ref:\"imageUpload\",attrs:{\"hidden\":\"\",\"type\":\"file\"},on:{\"change\":_vm.onFileSelected}})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-btn',{attrs:{\"icon\":\"\",\"color\":(_vm.isActive && _vm.isActive()) ? 'primary': '',\"title\":_vm.title},on:{\"click\":_vm.action}},[_c('v-icon',[_vm._v(\"mdi-\"+_vm._s(_vm.icon))])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TiptapMenuItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TiptapMenuItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TiptapMenuItem.vue?vue&type=template&id=e35f1d8e&scoped=true\"\nimport script from \"./TiptapMenuItem.vue?vue&type=script&lang=js\"\nexport * from \"./TiptapMenuItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./TiptapMenuItem.vue?vue&type=style&index=0&id=e35f1d8e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e35f1d8e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TiptapMenuBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TiptapMenuBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TiptapMenuBar.vue?vue&type=template&id=1beb3070&scoped=true\"\nimport script from \"./TiptapMenuBar.vue?vue&type=script&lang=js\"\nexport * from \"./TiptapMenuBar.vue?vue&type=script&lang=js\"\nimport style0 from \"./TiptapMenuBar.vue?vue&type=style&index=0&id=1beb3070&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1beb3070\",\n null\n \n)\n\nexport default component.exports","import { Plugin } from 'prosemirror-state'\n\nexport const dropImagePlugin = (upload) => {\n return new Plugin({\n props: {\n handlePaste (view, event, slice) {\n const items = Array.from(event.clipboardData?.items || [])\n const { schema } = view.state\n\n items.forEach((item) => {\n const image = item.getAsFile()\n\n if (item.type.indexOf('image') === 0) {\n event.preventDefault()\n\n if (upload && image) {\n upload(image).then((src) => {\n const node = schema.nodes.image.create({\n src\n })\n const transaction = view.state.tr.replaceSelectionWith(node)\n view.dispatch(transaction)\n })\n }\n } else {\n const reader = new FileReader()\n reader.onload = (readerEvent) => {\n const node = schema.nodes.image.create({\n src: readerEvent.target?.result\n })\n const transaction = view.state.tr.replaceSelectionWith(node)\n view.dispatch(transaction)\n }\n if (!image) return\n reader.readAsDataURL(image)\n }\n })\n\n return false\n },\n handleDOMEvents: {\n drop: (view, event) => {\n const hasFiles =\n event.dataTransfer &&\n event.dataTransfer.files &&\n event.dataTransfer.files.length\n\n if (!hasFiles) {\n return false\n }\n\n const images = Array.from(\n event.dataTransfer?.files ?? []\n ).filter((file) => /image/i.test(file.type))\n\n if (images.length === 0) {\n return false\n }\n\n event.preventDefault()\n\n const { schema } = view.state\n const coordinates = view.posAtCoords({\n left: event.clientX,\n top: event.clientY\n })\n if (!coordinates) return false\n\n images.forEach(async (image) => {\n const reader = new FileReader()\n\n if (upload) {\n const node = schema.nodes.image.create({\n src: await upload(image)\n })\n const transaction = view.state.tr.insert(coordinates.pos, node)\n view.dispatch(transaction)\n } else {\n reader.onload = (readerEvent) => {\n const node = schema.nodes.image.create({\n src: readerEvent.target?.result\n })\n const transaction = view.state.tr.insert(coordinates.pos, node)\n view.dispatch(transaction)\n }\n reader.readAsDataURL(image)\n }\n })\n\n return true\n }\n }\n }\n })\n}\n","import { Node, nodeInputRule } from '@tiptap/core'\nimport { dropImagePlugin } from './DropImage'\n\n/**\n * Matches following attributes in Markdown-typed image: [, alt, src, title]\n *\n * Example:\n * ![Lorem](image.jpg) -> [, \"Lorem\", \"image.jpg\"]\n * ![](image.jpg \"Ipsum\") -> [, \"\", \"image.jpg\", \"Ipsum\"]\n * ![Lorem](image.jpg \"Ipsum\") -> [, \"Lorem\", \"image.jpg\", \"Ipsum\"]\n */\nconst IMAGE_INPUT_REGEX = /!\\[(.+|:?)\\]\\((\\S+)(?:(?:\\s+)[\"'](\\S+)[\"'])?\\)/\n\nexport const createImageExtension = (uploadFn) => {\n return Node.create({\n name: 'image',\n inline: true,\n group: 'inline',\n draggable: true,\n addAttributes: () => ({\n src: {},\n alt: { default: null },\n title: { default: null }\n }),\n parseHTML: () => [\n {\n tag: 'img[src]',\n getAttrs: (dom) => {\n if (typeof dom === 'string') return {}\n const element = dom\n\n return {\n src: element.getAttribute('src'),\n title: element.getAttribute('title'),\n alt: element.getAttribute('alt')\n }\n }\n }\n ],\n renderHTML: ({ HTMLAttributes }) => ['img', HTMLAttributes],\n\n // @ts-ignore\n addCommands () {\n return (attrs) => (state, dispatch) => {\n const { selection } = state\n const position = selection.$cursor\n ? selection.$cursor.pos\n : selection.$to.pos\n const node = this.type.create(attrs)\n const transaction = state.tr.insert(position, node)\n dispatch(transaction)\n }\n },\n addInputRules () {\n return [\n nodeInputRule({\nfind: IMAGE_INPUT_REGEX,\ntype: this.type,\ngetAttributes: (match) => {\n const [, alt, src, title] = match\n return {\n src,\n alt,\n title\n }\n }\n})\n ]\n },\n addProseMirrorPlugins () {\n return [dropImagePlugin(uploadFn)]\n }\n })\n}\n","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TiptapEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TiptapEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TiptapEditor.vue?vue&type=template&id=68687650\"\nimport script from \"./TiptapEditor.vue?vue&type=script&lang=js\"\nexport * from \"./TiptapEditor.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TicketDetailsPanel.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TicketDetailsPanel.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TicketDetailsPanel.vue?vue&type=template&id=47840b0c\"\nimport script from \"./TicketDetailsPanel.vue?vue&type=script&lang=js\"\nexport * from \"./TicketDetailsPanel.vue?vue&type=script&lang=js\"\nimport style0 from \"./TicketDetailsPanel.vue?vue&type=style&index=0&id=47840b0c&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import consts from '../consts'\n\nexport default {\n getTicketStatus(status) {\n return consts.TICKET_STATUS.find(ts => ts.id === status) || {color: 'blue', title: 'Sans titre', icon: 'check'}\n }\n}\n","import odeonHelper from '../helpers/odeon'\n\nexport default {\n methods: odeonHelper\n}","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OdeonPopup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OdeonPopup.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./OdeonPopup.vue?vue&type=template&id=5162fa2e&scoped=true\"\nimport script from \"./OdeonPopup.vue?vue&type=script&lang=js\"\nexport * from \"./OdeonPopup.vue?vue&type=script&lang=js\"\nimport style0 from \"./OdeonPopup.vue?vue&type=style&index=0&id=5162fa2e&prod&lang=scss\"\nimport style1 from \"./OdeonPopup.vue?vue&type=style&index=1&id=5162fa2e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5162fa2e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_c('div',{attrs:{\"flex\":\"\"}},[_vm._v(\" \"+_vm._s(!_vm.infoOnly ? 'Scanner un e-billet/bon cadeau' : 'Informations du e-billet/bon cadeau')+\" \")]),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.close()}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',[(!_vm.hasRight('admin:business:voucher'))?_c('v-alert',{staticClass:\"ma-2\",attrs:{\"color\":\"deep-orange darken-3\",\"type\":\"warning\",\"outlined\":\"\",\"dense\":\"\"}},[_vm._v(\" Vous n'avez pas les droits nécessaires pour consulter les bons cadeaux. \")]):_c('div',[_c('v-window',{attrs:{\"touchless\":\"\"},model:{value:(_vm.step),callback:function ($$v) {_vm.step=$$v},expression:\"step\"}},[_c('v-window-item',{key:\"ticket\"},[(!_vm.infoOnly)?_c('div',{staticClass:\"mb-3\",attrs:{\"layout\":\"row\",\"layout-align\":\"center center\"}},[_c('v-text-field',{ref:\"voucherField\",attrs:{\"autofocus\":\"\",\"filled\":\"\",\"hide-details\":\"\",\"label\":\"Appuyez ici pour scanner un e-billet\",\"clearable\":\"\",\"prepend-icon\":\"mdi-ticket-percent\",\"disabled\":_vm.validating,\"loading\":_vm.validating},on:{\"click:clear\":_vm.resetEticket,\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.validateEticket.apply(null, arguments)}},model:{value:(_vm.voucherID),callback:function ($$v) {_vm.voucherID=$$v},expression:\"voucherID\"}}),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\",\"color\":\"primary\",\"loading\":_vm.giftVouchersLoading},on:{\"click\":_vm.searchEticket}},[_c('v-icon',[_vm._v(\"mdi-magnify\")]),_vm._v(\" Recherche manuelle \")],1)],1):_vm._e(),(_vm.failedToCheckVoucher)?_c('v-alert',{attrs:{\"type\":\"error\",\"border\":\"left\"}},[_vm._v(\" Une erreur est survenue, veuillez réessayer \")]):(_vm.voucher)?_c('div',[(_vm.voucher.Valid)?_c('v-alert',{attrs:{\"type\":\"success\",\"border\":\"left\"}},[_c('div',[_c('strong',[_vm._v(\"Cet e-billet est valide\")])]),_c('div',[_vm._v(\" Acheté le \"+_vm._s(_vm.formatDateTimeHuman(_vm.voucher.Voucher.BeginValidityDate))+\" \"),(\n _vm.voucher.ClientSale.Firstname ||\n _vm.voucher.ClientSale.Lastname\n )?_c('span',[_vm._v(\"par \"+_vm._s(_vm.voucher.ClientSale.Firstname)+\" \"+_vm._s(_vm.voucher.ClientSale.Lastname))]):_vm._e(),(_vm.voucher.Voucher.Firstname || _vm.voucher.Voucher.Lastname)?_c('span',[_vm._v(\"pour \"+_vm._s(_vm.voucher.Voucher.Firstname)+\" \"+_vm._s(_vm.voucher.Voucher.Lastname)+\" \")]):(\n _vm.voucher.ClientGift &&\n (_vm.voucher.ClientGift.Firstname ||\n _vm.voucher.ClientGift.Lastname)\n )?_c('span',[_vm._v(\"pour \"+_vm._s(_vm.voucher.ClientGift.Firstname)+\" \"+_vm._s(_vm.voucher.ClientGift.Lastname)+\" \")]):_vm._e()]),_c('div',[_vm._v(\" Valeur d'achat de \"+_vm._s(_vm.formatMoney(_vm.voucher.Voucher.Value))+\" \"+_vm._s(_vm.currencySymbol)+\" \")]),(_vm.voucher.SheetName)?_c('div',[_vm._v(\" Émis via la planche \\\"\"+_vm._s(_vm.voucher.SheetName)+\"\\\" \")]):_vm._e(),(_vm.voucher.Comment)?_c('div',[_vm._v(\" Commentaire : \"+_vm._s(_vm.voucher.Comment)+\" \")]):_vm._e()]):_c('v-alert',{attrs:{\"type\":\"error\",\"border\":\"left\"}},[(!_vm.voucher.Exist)?_c('span',[_vm._v(\" Ce bon n'existe pas \")]):(_vm.voucher.InvalidReason === 'already-used')?_c('div',[_c('div',[_c('strong',[_vm._v(\"Cet e-billet a déjà été consommé \"+_vm._s(_vm.voucher.Voucher.UsageDate ? ` le ${_vm.formatDateTimeHuman( _vm.voucher.Voucher.UsageDate )}` : ''))])]),_c('div',[_vm._v(\" Acheté par \"+_vm._s(_vm.voucher.ClientSale.Firstname)+\" \"+_vm._s(_vm.voucher.ClientSale.Lastname)+\" \"),(\n _vm.voucher.Voucher.Firstname || _vm.voucher.Voucher.Lastname\n )?_c('span',[_vm._v(\"pour \"+_vm._s(`${_vm.voucher.Voucher.Firstname} ${_vm.voucher.Voucher.Lastname}`)+\" \")]):_vm._e(),(_vm.voucher.ClientGift && _vm.voucher.ClientGift.ID)?_c('span',[_vm._v(\" et crédité sur le compte de \"+_vm._s(`${_vm.voucher.ClientGift.Firstname} ${_vm.voucher.ClientGift.Lastname}`))]):_vm._e(),(_vm.voucher.Voucher.UsageSeller)?_c('span',[_vm._v(\" par \"+_vm._s(_vm.voucher.Voucher.UsageSeller))]):_vm._e(),_vm._v(\". \")]),_c('div',[_vm._v(\" Valeur d'achat de \"+_vm._s(_vm.formatMoney(_vm.voucher.Voucher.Value))+\" € \")]),(_vm.voucher.SheetName)?_c('div',[_vm._v(\" Émis via la planche \\\"\"+_vm._s(_vm.voucher.SheetName)+\"\\\" \")]):_vm._e(),(_vm.voucher.Comment)?_c('div',[_vm._v(\" Commentaire : \"+_vm._s(_vm.voucher.Comment)+\" \")]):_vm._e()]):(_vm.voucher.InvalidReason === 'sale-not-exist')?_c('span',[_vm._v(\" La vente d'origine de ce bon est inconnue \")]):(_vm.voucher.InvalidReason === 'outdated')?_c('span',[_vm._v(\" Ce bon est périmé depuis le \"+_vm._s(_vm.formatDateTimeHuman(_vm.voucher.Voucher.EndValidityDate))+\". \")]):(_vm.voucher.InvalidReason === 'cancelled')?_c('span',[_vm._v(\" Ce bon a été annulé pour la raison suivante :\"),_c('br'),_vm._v(\" \"+_vm._s(_vm.voucher.Voucher.CancellationReason)+\" \")]):_c('span',[_vm._v(\" Ce bon ne semble pas valide. \")])]),(_vm.voucher.Voucher.ConvertedToCredit)?_c('v-alert',{attrs:{\"type\":\"info\",\"border\":\"left\"}},[_vm._v(\" Ce bon a été transformé en cagnotte. \")]):_vm._e(),(_vm.voucher.InvalidReason === 'already-used' && _vm.voucherDeliveredProducts.length > 0)?_c('div',[_c('div',{staticClass:\"text-h6\"},[_vm._v(\" Produit\"+_vm._s(_vm.voucherDeliveredProducts.length > 1 ? 's' : '')+\" consommé\"+_vm._s(_vm.voucherDeliveredProducts.length > 1 ? 's' : '')+\" : \")]),_vm._l((_vm.voucherDeliveredProducts),function(p,i){return _c('v-card',{key:i,staticClass:\"d-flex my-1\",attrs:{\"outlined\":\"\",\"flat\":\"\"}},[_c('v-avatar',{attrs:{\"tile\":\"\",\"color\":\"grey\",\"size\":\"128\"}},[_c('div',{staticClass:\"d-flex flex-column\"},[_c('v-icon',{attrs:{\"color\":p.action.color || 'white'}},[_vm._v(\" \"+_vm._s(p.action.icon)+\" \")]),_c('span',{staticClass:\"white--text mx-3 mt-2 text-subtitle-2\"},[_vm._v(_vm._s(p.product.LabelShort.FR))])],1)]),_c('div',{staticClass:\"full-width\"},[_c('v-card-title',{attrs:{\"layout\":\"row\",\"layout-align\":\"space-between start\"}},[_c('div',[_c('div',[_vm._v(_vm._s(p.product.Label.FR))]),_c('div',{staticClass:\"text-subtitle-1\",class:p.action.color\n ? `${p.action.color}--text font-weight-bold`\n : ''},[_vm._v(\" \"+_vm._s(p.action.text)+\" \")]),(p.product.Stock === 0)?_c('div',{staticClass:\"text-subtitle-2 red--text\"},[_vm._v(\" Ce produit n'est plus en stock \")]):_vm._e()]),_c('v-spacer'),_c('div',[(p.UsedAmount > 0)?_c('v-alert',{staticClass:\"ma-0 mt-2 pt-1 pb-1\",attrs:{\"border\":\"left\",\"color\":p.UsedAmount === p.Amount ? 'red' : 'orange',\"text\":\"\"}},[_vm._v(\" Utilisé: \"+_vm._s(p.UsedAmount)+\" / \"+_vm._s(p.Amount)+\" \")]):(_vm.voucher.Voucher.Used)?_c('v-alert',{staticClass:\"ma-0 mt-2 pt-1 pb-1\",attrs:{\"border\":\"left\",\"color\":\"red\",\"text\":\"\"}},[_vm._v(\" Utilisé: \"+_vm._s(p.Amount)+\" / \"+_vm._s(p.Amount)+\" \")]):_c('v-alert',{staticClass:\"ma-0 pt-1 pb-1\",attrs:{\"border\":\"left\",\"color\":\"blue\",\"text\":\"\"}},[_vm._v(\" Quantité: \"+_vm._s(p.Amount)+\" \")])],1),_c('div')],1)],1)],1)})],2):_vm._e()],1):_vm._e(),(\n _vm.voucher &&\n _vm.voucher.Valid &&\n _vm.voucher.Voucher &&\n _vm.voucher.Voucher.ID\n )?_c('div',[_c('v-alert',{attrs:{\"type\":\"info\",\"border\":\"left\",\"dense\":\"\"}},[_vm._v(\" Bon émis le \"+_vm._s(_vm.formatDateHuman(_vm.voucher.Voucher.BeginValidityDate))+\" \"),_c('strong',[_vm._v(_vm._s(_vm.voucher.Voucher.EndValidityDate ? \" et valable jusqu'au \" + _vm.formatDateHuman(_vm.voucher.Voucher.EndValidityDate) : ''))])]),(\n _vm.voucherDeliveredProducts.length > 0\n )?_c('div',[_c('div',{staticClass:\"text-h6\"},[_vm._v(\" Produit\"+_vm._s(_vm.voucherDeliveredProducts.length > 1 ? 's' : '')+\" crédité\"+_vm._s(_vm.voucherDeliveredProducts.length > 1 ? 's' : '')+\" par ce bon : \")]),_vm._l((_vm.voucherDeliveredProducts),function(p,i){return _c('v-card',{key:i,staticClass:\"d-flex my-1\",attrs:{\"outlined\":\"\",\"flat\":\"\"}},[_c('v-avatar',{attrs:{\"tile\":\"\",\"color\":\"grey\",\"size\":\"128\"}},[_c('div',{staticClass:\"d-flex flex-column\"},[_c('v-icon',{attrs:{\"color\":p.action.color || 'white'}},[_vm._v(\" \"+_vm._s(p.action.icon)+\" \")]),_c('span',{staticClass:\"white--text mx-3 mt-2 text-subtitle-2\"},[_vm._v(_vm._s(p.product.LabelShort.FR))])],1)]),_c('div',{staticClass:\"full-width\"},[_c('v-card-title',{staticClass:\"d-flex align-center\"},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"10\"}},[_c('div',[_c('div',[_vm._v(_vm._s(p.product.Label.FR))]),_c('div',{staticClass:\"text-subtitle-1\",class:p.action.color\n ? `${p.action.color}--text font-weight-bold`\n : ''},[_vm._v(\" \"+_vm._s(p.action.text)+\" \")]),(p.product.Stock === 0)?_c('div',{staticClass:\"text-subtitle-2 red--text\"},[_vm._v(\" Ce produit n'est plus en stock \")]):_vm._e()])]),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"2\",\"align-self\":\"start\"}},[_c('div',{staticClass:\"d-flex flex-column\"},[(p.UsedAmount === 0)?_c('v-alert',{staticClass:\"ma-0 pt-1 pb-1\",attrs:{\"border\":\"left\",\"color\":\"blue\",\"text\":\"\"}},[_vm._v(\" Quantité: \"+_vm._s(p.Amount)+\" \")]):_c('v-alert',{staticClass:\"ma-0 pt-1 pb-1\",attrs:{\"border\":\"left\",\"color\":\"green\",\"text\":\"\"}},[_vm._v(\" Restant: \"+_vm._s(p.Amount - p.UsedAmount)+\" \")]),(p.UsedAmount !== 0)?_c('v-alert',{staticClass:\"ma-0 mt-2 pt-1 pb-1\",attrs:{\"border\":\"left\",\"color\":\"red\",\"text\":\"\"}},[_vm._v(\" Utilisé: \"+_vm._s(p.UsedAmount)+\" \")]):_vm._e()],1)])],1)],1)],1)})],2):_vm._e(),(\n _vm.voucher &&\n _vm.voucher.Voucher.ProductsIDs &&\n _vm.voucher.Voucher.ProductsIDs.length > 0\n )?_c('div',[_c('div',{staticClass:\"text-h6\"},[_vm._v(\" Produits à choisir pour ce bon : \")]),_c('v-item-group',{attrs:{\"mandatory\":\"\"},model:{value:(_vm.selectedProductID),callback:function ($$v) {_vm.selectedProductID=$$v},expression:\"selectedProductID\"}},_vm._l((_vm.voucher.Voucher.ProductsIDs),function(productId){return _c('v-item',{key:productId,attrs:{\"value\":productId},scopedSlots:_vm._u([{key:\"default\",fn:function({ active, toggle }){return [_c('v-card',{attrs:{\"outlined\":\"\",\"flat\":\"\",\"layout\":\"row\"},on:{\"click\":toggle}},[_c('v-avatar',{attrs:{\"tile\":\"\",\"color\":\"grey\",\"size\":\"128\"}},[_c('span',{staticClass:\"white--text ma-3\"},[_vm._v(_vm._s(_vm.mappedProducts[productId].Label.FR))])]),_c('v-card-text',[_c('div',{staticClass:\"text-h5\"},[_vm._v(\" \"+_vm._s(_vm.mappedProducts[productId].Label.FR)+\" \")]),(_vm.mappedProducts[productId].Stock === 0)?_c('div',{staticClass:\"red--text\"},[_vm._v(\" Ce produit n'est plus en stock \")]):_vm._e(),(active)?_c('div',{staticClass:\"d-flex justify-end\"},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":\"success\"}},[_vm._v(\" mdi-check \")])],1):_vm._e()])],1)]}}],null,true)})}),1)],1):_vm._e()],1):_vm._e(),(\n _vm.voucher &&\n _vm.voucher.Voucher &&\n _vm.voucher.Valid &&\n (((!_vm.voucher.Voucher.ProductsIDs ||\n _vm.voucher.Voucher.ProductsIDs.length === 0) &&\n _vm.voucher.Voucher.DeliveredItems &&\n _vm.voucher.Voucher.DeliveredItems.length > 0) ||\n (_vm.voucher.Voucher.ProductsIDs &&\n _vm.voucher.Voucher.ProductsIDs.length > 0 &&\n _vm.selectedProductID))\n )?_c('div',{staticClass:\"d-flex justify-space-between ma-2 mt-4\"},[(!_vm.productsAlreadyCreditCagnotte(_vm.voucher.Voucher))?_c('v-switch',{staticClass:\"mt-0\",attrs:{\"label\":'Convertir le bon en cagnotte pour une valeur de ' +\n _vm.formatMoney(_vm.voucher.Voucher.Value) +\n _vm.currencySymbol,\"dense\":\"\",\"hide-details\":\"\",\"disabled\":_vm.voucher.Used || _vm.isPartiallyUsed(_vm.voucher.Voucher)},model:{value:(_vm.convertToCredit),callback:function ($$v) {_vm.convertToCredit=$$v},expression:\"convertToCredit\"}}):_vm._e(),_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"green\"},on:{\"click\":_vm.onProductSelected}},[_vm._v(\" \"+_vm._s(_vm.hasClient ? 'Valider le bon' : 'Suivant')+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-arrow-right \")])],1)],1):_vm._e()],1),_c('v-window-item',{key:\"account\"},[_c('div',{staticClass:\"text-h6 mb-3\"},[_vm._v(\" Compte crédité \")]),(!_vm.newClientMode)?_c('div',{attrs:{\"layout\":\"row\",\"layout-align\":\"center center\"}},[_c('v-autocomplete',{ref:\"clientSearchField\",attrs:{\"filled\":\"\",\"prepend-icon\":\"mdi-account\",\"label\":\"Sélectionnez le client auquel associer ce produit\",\"loading\":_vm.clientSearch.loading,\"items\":_vm.clientSearch.items,\"item-text\":_vm.clientFullname,\"autocomplete\":\"off\",\"disabled\":_vm.voucher && !!_vm.voucher.ClientGift && !!_vm.voucher.ClientGift.ID,\"search-input\":_vm.clientSearch.search,\"item-value\":\"ID\",\"hide-details\":\"\",\"no-data-text\":\"Aucun client\",\"no-filter\":\"\",\"return-object\":\"\"},on:{\"update:searchInput\":function($event){return _vm.$set(_vm.clientSearch, \"search\", $event)},\"update:search-input\":function($event){return _vm.$set(_vm.clientSearch, \"search\", $event)}},model:{value:(_vm.clientSearch.select),callback:function ($$v) {_vm.$set(_vm.clientSearch, \"select\", $$v)},expression:\"clientSearch.select\"}}),_c('div',{staticClass:\"text-caption mx-5\"},[_vm._v(\" - ou - \")]),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"primary\",\"disabled\":_vm.voucher && !!_vm.voucher.ClientGift && !!_vm.voucher.ClientGift.ID},on:{\"click\":function($event){_vm.newClientMode = true}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-account-plus \")]),_vm._v(\" Nouveau client \")],1)],1):_vm._e(),(_vm.newClientMode)?_c('client-form',{ref:\"clientForm\",attrs:{\"client\":_vm.newClient}}):_vm._e(),(_vm.hasClient && !_vm.convertToCredit)?_c('div',[_vm._l((_vm.deliveredCards),function(card,cardIndex){return _c('v-row',{key:`carttype-${card.ProductID}-${cardIndex}`,staticClass:\"ma-2\",attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',[_vm._v(\"mdi-credit-card-plus\")])],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',{staticClass:\"text-subtitle-2\"},[_vm._v(_vm._s(_vm.mappedProducts[card.ProductID].Label.FR))])]),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',[_vm._v(\"mdi-arrow-right\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[(\n _vm.associatedCards.find(\n (c) => c.deliveredCardIndex == cardIndex\n )\n )?_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.associateCard(\n _vm.mappedProducts[card.ProductID].cardType,\n cardIndex\n )}}},[_vm._v(\" Associé \"),_c('v-icon',{attrs:{\"right\":\"\",\"color\":\"success\"}},[_vm._v(\" mdi-check \")])],1):(_vm.wvEnabled())?_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.associateCard(\n _vm.mappedProducts[card.ProductID].cardType,\n cardIndex\n )}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-credit-card-wireless \")]),_vm._v(\" Associer \")],1):_c('v-alert',{attrs:{\"border\":\"bottom\",\"colored-border\":\"\",\"elevation\":\"2\",\"type\":\"warning\"}},[_vm._v(\" Impossible d'associer ce support hors caisse \")])],1)],1)}),_vm._l((_vm.deliveredSubscriptions),function(sub){return _c('v-row',{key:'carttypechooser-' + sub.ProductID,staticClass:\"ma-2\",attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',[_vm._v(\"mdi-credit-card-scan\")])],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',{staticClass:\"text-subtitle-2\"},[_vm._v(_vm._s(sub.Amount)+\"x \"+_vm._s(_vm.mappedProducts[sub.ProductID].Label.FR))])]),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',[_vm._v(\"mdi-arrow-right\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-select',{attrs:{\"filled\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"mandatory\":\"\",\"items\":_vm.productCompatibleCardTypes(sub.ProductID),\"item-text\":\"label\",\"item-value\":\"cardType\"},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [(item.targetClientHasOne)?_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-card \")]):(\n item.cardType && item.cardType.includes('QRCode')\n )?_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-qrcode \")]):_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-card-off \")]),_vm._v(\" \"+_vm._s(item.label)+\" \")]}},{key:\"selection\",fn:function({ item }){return [(item.targetClientHasOne)?_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-card \")]):(\n item.cardType && item.cardType.includes('QRCode')\n )?_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-qrcode \")]):_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-card-off \")]),_vm._v(\" \"+_vm._s(item.label)+\" \")]}}],null,true),model:{value:(_vm.productCardAssignation[sub.ProductID]),callback:function ($$v) {_vm.$set(_vm.productCardAssignation, sub.ProductID, $$v)},expression:\"productCardAssignation[sub.ProductID]\"}})],1)],1)}),(_vm.hasQRCodeAssigned && !_vm.wvEnabled())?_c('v-alert',{attrs:{\"type\":\"warning\"}},[_vm._v(\" Les QRCodes ne peuvent être imprimés que si vous êtes sur la caisse \")]):_vm._e(),(\n _vm.hasProductAssignedToCardTypeWithoutCard && !_vm.convertToCredit\n )?_c('v-alert',{attrs:{\"type\":\"warning\"}},[_vm._v(\" Ce client ne possède pas certains supports ! Un badge est obligatoire afin qu'il puisse utiliser ses produits. \")]):_vm._e()],2):_vm._e(),_c('div',{staticClass:\"mt-5\",attrs:{\"layout\":\"row\",\"layout-align\":\"space-between center\"}},[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.resetAssociation}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-arrow-left \")]),_vm._v(\" Retour à l'e-billet \")],1),(_vm.convertToCredit)?_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"success\",\"disabled\":!_vm.hasClient},on:{\"click\":_vm.convertEticketToCredit}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-check \")]),_vm._v(\" Convertir le bon en cagnotte \")],1):_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"success\",\"disabled\":!_vm.hasClient,\"loading\":_vm.validationLoading},on:{\"click\":_vm.validConsumeEticket}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-check \")]),_vm._v(\" Valider l'e-billet \")],1)],1)],1),_c('v-window-item',{key:\"search\"},[_c('div',{staticClass:\"text-h6 mb-3\"},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.step = 0}}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")])],1),_vm._v(\" Liste des bons cadeaux en attente \")],1),_c('v-text-field',{attrs:{\"outlined\":\"\",\"hide-details\":\"\",\"label\":\"Rechercher...\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('v-data-table',{attrs:{\"headers\":_vm.searchHeaders,\"items\":_vm.giftVouchers,\"server-items-length\":_vm.totalGiftVouchers,\"loading\":_vm.giftVouchersLoading,\"loading-text\":\"Chargement des bons cadeaux...\",\"search\":_vm.search,\"options\":_vm.pagination,\"footer-props\":{\n itemsPerPageOptions: [10, 25, 50, 100]\n }},on:{\"click:row\":(v) => _vm.useSearchedVoucher(v),\"update:options\":function($event){_vm.pagination=$event}},scopedSlots:_vm._u([{key:`item.BeginValidityDate`,fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.formatDateTimeHuman(item.BeginValidityDate))+\" \")]}},{key:`item.SheetLabel`,fn:function({ item }){return [_c('span',{staticStyle:{\"display\":\"inline-block\",\"max-width\":\"150px\"}},[_vm._v(_vm._s(item.SheetLabel))])]}},{key:`item.Firstname`,fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.Firstname)+\" \"+_vm._s(item.Lastname)+\" \")]}},{key:`item.actions`,fn:function(){return [_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"primary\"}},[_c('v-icon',[_vm._v(\"mdi-arrow-right-circle-outline\")])],1)]},proxy:true}],null,true)})],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VoucherScan.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VoucherScan.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VoucherScan.vue?vue&type=template&id=73032c8a\"\nimport script from \"./VoucherScan.vue?vue&type=script&lang=js\"\nexport * from \"./VoucherScan.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuetify from 'vuetify/lib'\nimport 'vuetify/dist/vuetify.min.css'\nimport fr from 'vuetify/es5/locale/fr'\nimport { Ripple } from 'vuetify/lib/directives'\n\nVue.use(Vuetify, {\n directives: {\n Ripple\n }\n})\n\nexport default new Vuetify({\n theme: {\n dark: false,\n themes: {\n light: {\n primary: '#00639D',\n secondary: '#006B5D',\n accent: '#006876',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#ff9100'\n }\n }\n },\n customProperties: true,\n icons: {\n iconfont: 'mdi'\n },\n lang: {\n locales: { fr },\n current: 'fr'\n }\n})\n","import Vue from 'vue'\nimport 'vue-snotify/styles/material.css'\nimport Snotify, { SnotifyPosition } from 'vue-snotify'\n\nVue.use(Snotify, {\n toast: {\n position: SnotifyPosition.rightBottom,\n closeOnClick: true,\n timeout: 3000,\n titleMaxLength: 40,\n showProgressBar: false\n }\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',{},[(!_vm.isDashboardLayoutDisabled)?_c('v-navigation-drawer',{staticClass:\"grey lighten-4 no-print\",attrs:{\"persistent\":\"\",\"clipped\":\"\",\"mini-variant\":_vm.drawer,\"stateless\":\"\",\"fixed\":\"\",\"app\":\"\",\"permanent\":_vm.navigationDrawerState && !_vm.isDashboardLayoutDisabled}},[_c('v-list',{staticClass:\"main-nav\"},_vm._l((_vm.navDrawerItems),function(item,i){return _c('v-list-item',{key:i,attrs:{\"to\":item.route,\"title\":item.title,\"color\":\"primary\"}},[_c('v-list-item-action',[_c('v-badge',{attrs:{\"bottom\":\"\",\"dot\":\"\",\"color\":\"red\",\"value\":item.alert && item.alert > 0}},[_c('v-icon',{domProps:{\"innerHTML\":_vm._s(item.icon)}})],1)],1),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(item.title)}})],1)],1)}),1)],1):_vm._e(),(!_vm.isDashboardLayoutDisabled)?_c('v-app-bar',{staticClass:\"elevation-0 no-print\",staticStyle:{\"background\":\"#267CBC\"},attrs:{\"app\":\"\",\"dark\":\"\",\"flat\":\"\",\"clipped-left\":\"\",\"dense\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}),_c('v-toolbar-title',{attrs:{\"layout\":\"row\",\"layout-align\":\"start center\"},domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_c('v-spacer'),_c('v-toolbar-items',[_c('v-divider',{attrs:{\"vertical\":\"\"}}),(_vm.hasRight('admin:business:voucher'))?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.voucherScanDialog = true}}},on),[_c('v-icon',[_vm._v(\"mdi-ticket-percent\")])],1)]}}],null,false,2417904199)},[_c('span',[_vm._v(\"Scanner un e-billet/bon cadeau\")])]):_vm._e(),_c('v-divider',{attrs:{\"vertical\":\"\"}}),(_vm.hasVcr)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"text\":\"\"},on:{\"click\":_vm.goToVCR}},on),[_c('v-icon',[_vm._v(\"mdi-cash-register\")])],1)]}}],null,false,4220393021)},[_c('span',[_vm._v(\"Utiliser la caisse virtuelle\")])]):_vm._e(),(_vm.hasVcr)?_c('v-divider',{attrs:{\"vertical\":\"\"}}):_vm._e(),(_vm.hasDimsBackoffice)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"text\":\"\"},on:{\"click\":_vm.goToDims}},on),[_c('v-icon',[_vm._v(\"mdi-bug\")])],1)]}}],null,false,3409105924)},[_c('span',[_vm._v(\"Basculer vers Dims\")])]):_vm._e(),(_vm.hasDimsBackoffice)?_c('v-divider',{attrs:{\"vertical\":\"\"}}):_vm._e(),(_vm.authUser && _vm.authStatus === 'success')?_c('v-menu',{attrs:{\"bottom\":\"\",\"offset-y\":\"\",\"close-on-content-click\":false,\"max-width\":\"800px\",\"eager\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: onMenu }){return [_c('v-tooltip',_vm._g({attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.odeonPopup.visible = true}}},on),[_c('v-badge',{attrs:{\"overlap\":\"\",\"dot\":\"\",\"color\":\"red\",\"value\":_vm.odeonPopup.unread !== 0}},[_c('v-icon',[_vm._v(\"mdi-lifebuoy\")])],1)],1)]}}],null,true)},onMenu),[_c('span',[_vm._v(\"Aide / Support\")])])]}}],null,false,2390024222),model:{value:(_vm.odeonPopup.visible),callback:function ($$v) {_vm.$set(_vm.odeonPopup, \"visible\", $$v)},expression:\"odeonPopup.visible\"}},[_c('odeon-popup',{on:{\"unread\":_vm.onUnreadCount}})],1):_vm._e(),_c('v-divider',{attrs:{\"vertical\":\"\"}})],1),(_vm.authUser)?_c('v-menu',{attrs:{\"bottom\":\"\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticStyle:{\"height\":\"64px\"},attrs:{\"slot\":\"activator\",\"text\":\"\"},slot:\"activator\"},on),[_c('div',[_vm._v(\" \"+_vm._s(_vm.authUser.FirstName)+\" \"+_vm._s(_vm.authUser.LastName)+\" \"),_c('v-avatar',{staticClass:\"ml-2\",attrs:{\"color\":\"teal\",\"size\":\"32\"}},[_c('span',{staticClass:\"white--text\"},[_vm._v(_vm._s(_vm.userInitials))])])],1)])]}}],null,false,4153796249)},[_c('v-card',[_c('v-list',[_c('v-list-item',{attrs:{\"to\":{name: 'profil'}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-account-details\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Profil\")])],1)],1),_c('v-list-item',{on:{\"click\":_vm.logout}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-logout\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Déconnexion\")])],1)],1)],1)],1)],1):_vm._e(),(_vm.wvEnabled())?_c('v-divider',{attrs:{\"vertical\":\"\"}}):_vm._e(),(_vm.wvEnabled())?_c('v-btn',{staticStyle:{\"height\":\"64px\"},attrs:{\"text\":\"\"},on:{\"click\":_vm.wvClose}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1):_vm._e()],1):_vm._e(),_c('v-main',[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(_vm.forbidden)?_c('forbidden-page'):_c('router-view')],1)],1),(!_vm.isDashboardLayoutDisabled)?_c('v-footer',{staticClass:\"px-3 no-print\",attrs:{\"app\":\"\",\"inset\":\"\"}},[_c('div',{staticClass:\"text-overline\",attrs:{\"layout\":\"row\",\"layout-align\":\"start center\"}},[_c('a',{attrs:{\"href\":\"https://www.streamlor.io\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"layout\":\"row\",\"layout-align\":\"center center\"}},[_c('img',{staticClass:\"mx-2\",attrs:{\"src\":\"/streamlor-h15.png\",\"height\":\"15\"}})]),_c('span',{staticClass:\"mx-2\"},[_vm._v(\"•\")]),_c('span',[_vm._v(\"Copyright © 2018-\"+_vm._s(new Date().getFullYear()))]),_c('span',{staticClass:\"mx-2\"},[_vm._v(\"•\")]),_c('div',{staticClass:\"text-overline\"},[_vm._v(\"Version \"+_vm._s(_vm.version))]),_c('span',{staticClass:\"ml-2\"},[_vm._v(\"•\")])])]):_vm._e(),_c('vue-snotify'),_c('v-dialog',{attrs:{\"width\":\"1000px\"},model:{value:(_vm.voucherScanDialog),callback:function ($$v) {_vm.voucherScanDialog=$$v},expression:\"voucherScanDialog\"}},[_c('voucher-scan',{on:{\"validated\":function($event){_vm.voucherScanDialog = false}}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ma-3\",staticStyle:{\"min-height\":\"400px\"},attrs:{\"layout\":\"column\",\"layout-align\":\"center center\"}},[_c('span',{staticClass:\"text-h5 text-center mb-10\"},[_vm._v(\"Vous essayez d'accéder à une page pour laquelle vous ne possédez pas assez de droits.\")]),_c('v-icon',{staticClass:\"mb-10\",attrs:{\"size\":\"100\"}},[_vm._v(\"mdi-hand-back-right-off-outline\")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.goBack()}}},[_c('v-icon',{staticClass:\"mr-3\"},[_vm._v(\"mdi-arrow-left\")]),_vm._v(\"Retour\")],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Forbidden.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Forbidden.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Forbidden.vue?vue&type=template&id=9eddf65c\"\nimport script from \"./Forbidden.vue?vue&type=script&lang=js\"\nexport * from \"./Forbidden.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=100dc6fd\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=100dc6fd&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport vuetify from './plugins/vuetify'\nimport VueNativeSock from 'vue-native-websocket'\nimport moment from 'moment'\nimport 'moment/locale/fr'\n\nimport './plugins/snotify'\nimport LottieVuePlayer from \"@lottiefiles/vue-lottie-player\"\n\nimport App from './App.vue'\nimport router from './router/router'\nimport store from './store/store'\n\nimport config from './config'\n\nimport 'roboto-fontface/css/roboto/roboto-fontface.css'\nimport '@mdi/font/css/materialdesignicons.css'\nimport './styles/flexbox.css'\nimport './styles/main.css'\nimport {\n iconizer,\n labelizer,\n colors,\n date,\n params,\n spa,\n sales,\n client,\n accessControl\n} from 'neptune/mixins'\n\nVue.use(VueNativeSock, (config.ServerURL.protocol === 'https:' ? 'wss://' : 'ws://') + config.ServerURL.host + '/api/ws', {\n reconnection: false,\n connectManually: true,\n format: 'json'\n})\n\nVue.use(LottieVuePlayer)\n\nmoment.locale('fr')\nVue.config.productionTip = false\n\nVue.mixin(iconizer)\nVue.mixin(labelizer)\nVue.mixin(colors)\nVue.mixin(date)\nVue.mixin(params)\nVue.mixin(spa)\nVue.mixin(sales)\nVue.mixin(client)\nVue.mixin(accessControl)\n\nnew Vue({\n router,\n store,\n vuetify,\n render: h => h(App)\n}).$mount('#app')\n","export default {\n // WS RESOURCE\n WS_RESOURCE_TURNSTILE_INFO: \"r://turnstile-info\",\n WS_RESOURCE_TURNSTILE_HISTORY: \"r://turnstile-history\",\n WS_RESOURCE_ACCESS_CONTROL_VOUCHERS: \"r://access-control-vouchers\",\n WS_RESOURCE_CLIENTS: \"r://clients\",\n WS_RESOURCE_SPA_BOOKINGS: \"r://spa-bookings\",\n WS_RESOURCE_AREA_ATTENDANCE: \"r://area-attendance\",\n WS_RESOURCE_ESTABLISHMENTS: \"r://establishments\",\n WS_RESOURCE_AREAS: \"r://areas\",\n WS_RESOURCE_LOCKERS: \"r://lockers\",\n WS_RESOURCE_LOCKERS_STATE: \"r://locker-action/state\",\n WS_RESOURCE_LOCKERS_CONFIG: \"r://locker-action/config\",\n WS_RESOURCE_LOCKERS_HISTORY: \"r://locker-action/history\",\n WS_RESOURCE_LOCKER_BLOCKS: \"r://locker-blocks\",\n WS_RESOURCE_LOCKER_GATEWAYS: \"r://locker-gateways\",\n WS_RESOURCE_LOCKER_BOOKINGS: \"r://locker-bookings\",\n WS_RESOURCE_LOCKER_BOOKINGS_NEW: \"r://locker-bookings-new\",\n WS_RESOURCE_LOCKER_BOOKINGS_STOP: \"r://locker-bookings-action/stop\",\n WS_RESOURCE_LOCKER_BOOKINGS_CANCEL: \"r://locker-bookings-action/cancel\",\n WS_RESOURCE_LOCKER_INCIDENTS_NEW: \"r://locker-incidents-new\",\n WS_RESOURCE_LOCKER_INCIDENTS_UPDATE: \"r://locker-incidents-update\",\n WS_RESOURCE_INDOOR_POSITIONING: \"r://indoor-pos\",\n WS_RESOURCE_KIOVID: \"r://kiovid\",\n WS_RESOURCE_DISPLAYS: \"r://displays\",\n WS_RESOURCE_VOUCHERSHEETS: \"r://vouchersheets\",\n WS_RESOURCE_VOUCHERSHEET_PROGRESS: \"r://vouchersheet-progress\",\n WS_RESOURCE_KIOSKS: \"r://kiosks\",\n WS_RESOURCE_PRODUCTS: \"r://products\",\n\n // ACCESS_CONTROL\n ACCESS_CONTROL_EVENT_UNK: 0,\n ACCESS_CONTROL_EVENT_BOX_READY: 1,\n ACCESS_CONTROL_EVENT_BOX_ERROR: 2,\n ACCESS_CONTROL_EVENT_BOX_OFFLINE: 3,\n ACCESS_CONTROL_EVENT_TS_READY: 4,\n ACCESS_CONTROL_EVENT_TS_ERROR: 5,\n ACCESS_CONTROL_EVENT_TS_OFFLINE: 6,\n ACCESS_CONTROL_EVENT_UNK_CARD: 7,\n ACCESS_CONTROL_EVENT_PASSING_ALLOW: 8,\n ACCESS_CONTROL_EVENT_PASSING_DENIED: 9,\n ACCESS_CONTROL_EVENT_PASSING_TIMEOUT: 10,\n ACCESS_CONTROL_EVENT_PASSING_CONFIRM: 11,\n ACCESS_CONTROL_EVENT_BOX_LOG: 12,\n ACCESS_CONTROL_EVENT_BARRIER_MECHANICAL_FAULT: 14,\n ACCESS_CONTROL_EVENT_SAFETY_SIGNAL: 15,\n ACCESS_CONTROL_EVENT_SAFETY_DEVICE_MISSING: 16,\n ACCESS_CONTROL_EVENT_BARRIER_TOO_FAST: 17,\n ACCESS_CONTROL_EVENT_BOOM_CONTACT_SWING_AWAY: 18,\n ACCESS_CONTROL_EVENT_VANDALISM: 19,\n ACCESS_CONTROL_EVENT_IMPACT_DETECTION: 20,\n ACCESS_CONTROL_EVENT_MAINS_POWER_FAILURE: 21,\n ACCESS_CONTROL_EVENT_EEPROM_CHECKSUM_ERROR: 22,\n ACCESS_CONTROL_EVENT_WATCHDOG_RESET: 23,\n ACCESS_CONTROL_EVENT_SOFTWARE_ERROR_VS: 24,\n ACCESS_CONTROL_EVENT_SOFTWARE_ERROR_SYSTEMBUS: 25,\n ACCESS_CONTROL_EVENT_ERROR_ON_HOMING: 26,\n ACCESS_CONTROL_EVENT_CAN_OVERRUN: 27,\n ACCESS_CONTROL_EVENT_CAN_HW_FAULT: 28,\n ACCESS_CONTROL_EVENT_HEARTBEAT_ERROR: 29,\n ACCESS_CONTROL_EVENT_OVER_CURRENT: 30,\n ACCESS_CONTROL_EVENT_OVER_VOLTAGE: 31,\n ACCESS_CONTROL_EVENT_UNDER_VOLTAGE: 32,\n ACCESS_CONTROL_EVENT_OVER_TEMPERATURE: 33,\n ACCESS_CONTROL_EVENT_DERATING_ERROR: 34,\n ACCESS_CONTROL_EVENT_IMPACT_DETECTION2: 35,\n ACCESS_CONTROL_EVENT_MOTOR_COMMUNICATION_ERROR: 36,\n ACCESS_CONTROL_EVENT_DBG_SAFETY_DEVICE_ACTIVE: 37,\n ACCESS_CONTROL_EVENT_HW_ENABLE_TEST_FAILED: 38,\n ACCESS_CONTROL_EVENT_SAFETY_DEVICE_TEST_FAILED: 39,\n ACCESS_CONTROL_EVENT_DBG_SAFETY_LOOP_ON_DETECTOR1_ACTIVE: 40,\n ACCESS_CONTROL_EVENT_DBG_SAFETY_LOOP_ON_DETECTOR2_ACTIVE: 41,\n ACCESS_CONTROL_EVENT_MOTOR_BOOTLOADER_ACTIVE: 42,\n ACCESS_CONTROL_EVENT_MOTOR_UPDATE_FAILURE: 43,\n ACCESS_CONTROL_EVENT_MOTOR_UPDATE_PERFORMED: 44,\n ACCESS_CONTROL_EVENT_SHORT_CIRCUIT_LOOP_A: 45,\n ACCESS_CONTROL_EVENT_SHORT_CIRCUIT_LOOP_B: 46,\n ACCESS_CONTROL_EVENT_LOOP_A_BROKEN: 47,\n ACCESS_CONTROL_EVENT_LOOP_B_BROKEN: 48,\n ACCESS_CONTROL_EVENT_LOOP_REFERENCE_ERROR: 49,\n ACCESS_CONTROL_EVENT_DBG_FREQUENCY_MEASUREMENT_ERROR: 50,\n ACCESS_CONTROL_EVENT_DBG_MEASUREMENT_MONITORING_A: 51,\n ACCESS_CONTROL_EVENT_DBG_MEASUREMENT_MONITORING_B: 52,\n ACCESS_CONTROL_EVENT_DBG_LOOP_MULTIPLEX_ERROR: 53,\n ACCESS_CONTROL_EVENT_DBG_NEGATIVE_FREQUENCY_DIFFERENCE: 54,\n ACCESS_CONTROL_EVENT_HARDWARE_ERROR: 55,\n ACCESS_CONTROL_EVENT_ERROR_LOOP_A: 56,\n ACCESS_CONTROL_EVENT_ERROR_LOOP_B: 57,\n\n PASSING_TYPE_CARD_QUERY: 1,\n PASSING_TYPE_TURNSTILE_PASSING: 2,\n PASSING_TYPE_PUNISH_LATE_EXIT: 3,\n\n PASSING_DIRECTION_UNSET: 0,\n PASSING_DIRECTION_IN: 1,\n PASSING_DIRECTION_OUT: 2,\n\n // BOOKINGS\n BOOKING_PERIOD_DAYTIME: 0,\n BOOKING_PERIOD_MORNING: 1,\n BOOKING_PERIOD_AFTERNOON: 2,\n BOOKING_PERIOD_EVENING: 3,\n\n BOOKING_SOURCE_WEB: 0,\n BOOKING_SOURCE_CASHREGISTER: 1,\n BOOKING_SOURCE_MOBILE: 2,\n BOOKING_SOURCE_KIOSK: 3,\n\n BOOKING_STATUS_PENDING: 0,\n BOOKING_STATUS_VALIDATED: 1,\n BOOKING_STATUS_CANCELLED: 2,\n BOOKING_STATUS_WAITING: 3,\n\n BOOKING_SLOT_WEB_MODE_ZERO: 0,\n BOOKING_SLOT_WEB_MODE_UNLIMITED: 1,\n BOOKING_SLOT_WEB_MODE_SPECIFIC: 2,\n\n BOOKING_SLOT_REPEAT_WEB_PUBLISHED_NONE: 0,\n BOOKING_SLOT_REPEAT_WEB_PUBLISHED_INFO: 1,\n BOOKING_SLOT_REPEAT_WEB_PUBLISHED_BOOK: 2,\n\n // SUBSCRIPTIONS TYPES\n // Subscription using credits system\n SUBSCRIPTION_TYPE_CREDIT: 1,\n // Subscription granting a subscription (unlimited access within a date range)\n SUBSCRIPTION_TYPE_SUBSCRIPTION: 2,\n // Subscription granting a certain amount of entries (quantity pass)\n SUBSCRIPTION_TYPE_PASS_Q: 3,\n // Subscription granting a certain amount of time (hourly pass)\n SUBSCRIPTION_TYPE_PASS_H: 4,\n // Subscription grouping up multiple other articles (pack/\"forfait\")\n SUBSCRIPTION_TYPE_PACK: 5,\n // Other type of articles\n SUBSCRIPTION_TYPE_OTHER: 6,\n // One-time entry printed as a QRcode\n SUBSCRIPTION_TYPE_2DTAG: 7,\n\n // SPA\n SPA_PRODUCT_MODE_ALL: 1,\n SPA_PRODUCT_MODE_MULTI_OF: 2,\n\n SPA_NOTIFICATION_CREATE: \"create\",\n SPA_NOTIFICATION_UPDATE: \"update\",\n SPA_NOTIFICATION_DELETE: \"delete\",\n SPA_NOTIFICATION_REMINDER: \"reminder\",\n\n // SUBSCRIPTION RENEW OPTIONS\n RENEW_OPTIONS_USE_SUBSCRIPTION_VALIDITY_ONLY: 0,\n RENEW_OPTIONS_ADD_REMAINING_VALIDITY: 1,\n\n RENEW_OPTIONS_KEEP_BALANCE_ALWAYS: 0,\n RENEW_OPTIONS_KEEP_BALANCE_IF_NOT_EXPIRED: 1,\n RENEW_OPTIONS_KEEP_BALANCE_NEVER: 2,\n\n GROUP_EXIT_AUTO_NEVER: 0,\n GROUP_EXIT_AUTO_MANUAL_ONLY: 1,\n GROUP_EXIT_AUTO_ALWAYS: 2,\n\n // PRODUCT VALIDITY TYPES\n // Product is valid starting on sale date\n PRODUCT_VALIDITY_SALE_DATE: 1,\n // Product is valid at a fixed date (ValidityBeginDate field on Product)\n PRODUCT_VALIDITY_FIXED: 2,\n // Product validity period begins on first use\n PRODUCT_VALIDITY_FIRST_USE: 3,\n // Product validity begins at an arbitrary date\n PRODUCT_VALIDITY_CUSTOM_DATE: 4,\n // Product validity period match a corresponding booking (used for periodic bookings)\n PRODUCT_VALIDITY_MATCH_BOOKING_DATE: 5,\n // Product validity start and end date are set during sale\n PRODUCT_VALIDITY_CUSTOM_PERIOD: 6,\n\n // Duration types\n DURATION_PER_DAY: 1,\n DURATION_PER_MONTH: 2,\n DURATION_PER_YEAR: 3,\n\n // FREQUENCIES\n FREQUENCY_NEVER: 0,\n FREQUENCY_OCCASIONAL: 1,\n FREQUENCY_MONTHLY: 2,\n FREQUENCY_YEARLY: 3,\n\n MODE_FIRST_PURCHASE_FIX_DATES: 1,\n MODE_FIRST_PURCHASE_DATE_TO_DATE: 2,\n\n // SALES\n SALE_STATE_DRAFT: 1,\n SALE_STATE_PAUSED: 2,\n SALE_STATE_PAYING: 3,\n SALE_STATE_READY_CONFIRMED: 4,\n SALE_STATE_CONFIRMED: 5,\n SALE_STATE_CANCELLED: 6,\n SALE_STATE_PAUSED_PAYING: 7,\n SALE_STATE_PAYMENT_PENDING: 8,\n SALE_STATE_ARRHES: 9,\n SALE_STATE_SCHEDULED: -1,\n\n BOOKING_SLOT_REPEAT_STATUS_DRAFT: 0,\n BOOKING_SLOT_REPEAT_STATUS_VALID: 1,\n BOOKING_SLOT_REPEAT_STATUS_DELETED: 2,\n\n // CHECKMAIL STATUS\n MAIL_STATUS_OK: 1,\n MAIL_STATUS_UNDETERMINED: 2,\n MAIL_STATUS_BAD_FORMAT: 3,\n MAIL_STATUS_HOST_UNRESOLVABLE: 4,\n MAIL_STATUS_UNKNOWN_USER: 5,\n\n // Booking refused code\n BOOKING_IS_AUTHORIZED: 0,\n LIMIT_BOOKING_TIME_PASSED: 1,\n SLOT_OUT_OF_VISIBILITY: 2,\n NO_PRODUCT: 3,\n WRONG_CLIENT_GROUP: 4,\n SWIMING_LEVEL_NOT_GOOD: 5,\n MAX_BOOKING_PER_WEEK_REACHED: 6,\n ALREADY_BOOKED: 7,\n NO_PLACE_AVAILABLE: 8,\n NO_PLACE_AVAILABLE_WEB: 9,\n WEB_MODE_UNAVAILABLE: 10,\n\n // Kiovid Type\n UNKNOWN_KIOVID: -1,\n KIOSK_KIOVID: 0,\n CASHREGISTER_KIOVID: 1,\n\n // CLIENTS\n CLIENTS: {\n GENDERS: {\n UNKNOW: 'U',\n FEMALE: 'F',\n MALE: 'M',\n },\n STATE: {\n DISABLED: 0,\n VALID: 1,\n }\n },\n\n CLIENT_TYPE_PERSON: 1, // Physical person\n CLIENT_TYPE_ORG: 2, // Company/organization\n CLIENT_TYPE_OTHER: 3, // Other\n CLIENT_ORG_CE: 4, //CE\n CLIENT_ORG_COLLECTIVITY: 5, //Mairies, etc\n CLIENT_ORG_GROUPING: 6, //Groupement scolaires\n CLIENT_ORG_ORGANIZATION: 7, //Organizations\n CLIENT_ORG_INDIVIDUAL: 8, //Individual\n CLIENT_ORG_PRIVATE: 9, //Private\n CLIENT_ORG_PUBLIC: 10, //Public establishment\n\n PRICING_DEFAULT: \"DEFAULT\",\n\n GLOBAL_PARAMS: {\n PARAM_DECIMAL_AMOUNT: 1,\n PARAM_CURRENCY_SIGN: 2,\n PARAM_ALERT_STOCK: 3, // DON'T USE ME, RECYLE ME !\n PARAM_THEME_DEFAULT: 4,\n PARAM_ASSOCIATION_CLIENT_AUTO: 5,\n PARAM_LANGUAGE: 6,\n PARAM_KEYPAD: 7,\n PARAM_RECEIPT_CHECKED: 8,\n PARAM_DATA_PATH: 9,\n PARAM_PRODUCT_LIST_FIRST: 10,\n PARAM_PRODUCT_FIRST_IN_SALE: 11,\n PARAM_PRODUCT_FAV: 12,\n PARAM_MULTI_CLIENT: 13,\n PARAM_POSTAL_CODE_AFTER_SALE: 14,\n PARAM_CHANGE_PRICE_ON_LINE: 15,\n PARAM_PAYMENT_LATER: 16,\n PARAM_MULTI_PAYMENT: 17,\n PARAM_CARD_ENABLE: 18,\n PARAM_CHANGE_TYPE_PAYMENT_AFTER_SALE: 19,\n PARAM_PAUSE_SALE: 20,\n PARAM_MAX_CLIENTS_IN_SALE: 21,\n PARAM_ARCHIVE_AUTO: 22,\n PARAM_KEYPAD_DISCOUNT: 23,\n PARAM_BEGIN_PERIOD: 24,\n PARAM_NBR_WRONG_CASHFUND: 25,\n PARAM_CASHBOOK_TYPE_VERIF: 26,\n PARAM_SALE_LOST: 27,\n PARAM_PRINTER_RECEIPT: 28,\n PARAM_PRINTER_BILL: 29,\n PARAM_VOUCHER: 30,\n PARAM_UNIT_POINT: 31,\n PARAM_DELAYED_PAYEMENT: 32,\n PARAM_CREDIT: 33,\n PARAM_PAYMENT_SELECT_TYPE_FIRST: 34,\n PARAM_MQTT_ENABLE: 35,\n PARAM_BROKER_ADDRESS: 36,\n PARAM_SYNCHRO_WEB: 37,\n PARAM_DEV_TOOLS: 38,\n PARAM_API_KEY: 39,\n PARAM_CENTRAL_ADDRESS: 40,\n PARAM_SQL_ADDRESS: 41,\n PARAM_USE_TPE: 42,\n PARAM_TPE_COM_PORT: 43,\n PARAM_INTERNET: 44,\n PARAM_SWITCH_CLIENT_AUTO: 45,\n PARAM_CASH_DRAWER: 46,\n PARAM_UI_ZOOM_FACTOR: 47,\n PARAM_UPDATER_ADDRESS: 48,\n PARAM_UPDATER_API_KEY: 49,\n PARAM_MESSAGES_JUSTIFICATION: 50,\n PARAM_VALIDATION_PAYMENT_AUTO: 51,\n PARAM_PAYMENT_MODE_NORMAL: 52,\n PARAM_AUTO_DECO_TIME: 53,\n PARAM_CASH_DRAWER_ENABLE: 54,\n PARAM_WIDTH_RECEIPT: 55,\n PARAM_QRCODE_MESSAGE: 56,\n PARAM_QRCODE_PRINTER: 57,\n PARAM_BARCODE_PRINTER: 58,\n PARAM_BARCODE_SIZE: 59,\n PARAM_QRCODE_PARAMS: 60,\n PARAM_COLOR_PRICINGS_PRIORITY: 61,\n PARAM_USE_EXTERNAL_DISPLAY: 62,\n PARAM_PAYMENT_DIFF_FOR_CLIENT: 63,\n PARAM_AUTOCREATE_ONLINE_ACCOUNT: 64,\n PARAM_ASK_FOR_OTHER_CARD: 65,\n PARAM_SHOW_MORE_TOOLBAR: 66,\n PARAM_SHOW_SUBS_IN_TICKET: 67,\n PARAM_PRODUCTS_IN_CASHBOOK_TICKET: 68,\n PARAM_AUTO_PRINT_CASHBOOK_TICKET: 69,\n PARAM_DIMS1_URL: 70,\n PARAM_DIMS2_URL: 71,\n PARAM_DIMS2_API_KEY: 72,\n PARAM_DENY_ASSIGNED_CARD: 73,\n PARAM_SHORT_CASHBOOK_TICKET: 74,\n PARAM_EXPORT_SKIP_AVOIRS: 75,\n PARAM_PRINT_ON_FAST_TICKET: 76,\n PARAM_EXPORT_ADD_NEW_PAGE: 77,\n PARAM_EXPORT_SKIP_DIFFERED: 78,\n PARAM_DUPLICATE_FOR_ORG: 79,\n PARAM_AUTO_PRINT_CASH_FUND_START: 80,\n PARAM_AUTO_PRINT_CASH_FUND_END: 81,\n PARAM_CLIENTS_NAME_STANDARDIZATION: 82,\n PARAM_CORRECTION_GRAND_TOTAL: 83,\n PARAM_SUB_INITIAL_CASHFUND: 84,\n PARAM_MAILMAN_ADDRESS: 85,\n PARAM_SHOW_MQTT_STATUS: 86,\n PARAM_USE_CHEQUE_READER: 87,\n PARAM_CHEQUE_READER_COM: 88,\n PARAM_SHOW_TOTAL_QTY_ON_CARD: 89,\n PARAM_REFRESH_ALL_SUBS_ON_CARD: 90,\n PARAM_CASHREGISTER_ESTABLISHMENT: 91, // DON'T USE ME, RECYLE ME !\n PARAM_BILL_SUMMARY_TOP_MARGIN: 92,\n PARAM_ARRHES: 93,\n PARAM_TVA_ON_PAYMENTS_STATS: 94,\n PARAM_SPA_BOOKINGS_ON_TRACKING: 95,\n PARAM_SHOW_PERCENTAGE_ON_EXPORT: 96,\n PARAM_TICKET_TEMPLATE: 97,\n PARAM_ACCESS_CONTROL_VOUCHER_TEMPLATE: 98,\n PARAM_ADD_MORE_INFOS_AT_SALE_END: 99,\n PARAM_SHOW_ESTABLISHMENT_LOGO_ON_TICKET: 100,\n PARAM_BILL_TEMPLATE: 101,\n PARAM_VOUCHER_TEMPLATE: 102,\n PARAM_VOUCHER_GIFT_CARD_TEMPLATE: 103,\n PARAM_VOUCHER_DISCOUNT_TEMPLATE: 104,\n PARAM_VOUCHER_WEB_GIFT_CARD_TEMPLATE: 105,\n PARAM_ENABLE_SALE_GIFT: 106,\n PARAM_HIDE_FAMILIES_IN_SALE: 107,\n PARAM_PREVENT_CREDIT_CARD_CANCEL: 108,\n PARAM_WEB_ACCESS_CONTROL_VOUCHER_TEMPLATE: 109,\n PARAM_LOCKER_DELAY_BETWEEN_BOOKINGS: 110,\n PARAM_LOCKER_GATEWAY_SCAN_LOOP_INTERVAL: 111,\n PARAM_UPDATE_IN_PLACE: 112,\n PARAM_USE_EXIT_BOXES_FOR_MANUAL_ACCESS: 113,\n PARAM_SKIP_EXTERNAL_DEFERED_IN_PRODUCTS_EXPORT: 114,\n PARAM_ENABLE_COVID_PASS: 115,\n PARAM_AUTOCREATE_PERIODS: 116,\n PARAM_EXPORT_ADD_CAGNOTTE_COLLECTIONS: 117,\n PARAM_CREDIT_VOUCHER_REMAINING_AMOUNT: 118,\n PARAM_SHOW_ALL_DEFERRED_PAYMENTS: 119,\n PARAM_ZEBRA_WB_TEMPLATE: 120,\n PARAM_ACV_ON_ZEBRA_WB: 121,\n PARAM_VOUCHER_GIFT_CARD_VALIDITY: 122,\n PARAM_CANCEL_SALE_WITH_ALL_PAYMENT_MEAN: 123,\n PARAM_PAUSE_SALE_STARTED_PAYING: 124,\n PARAM_CREDIT_UNITS_FOR_GIFTING_CLIENT: 125,\n PARAM_USE_TURNSTILE_MODE: 126,\n PARAM_ENABLE_CIVIL_REF: 127,\n PARAM_DEFAULT_AUTODEBIT_DAY: 128,\n PARAM_COLLECTABLE_VOUCHER_TEMPLATE: 129,\n PARAM_ZEBRA_PRINTER: 130,\n PARAM_IMAGE_USED_FOR_BILL: 131,\n PARAM_PRINTS_WITH_SELLER_NAME: 132,\n PARAM_OPEN_DRAWER_ON_CREDIT_CARD_PAYMENT: 133,\n PARAM_TPE_COM_MODE: 134,\n PARAM_TPE_COM_IP: 135,\n PARAM_EXPORT_PRICING_VENTILATION: 136,\n PARAM_TPE_PROTOCOL_VERSION: 137,\n PARAM_ENABLE_DISCOUNTS: 138,\n PARAM_BILL_FOOTER_NOTE: 139,\n PARAM_CASHDRAWER_JUSTIFICATION_MESSAGES: 140,\n PARAM_FORBID_EXCEEDING_VOUCHER_PAYMENT: 141,\n PARAM_ENABLE_CLIENT_PICTURES: 142,\n PARAM_WEBCAM_DEVICE: 143,\n PARAM_DEFAULT_PRICING_CODES: 144,\n PARAM_PRIORITY_CITIES: 145,\n PARAM_DIMS2_LOCAL_URL: 146,\n PARAM_HIDE_OTHER_ESTABLISHMENTS_ACCESS_CONTROL: 147,\n PARAM_SHOW_BOOKINGS_ON_TICKET: 148,\n PARAM_RESET_SUB_START_DATE_ON_RECHARGE: 149,\n PARAM_TPE_INTERVENTION_DELAY: 150,\n PARAM_DISABLE_SCREEN_RECORDING: 151,\n PARAM_ADDRESS_FORCE_UPPERCASE: 152,\n },\n\n SMS: {\n SERVICE_UNKNOWN: \"aucun service\",\n ENDPOINT_UNKNOWN: \"aucune passerelle\",\n OPERATOR_UNKNOWN: 0,\n OPERATOR_OVH: 1,\n OPERATORS: [\n {\n value: 0,\n text: \"aucun opérateur\",\n },\n {\n value: 1,\n text: \"OVH\",\n },\n ],\n BY_ACTIVITY: 0,\n BY_DAY: 1,\n GROUP_BY: [\n {\n value: 0,\n text: \"par activité\",\n description: \"Un SMS par activité (potentiellement plusieurs SMS par jour).\",\n },\n {\n value: 1,\n text: \"par jour\",\n description: \"Un SMS par jour (rappel de toutes les activités du jour concerné).\",\n },\n ],\n CONFIRMATION_STATUS: {\n NONE: 0,\n DESIRED: 1,\n NO_PHONENUMBER: 2,\n UNDELIVERED: 3,\n AWAITING: 4,\n NO_REPLY: 5,\n REPLY_YES: 6,\n REPLY_NO: 7,\n REPLY_OTHER: 8,\n NO_REPLY_EXPECTED: 9,\n },\n },\n\n VOUCHER_TYPES: {\n GIFT_CARD: 1,\n DISCOUNT: 2,\n CREDIT: 3,\n CREDIT_UNIT: 4,\n PRODUCT: 5,\n ORDER: 6,\n COLLECTABLE: 7\n },\n\n TEMPLATE_TYPES: {\n TICKET: \"ticket\",\n VOUCHER: \"voucher\",\n VOUCHER_WEB_GIFT_CARD: \"voucher-web-gift-card\",\n VOUCHER_GIFT_CARD: \"voucher-gift-card\",\n VOUCHER_DISCOUNT: \"voucher-discount\",\n ACCESS_CONTROL_VOUCHER: \"access-control-voucher\",\n WEB_ACCESS_CONTROL_VOUCHER: \"web-access-control-voucher\",\n VOUCHER_COLLECTABLE: \"voucher-collectable\",\n BILL: \"bill\",\n RENEWABLE_SUBSCRIPTION_CONTRACT: \"renewable-subscription-contract\",\n },\n\n COMMUNICATIONS: {\n CHANNEL_KEEP_ALIVE: \"keepAlive\",\n CHANNEL_SUBSCRIBE: \"subscribe\",\n CHANNEL_UNSUBSCRIBE: \"unsubscribe\",\n CHANNEL_NOTIFY: \"notify\",\n CHANNEL_ERROR: \"error\",\n\n RESOURCE_ENVIRONMENT: \"environment\",\n RESOURCE_CONNECTIVITY: \"connectivity\",\n RESOURCE_SESSION_ID: \"sessionID\",\n RESOURCE_CASHREGISTER: \"cashregisters\",\n RESOURCE_CASHREGISTER_HEALTH: \"cashregisterHealth\",\n RESOURCE_CASHREGISTER_UPDATE_PROGRESS: \"cashregisterUpdateProgress\",\n RESOURCE_CASHREGISTER_SYNC_PROGRESS: \"cashregisterSyncProgress\",\n RESOURCE_CASHREGISTER_SYNC_OUT_PROGRESS: \"cashregisterSyncOutProgress\",\n RESOURCE_CASHREGISTER_SCREEN_RECORDING: \"cashregisterScreenRecording\",\n RESOURCE_TURNSTILE_INFO: \"turnstile-info\",\n RESOURCE_TURNSTILE_HISTORY: \"turnstile-history\",\n RESOURCE_ACCESS_CONTROL_VOUCHERS: \"access-control-vouchers\",\n RESOURCE_CLIENTS: \"clients\",\n RESOURCE_SPA_BOOKINGS: \"spa-bookings\",\n RESOURCE_AREA_ATTENDANCE: \"area-attendance\",\n RESOURCE_COMPARISON_PROGRESS: \"comparison-progress\",\n RESOURCE_RESYNC_PROGRESS: \"resync-progress\",\n },\n\n EXPORT_TYPES: {\n EXCEL: {\n PRODUCT_SIMPLE: 1,\n PRODUCT_WITH_PRICING: 2,\n PAYMENTS: 3,\n EXCEPTED_PAYMENTS: 4,\n SALES_SIMPLE: 5,\n SALES_LINES: 6,\n SALES_PAYMENTS: 7,\n CASHFUND_SIMPLE: 8,\n CASHFUND_DETAILS: 9,\n GENERAL: 10,\n SALES_CREDIT_NOTE: 11,\n CHEQUES: 12,\n DEFERREDPAYMENTS: 13,\n DISCOUNTS: 14,\n SALES_CORRECTIONS: 15,\n JET: 16,\n STOCKS: 17,\n DOCUMENTS: 18,\n GT: 19,\n POSTAL_CODES: 20,\n PAYMENT_TYPES: 21,\n DEFERRED_PAYMENTS_BY_CLIENTS: 22,\n SALES_NOMINATIVE_PAYMENTS: 23,\n MODIFICATIONS: 24,\n DEFERRED_EXTERNAL_PAYMENTS_BY_CLIENTS: 25,\n DEFERRED_EXTERNAL_PAYMENTS: 26,\n SLIPS: 27,\n PAUSED_SUBSCRIPTIONS: 28,\n PAYMENT_TYPES_PER_DAY: 29,\n },\n\n PDF: {\n COLLECTION: 1,\n PRODUCTS: 2,\n FAMILIES: 3,\n PRODUCTS_BY_FAMILIES: 4,\n CLIENT_SALES: 5,\n CREDIT_CARD_PAYMENTS: 6,\n SLIPS: 7,\n HOLIDAY_VOUCHER_SLIPS: 8,\n SPORTS_COUPONS: 9,\n CREDIT_NOTES: 10,\n SPECIAL_PRICES: 11,\n DEFERRED_PAYMENTS: 12,\n DEFERRED_PAYMENTS_BY_CLIENTS: 13,\n ARRHES: 14,\n MODIFICATIONS: 15,\n DEFERRED_EXTERNAL_PAYMENTS: 16,\n DEFERRED_EXTERNAL_PAYMENTS_BY_CLIENTS: 17,\n PAUSED_SUBSCRIPTIONS: 18,\n TVA_BY_FAMILIES: 22\n },\n },\n\n KIOSKS: {\n TYPE: {\n SCHOOL_KIOSK: 1,\n TIME_KIOSK: 2,\n BOOKING_KIOSK: 3,\n PURCHASE_KIOSK: 4,\n PAY_LATER_KIOSK: 5,\n CONSULTATION_KIOSK: 6,\n },\n\n ESTABLISHMENTS_FILTER: {\n SHOW_ONLY_KIOSK_ESTABLISHMENT: 1,\n SHOW_PREFILTER_KIOSK_ESTABLISHMENT: 2,\n SHOW_ALL_ESTABLISHMENTS: 3,\n },\n },\n\n LOCKERS: {\n USER_CODE: {\n MIN_LENGTH: 4,\n MAX_LENGTH: 4,\n },\n\n MASTER_CODE: {\n MIN_LENGTH: 6,\n MAX_LENGTH: 6,\n },\n\n LOCKER_STATE: {\n STATE_OPENED: 0,\n STATE_CLOSED: 1,\n STATE_ERROR: 2,\n STATE_UNKNOWN: 3,\n },\n\n LOCKER_STATUS: {\n STATUS_AVAILABLE: 0,\n STATUS_IN_USE: 1,\n STATUS_PREPARED: 2,\n STATUS_OVERSTAY: 3,\n STATUS_DISABLED: 4,\n STATUS_IN_ERROR: 5,\n },\n\n LOCKER_ACCESS_MODE: {\n FREE_ACCESS: 0,\n RESERVATION: 1,\n AFFECTATION: 2,\n },\n\n LOCKER_BOOKING_MODE: {\n MODE_BOOKING: 0,\n MODE_AFFECTATION: 1,\n MODE_SINGLE_USE: 2,\n },\n\n INCIDENT_TYPE: {\n OTHER_INCIDENT: 0,\n NO_LOCKERS_AVAILABLE_AT_BOOKING_START_INCIDENT: 1,\n NO_LOCKERS_AVAILABLE_AT_BOOKING_RETRY_INCIDENT: 2,\n NOT_OPENED_AT_THE_END_OF_BOOKING_INCIDENT: 3,\n LOW_BATTERY_LOCKER_INCIDENT: 4,\n LOCKER_STATE_NOT_OPENED_INCIDENT: 5,\n LOCKER_STATE_NOT_CLOSED_INCIDENT: 6,\n OFFLINE_GATEWAY_INCIDENT: 7,\n OFFLINE_LOCKER_INCIDENT: 8,\n NON_VALID_MASTER_CODE_LOCKER_INCIDENT: 9,\n },\n\n BOOKING_STATE: {\n BOOKING_REGISTERED: 0,\n BOOKING_STARTED: 1,\n BOOKING_ENDED: 2,\n BOOKING_CANCELED: 3,\n BOOKING_OVERSTAY: 4,\n BOOKING_ERROR: 5,\n BOOKING_ENDED_WITH_OVERSTAY: 6,\n },\n\n EVENT_TYPE: {\n TIME_ADVANCE: 3,\n TIME_DELAY: 4,\n MECHANICAL_FAILURE: 9,\n USER_OPENING: 16,\n MASTER_OPENING: 17,\n USER_CLOSING: 18,\n INITIALIZATION: 21,\n AUTOMATIC_OPEN_RENT_TIME: 23,\n NON_VALID_MASTER_CODE: 32,\n TIMED_OUT_CODE: 34,\n OCCUPIED_CARD: 38,\n NON_VALID_CARD: 39,\n USER_OPENING_KEYPAD: 65,\n USER_CLOSING_KEYPAD: 66,\n MASTER_OPENING_KEYPAD: 67,\n MASTER_CLOSING_KEYPAD: 68,\n AUTOMATIC_OPENING: 82,\n MASTER_CLOSING: 83,\n LOW_BATTERY: 84,\n FULL_CARD: 85,\n ERASE_BT: 134,\n STREAMLOR_FREE_CONFIGURATION: 200,\n STREAMLOR_DEDICATED_CONFIGURATION: 201,\n STREAMLOR_MASTER_OPENING: 202,\n STREAMLOR_MASTER_CLOSING: 203,\n },\n },\n\n STATS: {\n EXPORT_TYPES: {\n SALES_SELLERS: \"sales-sellers\",\n SALES_CLIENTS: \"sales-clients\",\n SALES_SPA_SERVICES: \"sales-spa-services\",\n SALES_SPA_CARES: \"sales-spa-cares\",\n SALES_SPA_BOOKINGS: \"sales-spa-bookings\",\n },\n },\n\n RESA_PARAMS: {\n SMSER_GROUP_BY: \"smser_group_by\",\n SMSER_OPERATOR: \"smser_operator\",\n SPA_PLANNINGS_START_HOUR: \"spa_plannings_start_hour\",\n SPA_PLANNINGS_START_MIN: \"spa_plannings_start_min\",\n SPA_PLANNINGS_END_HOUR: \"spa_plannings_end_hour\",\n SPA_PLANNINGS_END_MIN: \"spa_plannings_end_min\",\n PLANNING_START_HOUR: \"planning_start_hour\",\n PLANNING_START_MIN: \"planning_start_min\",\n PLANNING_END_HOUR: \"planning_end_hour\",\n PLANNING_END_MIN: \"planning_end_min\",\n BOOKING_MARGIN_MINUTES: \"booking_margin_minutes\",\n NUMBER_OF_WEEK_VISIBLE: \"number_of_week_visible\",\n SLOT_VISIBILITY_UNLOCK_WEEKDAY: \"slot_visibility_unlock_weekday\",\n SLOT_VISIBILITY_UNLOCK_TIME: \"slot_visibility_unlock_time\",\n CANCELLING_DELAY: \"cancelling_delay\",\n LIMIT_TIME_FOR_BOOKING: \"limit_time_for_booking\",\n HOURS_BEFORE_IMMEDIATE_BOOKING: \"hours_before_immediate_booking\",\n MAX_IMMEDIATE_BOOKINGS_BY_DAY: \"max_immediate_bookings_by_day\",\n MAX_ACTIVE_BOOKINGS: \"max_active_bookings\",\n SUBSCRIPTION_PASSING_DELAY_MINUTES: \"subscription_passing_delay_minutes\",\n TIME_PASS_MIN_DEBIT: \"time_pass_min_debit\",\n TIME_PASS_MIN_REMAINING: \"time_pass_min_remaining\",\n TIME_PASS_MIN_STOP: \"time_pass_min_stop\",\n UNIQUE_DEBIT_PER_ZONE: \"unique_debit_per_zone\",\n BOOKING_CANCELLATION_DAYS_LIMIT: \"booking_cancellation_days_limit\",\n ANONYMIZE_DELAY: \"anonymize_delay\",\n REQUIRE_COVID_PASS: \"require_covid_pass\",\n DELAY_BETWEEN_RESERVATIONS: \"delay_between_reservations\",\n INTERVAL_BETWEEN_GATEWAY_LOOPS: \"interval_between_gateway_loops\",\n USERCODE_LENGTH: \"usercode_length\",\n ENABLE_LATE_EXIT_PENALTY: \"enable_late_exit_penalty\",\n LATE_EXIT_DELAY: \"late_exit_delay\",\n LATE_EXIT_BOOKING_TOLERANCE: \"late_exit_booking_tolerance\",\n ENABLE_SUB_EXPIRATION_BOOKING_CHECK: \"enable_sub_expiration_booking_check\",\n BOOKING_VALIDATES_ENTIRE_DAY: \"booking_validates_entire_day\",\n LOCKERS_LED: \"lockers_led\",\n COVID_PASSING_DELAY_MINUTES: \"covid_passing_delay_minutes\",\n SMSER_AWAITING_RESPONSE_SPA_BOOKINGS: \"smser_awaiting_response_spa_bookings\",\n SPA_HUMAN_CONFIRMATION: \"spa_human_confirmation\",\n SPA_SHOW_SHORT_LABEL: \"spa_show_short_label\",\n PLANNING_SHOW_FILLING: \"planning_show_filling\",\n PAYPAL_ENABLED: \"paypal_enabled\",\n PAYFIP_ENABLED: \"payfip_enabled\",\n STATS_EXPORTS_EXCEL_DISPLAY_NO_DATA: \"stats_exports_excel_display_no_data\",\n LOCKERS_UNIQUE_MASTER_CODE: \"lockers_unique_master_code\",\n LOCKERS_BUZZER: \"lockers_buzzer\",\n LOCKERS_BLOCK_ON_FAILS: \"lockers_block_on_fails\",\n LOCKERS_AUTO_OPENING: \"lockers_auto_opening\",\n LOCKERS_AUTO_CLOSING: \"lockers_auto_closing\",\n LOCKERS_BLOCK_BUZZER: \"lockers_block_buzzer\",\n LOCKERS_BLOCK_BLOCK_ON_FAILS: \"lockers_block_block_on_fails\",\n LOCKERS_BLOCK_AUTO_OPENING: \"lockers_block_auto_opening\",\n LOCKERS_BLOCK_AUTO_CLOSING: \"lockers_block_auto_closing\",\n LOCKERS_DELAY_BETWEEN_RESERVATIONS: \"lockers_delay_between_reservations\",\n LOCKERS_BLOCK_OPENING_IF_LATE: \"lockers_block_opening_if_late\",\n LOCKERS_SCHEDULED_HISTORY_FETCH: \"lockers_scheduled_history_fetch\",\n SMSER_SENDER: \"smser_sender\",\n SMSER_CUSTOM_MESSAGE_SPA_BOOKINGS: \"smser_custom_message_spa_bookings\",\n SMSER_ENDPOINT: \"smser_endpoint\",\n SMSER_APPLICATION_KEY: \"smser_application_key\",\n SMSER_APPLICATION_SECRET: \"smser_application_secret\",\n SMSER_CONSUMER_KEY: \"smser_consumer_key\",\n SMSER_SELECTED_SERVICE: \"smser_selected_service\",\n MAILER_WEBSITE_NAME: \"mailer_website_name\",\n MAILER_WEBSITE_LINK: \"mailer_website_link\",\n MAILER_LOGO_URL: \"mailer_logo_url\",\n MAILER_FROM: \"mailer_from\",\n MAILER_COPYRIGHT: \"mailer_copyright\",\n MAIN_DEFAULT_MODULE: \"main_default_module\",\n MAILER_CUSTOM_SPA_CREATE: \"mailer_custom_spa_create\",\n MAILER_CUSTOM_SPA_MODIFY: \"mailer_custom_spa_modify\",\n MAILER_CUSTOM_SPA_DELETE: \"mailer_custom_spa_delete\",\n MAILER_CUSTOM_SPA_REMINDER: \"mailer_custom_spa_reminder\",\n PAYPAL_LIVE_CLIENT_ID: \"paypal_live_client_id\",\n PAYPAL_SANDBOX_CLIENT_ID: \"paypal_sandbox_client_id\",\n PAYPAL_LIVE_SECRET_ID: \"paypal_live_secret_id\",\n PAYPAL_SANDBOX_SECRET_ID: \"paypal_sandbox_secret_id\",\n PAYPAL_MODE: \"paypal_mode\",\n PAYFIP_CLIENT_ID: \"payfip_client_id\",\n PAYFIP_MODE: \"payfip_mode\",\n WEB_ESTABLISHMENT: \"web_establishment\",\n LOCKERS_AUTO_OPENING_HOUR: \"lockers_auto_opening_hour\",\n PLANNING_DAYS: \"planning_days\",\n STATS_SEASON: \"stats_season\",\n STATS_PERFORMANCE_TRESHOLDS: \"stats_performance_tresholds\",\n LOCKERS_AUTO_OPENING_DAYS: \"lockers_auto_opening_days\",\n EXTENDING_VALIDITY_DATE_FOR_SUBSCRIPTIONS: \"extending_validity_date_for_subscriptions\",\n BOOKING_OPENING_DATE: \"booking_opening_date\",\n BOOKING_TERMINAL_PLANNING_TYPE: \"booking_terminal_planning_type\",\n MAILER_CUSTOM_ACTIVITIES_CONFIRM: 'mailer_custom_activities_confirm\"',\n MAILER_CUSTOM_ACTIVITIES_CANCEL: \"mailer_custom_activities_cancel\",\n MAILER_CUSTOM_SALE_CONFIRMATION: \"mailer_custom_sale_confirmation\",\n MAILER_CUSTOM_SEND_ALL_DOCUMENTS: \"mailer_custom_send_all_documents\",\n SPA_ABSENCES_AMOUNT_WARNING: \"spa_absences_amount_warning\",\n QUOTATIONS_PAYMENT_TYPES_CREDIT_CARD: \"quotations_payment_types_credit_card\",\n QUOTATIONS_PAYMENT_TYPES_BANK_TRANSFER: \"quotations_payment_types_bank_transfer\",\n QUOTATIONS_PAYMENT_TYPES_DEFERRED: \"quotations_payment_types_deferred\",\n QUOTATIONS_EXPIRATION_DELAY: \"quotations_expiration_delay\",\n QUOTATIONS_SALES_EXPIRATION_DELAY: \"quotations_sales_expiration_delay\",\n QUOTATIONS_VOUCHERS_EXPIRATION_DELAY: \"quotations_vouchers_expiration_delay\",\n QUOTATIONS_MINIMUM_AMOUNT: \"quotations_minimum_amount\",\n EXIT_DELAY_BEFORE_PAY_LATER: 'exit_delay_before_pay_later',\n EXIT_DELAY_AFTER_PAY_LATER: 'exit_delay_after_pay_later',\n DENY_EMPTY_HOURLY_PASS_ON_EXIT: 'deny_empty_hourly_pass_on_exit',\n AUTO_POWEROFF_KIOSKS: 'auto_poweroff_kiosks',\n EXIT_UPDELAY_BEFORE_PAY_LATER_WITH_SPA_BOOKING: 'exit_updelay_before_pay_later_with_spa_booking',\n DURATION_EXIT_AUTH_AFTER_TIMESLOT: 'duration_exit_auth_after_timeslot',\n SAGE_EMAIL: 'sage_email',\n DEFAULT_OUT_TURNSTILE: 'default_out_turnstile',\n GENERATE_SHEET_AFTER_SALE_CONFIRMED: 'generate_sheet_after_sale_confirmed'\n },\n\n BOOKING_CHECK_CODES: {\n AUTHORIZED: \"\",\n // time limit to book a slot, after this slot has begun is passed --> params limit_time_for_booking\n TIME_PASSED: \"limit_time_passed\",\n // the slot on which a booking is being made should not be visible on the planning --> params number_of_week_visible\n SLOT_OUT_OF_VISIBILITY: \"slot_out_of_visibility\",\n // the client doesn't have a card with an eligible product for the slot\n NO_PRODUCT: \"no_product\",\n // the client doesn't have a (unit) voucher\n NO_VOUCHER: \"no_voucher\",\n // if the slot is restraint to a group(or groups), the client trying to book the slot doesn't belong to one of the authorized groups\n WRONG_CLIENT_GROUP: \"wrong_client_group\",\n // if the slot is restraint to a swiming level, the client doesn't have the level necessary\n LEVEL_NOT_GOOD: \"level_not_good\",\n // the client has reached the limit constraint of bookings\n BOOKING_CHECK_CODE_BOOKINGS_LIMIT_REACHED: \"bookings_limit_reached\",\n // The client has already booked the slot with success\n ALREADY_BOOKED: \"already_booked\",\n // No place available\n NO_PLACE_AVAILABLE: \"no_place_available\",\n // No place available for web booking\n NO_PLACE_AVAILABLE_WEB: \"no_place_available_web\",\n // Web booking mode not available on a slot\n WEB_MODE_UNAVAILABLE: \"web_mode_unavailable\",\n // When the client doesn't have the required age for the activity\n INCOMPATIBLE_AGE: \"incompatible_age\",\n // the wanted client subscription doesn't have enough quantity\n NOT_ENOUGH_QUANTITY: \"not_enough_quantity\",\n // the wanted client doesn't have enough units\n NOT_ENOUGH_UNITS: \"not_enough_units\",\n // the subscription is expired or will expire before slot start\n SUBSCRIPTION_EXPIRED: \"subscription_expired\",\n // When global booking start date not reached\n BOOKING_NOT_OPEN: \"booking_not_open\",\n // When the activity require a medicert and client doen't have one or one is expired\n MEDICERT_REQUIRED: \"medicert_required\",\n // When using a product that's not on client and can't recharge it to client account\n PRODUCT_UNRECHARGEABLE: \"product_unrechargeable\",\n // When the slot is part of a periodic session where single booking is not allowed\n PERIODIC_SLOT_UNALLOWED: \"unallowed periodic slot\"\n },\n\n BOOKING_RESTRICTION_MODES: {\n SLIDING: \"sliding\", // only future validated bookings are not taken into account\n BLOCKING: \"blocking\", // taking all validated bookings of the week into account\n GLOBAL: \"global\", // taking all validated bookings into account\n },\n\n BOOKING_TERMINAL_PLANNING_TYPES: {\n GROUPED_BY_ACTIVITY: \"grouped_by_activity\",\n MIXED_ACTIVITIES: \"mixed_activities\",\n },\n\n PUDDLE: {\n PAYMENT_RESULTS: {\n SUCCESS: \"success\",\n ABORTED: \"aborted\",\n REFUSED: \"refused\",\n ERROR: \"error\",\n },\n },\n\n PRINTER_PAPER_LEVELS: {\n FULL: \"full\",\n NEAR_END: \"near-end\",\n EMPTY: \"empty\",\n },\n\n FAMILIES_TYPES: {\n CASHREGISTER: \"cashregister\",\n KIOSK: \"kiosk\",\n WEB: \"web\",\n ACCESS_CONTROL: \"access-control\",\n STATS: \"stats\",\n EXPORT: \"export-financial\",\n DAILY: \"export-daily\",\n QUOTATION: \"quotation\",\n },\n\n CARD_TYPES: {\n QRCODE: \"QRCode\",\n WRISTBAND_QRCODE: \"wristband-QRCode\",\n },\n\n QUOTATIONS: {\n STATE: {\n DRAFT: 0,\n WAITING: 1,\n WAITING_BO: 6,\n VALIDATED: 2,\n REFUSED: 3,\n TO_PAY: 4,\n PAID: 5,\n },\n },\n\n PRICE_ORIGIN: {\n PRICE_ORIGIN_DEFAULT: 1,\n PRICE_ORIGIN_PRICING: 2,\n PRICE_ORIGIN_DISCOUNT: 3,\n PRICE_ORIGIN_MANUAL_PERCENT: 4,\n PRICE_ORIGIN_MANUAL_PRICE: 5,\n PRICE_ORIGIN_PRICING_DEGRESSIVE: 6,\n PRICE_ORIGIN_PRORATA: 7,\n },\n\n FAKE_PRODUCT_UNITS: \"UNITES\",\n GUEST_ACCOUNT_LABEL: \"Invité\",\n\n OFFERABLE_MODE: {\n NONE: 0,\n ALLOW: 1,\n FORCE: 2,\n },\n\n TRANSFER_TYPE: {\n TRANSFER: \"transfer\",\n RECUPERATION: \"recuperation\",\n },\n\n DISCOUNT_TYPES: {\n PERCENT: \"percent\",\n PRICE: \"price\",\n PRICE_BY_PRODUCT: \"price_by_product\",\n OFFERED_PRODUCTS: \"offered_products\",\n },\n\n DISCOUNT_CONDITION_TYPES: {\n OR: \"or\",\n AND: \"and\",\n EQ_PRODUCTS_AMOUNT: \"eq_products_amount\",\n GTE_PRODUCTS_AMOUNT: \"gte_products_amount\",\n GTE_SALE_TOTAL: \"gte_sale_total\",\n },\n\n TPE_CONNEXION_MODE: {\n WIRED: \"wired\",\n NETWORK: \"network\",\n WALLEE: \"wallee\",\n },\n\n TICKET_STATUS: [\n {\n id: \"new\",\n title: \"Nouveau\",\n color: \"red\",\n icon: \"alert\"\n },\n {\n id: \"in-progress\",\n title: \"Pris en charge\",\n color: \"deep-purple\",\n icon: \"account-arrow-left-outline\"\n },\n {\n id: \"waiting-feedback\",\n title: \"Attente de retour client\",\n color: \"blue\",\n icon: \"account-convert-outline\"\n },\n {\n id: \"fix-in-progress\",\n title: \"Résolution en cours\",\n color: \"orange\",\n icon: \"hammer-wrench\"\n },\n {\n id: \"dev-in-progress\",\n title: \"Développement en cours\",\n color: \"orange\",\n icon: \"cog-sync-outline\"\n },\n {\n id: \"on-hold\",\n title: \"En attente\",\n color: \"blue-grey\",\n icon: \"send-clock-outline\"\n },\n {\n id: \"evolution\",\n title: \"Demande d'évolution\",\n color: \"blue\",\n icon: \"frequently-asked-questions\"\n },\n {\n id: \"update\",\n title: \"Attente de mise à jour\",\n color: \"orange\",\n icon: \"update\"\n },\n {\n id: \"resolved\",\n title: \"Résolu\",\n color: \"green\",\n icon: \"check\"\n },\n {\n id: \"closed\",\n title: \"Clôturé\",\n color: \"green\",\n icon: \"check\"\n },\n {\n id: \"merged\",\n title: \"Fusionné\",\n color: \"purple\",\n icon: \"merge\",\n noReply: true\n },\n ],\n\n ACCESS_CONTROL_TYPE: {\n ACCESS_CONTROL_OTHER: 0,\n ACCESS_CONTROL_TURNSTILE_RFID: 1,\n ACCESS_CONTROL_TURNSTILE_QR: 2,\n ACCESS_CONTROL_DOOR_RFID: 3,\n ACCESS_CONTROL_DOOR_QR: 4,\n ACCESS_CONTROL_KIOSK_QR: 5,\n ACCESS_CONTROL_PUSH_BUTTON: 6,\n ACCESS_CONTROL_MOBILE: 7,\n ACCESS_CONTROL_KIOSK_RFID: 8,\n },\n\n MAIL_STATUS: [\n {\n id: \"unknown\",\n title: \"Status inconnu\",\n color: \"grey\"\n },\n {\n id: \"processed\",\n title: \"En cours de traitement\",\n color: \"\",\n },\n {\n id: \"queued\",\n title: \"En attente\",\n color: \"blue-grey\",\n },\n {\n id: \"sent\",\n title: \"Envoyé\",\n color: \"green\",\n },\n {\n id: \"opened\",\n title: \"Ouvert\",\n color: \"light-green\",\n },\n {\n id: \"clicked\",\n title: \"Cliqué\",\n color: \"light-green\",\n },\n {\n id: \"bounce\",\n title: \"Rebond\",\n color: \"orange\"\n },\n {\n id: \"spam\",\n title: \"SPAM\",\n color: \"orange\"\n },\n {\n id: \"unsub\",\n title: \"Désabonnements\",\n color: \"red\"\n },\n {\n id: \"blocked\",\n title: \"Bloqué\",\n color: \"brown\"\n },\n {\n id: \"softbounced\",\n title: \"Rebonds temporaires\",\n color: \"light-purple\"\n },\n {\n id: \"hardbounce\",\n title: \"Rebonds permanents\",\n color: \"pink\"\n },\n {\n id: \"deferred\",\n title: \"Différé\",\n color: \"purple\"\n },\n ],\n\n // Payment type flavours\n PAYMENTS_TYPES: {\n PAYMENT_FLAVOUR_CASH: 1,\n PAYMENT_FLAVOUR_CREDITCARD: 2,\n PAYMENT_FLAVOUR_CHECK: 3,\n PAYMENT_FLAVOUR_UNITS: 4,\n PAYMENT_FLAVOUR_TRANSFER: 5,\n PAYMENT_FLAVOUR_DEFERRED: 6,\n PAYMENT_FLAVOUR_COUPON: 7,\n PAYMENT_FLAVOUR_SAVINGS: 8,\n PAYMENT_FLAVOUR_OTHER: 9,\n PAYMENT_FLAVOUR_HOLIDAY_VOUCHER: 10,\n PAYMENT_FLAVOUR_SPORTS_COUPON: 11,\n PAYMENT_FLAVOUR_WEB: 12,\n PAYMENT_FLAVOUR_DEFERRED_EXTERNAL: 13,\n PAYMENT_FLAVOUR_OTHER_WITH_OVERPAID: 14,\n PAYMENT_FLAVOUR_DISTANCE_SELLING: 15,\n PAYMENT_FLAVOUR_MEAL_VOUCHER: 16,\n PAYMENT_FLAVOUR_WEB_INSTALLMENTS: 17,\n },\n\n // Value given to default qrcode for pass_qty subscription\n DEFAULT_QRCODE_ID: 'QRCode',\n WRISTBAND_QRCODE_ID: \"wristband-QRCode\",\n\n TRACKING_TYPES: {\n TRACKING_TYPE_SUBSCRIPTIONS: 1,\n TRACKING_TYPE_PURCHASES: 2,\n TRACKING_TYPE_PASSINGS: 3,\n TRACKING_TYPE_QUANTITIES: 4,\n TRACKING_TYPE_SPABOOKINGS: 5,\n TRACKING_TYPE_BOOKINGS: 6,\n TRACKING_TYPE_PERIODIC_BOOKINGS: 7,\n },\n\n SELLER_RIGHTS: {\n RIGHT_PARAMS: 1,\n RIGHT_SALES: 2,\n RIGHT_CHANGE_TYPE_PAYMENT: 3,\n RIGHT_CONSULT_PRODUCT: 4,\n RIGHT_CREDIT_NOTE: 5,\n RIGHT_CONSULT_SALES: 6,\n RIGHT_CLIENT_PLUS: 7,\n RIGHT_PRODUCT_PLUS: 8,\n RIGHT_EXPORT: 9,\n RIGHT_STATS: 10,\n RIGHT_PRICING_FAMILY: 11,\n RIGHT_KEYPAD: 12,\n RIGHT_PERIOD: 13,\n RIGHT_STAFF: 14,\n RIGHT_PROFIL: 15,\n RIGHT_GRAND_TOTAL: 16,\n RIGHT_JET: 17,\n RIGHT_CHANGE_PRICE_ON_LINE: 18,\n RIGHT_PAYMENT_LATER: 19,\n RIGHT_DISCOUNT: 20,\n RIGHT_STOCK: 21,\n RIGHT_PARAMS_SPE: 22,\n RIGHT_CORRECTION: 23,\n RIGHT_CHANGE_SALE_SELLER: 24,\n RIGHT_LOCKERS: 25,\n RIGHT_STOCK_TRANSFER: 26,\n RIGHT_MANUAL_CREDIT: 27,\n RIGHT_EDIT_SUB: 28,\n RIGHT_REPRINT_SALE_ACCESS_CONTROL_VOUCHERS: 29,\n }\n}\n","import subscriptionHelper from './subscriptions'\nimport {\n clientsGenders\n} from '../ui/client'\n\nimport dateHelpers from './date'\n\n\nexport default {\n clientsGender(x) {\n return clientsGenders.filter(elem => elem.value == x)\n },\n\n clientFullname(client) {\n if (!client) {\n return ''\n }\n\n if (client.OrgInfo && client.OrgInfo.Name) {\n if (client.Firstname || client.Lastname) {\n return client.OrgInfo.Name + ' (' + client.Firstname + ' ' + client.Lastname + ')'\n }\n\n return client.OrgInfo.Name\n }\n\n return client.Firstname + ' ' + client.Lastname\n },\n\n getCards(client) {\n const cards = []\n if (!client || !client.Cards) {\n return cards;\n }\n\n client.Cards.forEach(el => {\n if (el.CardNumber) {\n for (let i = 0; i < el.CardNumber.length; i++) {\n cards.push({\n CardNumber: el.CardNumber[i],\n AttributionDate: el.AttributionDate[i],\n CardType: el.CardType,\n Subscriptions: el.Subscriptions\n })\n }\n }\n })\n return cards\n },\n\n clientHasCardType(client, cardType){\n return client && client.Cards && client.Cards.some(c => c.CardType == cardType && c.CardNumber && c.CardNumber.length > 0)\n },\n\n clientHasCardTypeCompatibleForProduct(client, product){\n return product.Subscription && \n product.Subscription.CardType && \n client && \n client.Cards && \n client.Cards.some(c => product.Subscription.CardType.includes(c.CardType) && c.CardNumber && c.CardNumber.length > 0)\n },\n\n\n getSubscriptions(client, products) {\n const out = []\n if (!client || !client.Cards) {\n return out;\n }\n\n products = products === undefined ? [] : products\n var product\n if (client.Cards) {\n client.Cards.forEach(el => {\n if (el.Subscriptions){\n el.Subscriptions.forEach(s => {\n product = Array.isArray(products) ? products.find(p => p.ID === s.ProductID) : products[s.ProductID]\n out.push(Object.assign(s, { Product: product }))\n })\n }\n })\n }\n return out\n },\n\n getClientSubscription (cli, subscriptionID) {\n if (!cli || !cli.Cards) {\n return null\n }\n\n for (const card of cli.Cards) {\n if (card.Subscriptions) {\n for (const sub of card.Subscriptions) {\n if (sub.ID === subscriptionID) {\n return sub\n }\n }\n }\n }\n\n return null\n },\n\n clientHasValidSubscriptionWithProductID(client, productID, productsMap) {\n if (!client.Cards) {\n return\n }\n\n return client.Cards.some(c => c.Subscriptions && c.Subscriptions.some(s => s.ProductID === productID && subscriptionHelper.isSubscriptionValid(s, productsMap)))\n },\n\n clientHasRequiredLevelForSlot (client, slot) {\n if (!slot.Levels || slot.Levels.length === 0) {\n return true\n }\n\n return client.ActivitiesLevels && client.select.ActivitiesLevels.some(l => l.ActivityID === slot.ActivityID.ID && slot.Levels.includes(l.LevelID))\n },\n\n isClientLevelGoodForSlot (client, slot) {\n if (!slot.Levels || slot.Levels.length === 0) {\n return true\n }\n\n for (let level of slot.ActivityLevels){\n if(level.Required && !client.ActivityLevels.some(l => l.ActivityID === slot.ActivityID && l.LevelID === level.ID)){\n // Level is required and client doesn't have it\n return false\n }\n }\n\n return true\n },\n\n currentClientPricingID(client, currentPeriodID){\n let pricingID\n // get currently active client pricing\n if (client.Pricings && client.Pricings.length > 0) {\n let accountPricing = client.Pricings.find(p => dateHelpers.isPast(p.From) && (!p.To || dateHelpers.isFuture(p.To)))\n if (accountPricing){\n return accountPricing.PricingID\n }\n } else if (currentPeriodID && client.Pricing && client.Pricing[currentPeriodID]){\n return client.Pricing[currentPeriodID]\n } \n\n return pricingID || 'DEFAULT'\n },\n\n updateClientPricing(client, newPricing){\n if (!newPricing) {\n return;\n }\n\n if (!client.Pricings){\n client.Pricings = []\n }\n\n let currentClientPricingIndex = client.Pricings.findIndex(p => this.isPast(p.From) && (!p.To || this.isFuture(p.To)))\n // end the current client pricing if not starting today\n if (currentClientPricingIndex >= 0){\n if (this.isToday(client.Pricings[currentClientPricingIndex].From)){\n client.Pricings.splice(currentClientPricingIndex, 1)\n } else {\n client.Pricings[currentClientPricingIndex].To = this.formatDateAPI()\n }\n }\n\n // add the new pricing\n if (newPricing.ID !== \"DEFAULT\"){\n client.Pricings.push({\n From: this.formatDateAPI(),\n To: newPricing.Validity ? this.formatDateAPI(this.addToDateTime(undefined, newPricing.Validity, 'months')) : null,\n PricingID: newPricing.ID,\n })\n }\n\n // for compatibility, set the pricingID to the current period\n this.$set(client.Pricing, this.currentPeriod.ID, newPricing.ID)\n\n return client\n },\n}\n","import moment from 'moment'\nimport 'moment/dist/locale/fr'\n\nmoment.locale('fr')\n\nexport default {\n formatDate (d, format = 'DD/MM/YYYY') {\n return moment(d).format(format)\n },\n changeDateFormat (d, fIn, fOut) {\n return moment(d, fIn).format(fOut)\n },\n durationBetweenDates (d1, d2) {\n return this.formatDurationInSecondsHuman(moment(d2).diff(moment(d1), 'seconds'))\n },\n\n formatDurationInMinutesHuman (d) {\n // d is in minutes\n const abs = d >= 0 ? d : -d\n const minutes = abs % 60\n const hours = (abs - minutes) / 60\n if (hours === 0) {\n return minutes + ' min'\n } else {\n return (d < 0 ? '-' : '') + hours + ' h ' + (minutes > 0 ? minutes + ' min' : '')\n }\n },\n\n inHours (min) {\n if (min < 60) {\n return min + 'min'\n }\n const minutes = min % 60\n const hours = (min - minutes) / 60\n return hours + 'h' + (minutes < 10 ? '0' : '') + minutes + 'min'\n },\n\n formatDurationInSecondsHuman (d) {\n let abs = d >= 0 ? d : -d\n var hours = Math.floor(abs / 3600) % 24\n abs -= hours * 3600\n var minutes = Math.floor(abs / 60) % 60\n abs -= minutes * 60\n var seconds = abs % 60\n\n if (minutes === 0) {\n return seconds + ' s'\n } else if (hours === 0) {\n return minutes + ' min ' + seconds + ' s'\n } else {\n return (d < 0 ? '-' : '') + hours + ' h ' + minutes + ' min ' + (seconds > 0 ? seconds + ' s' : '')\n }\n },\n formatDateAPI (d) {\n return moment(d).format()\n },\n formatDateUS (d) {\n return moment(d).format('YYYY-MM-DD')\n },\n formatBirthDate (date) {\n const parsedDate = moment(date)\n if (!parsedDate.isValid() || parsedDate.year() <= 1901) {\n return ''\n } else {\n return parsedDate.format('DD/MM/YYYY')\n }\n },\n isDateFormatValid (date, format) {\n return moment(date, format, true).isValid()\n },\n formatDateTime (d) {\n return moment(d).format('DD/MM/YYYY HH:mm')\n },\n formatDateTimeFile (d) {\n return moment(d).format('DD.MM.YYYY-HH:mm')\n },\n formatDateTimeSeconds (d) {\n return moment(d).format('DD/MM/YYYY HH:mm:ss')\n },\n formatDateHuman (d) {\n return moment(d).format('ddd DD MMM YYYY')\n },\n formatDateWeek (d) {\n return moment(d).format('MMM YYYY ([S]WW)')\n },\n formatHumanBirthDate (date) {\n const parsedDate = moment(date)\n if (!parsedDate.isValid() || parsedDate.year() <= 1901) {\n return ''\n } else {\n return this.formatDateHuman(date)\n }\n },\n formatDateTimeHuman (d) {\n return moment(d).format('ddd DD MMM YYYY, HH:mm')\n },\n formatTime (d) {\n return moment(d).format('HH:mm')\n },\n formatTimeSecs (d) {\n return moment(d).format('HH:mm:ss')\n },\n formatHourShort (d) {\n return moment(d).format('HH') + 'h'\n },\n formatWeekDay (d) {\n return moment(d).format('dddd')\n },\n formatWeekNumber (d) {\n return moment(d).format('W')\n },\n parseDate (d) {\n const date = moment(d, 'DD/MM/YYYY')\n if (date.isValid()) {\n return date.format('YYYY-MM-DD')\n } else {\n return ''\n }\n },\n addToDateTime (d, unit, type) {\n return moment(d).add(unit, type)\n },\n prevDay (d) {\n return moment(d).subtract(1, 'days').format('YYYY-MM-DD')\n },\n nextDay (d) {\n return moment(d).add(1, 'days').format('YYYY-MM-DD')\n },\n prevWeek (d) {\n return moment(d).subtract(1, 'week').format('YYYY-MM-DD')\n },\n nextWeek (d) {\n return moment(d).add(1, 'week').format('YYYY-MM-DD')\n },\n nextMonth (d) {\n return moment(d).add(1, 'month').format('YYYY-MM-DD')\n },\n isThisHour (hour) {\n return parseInt(moment().format('HH'), 10) === parseInt(hour, 10)\n },\n isToday (date) {\n return moment(date).format('YYYY-MM-DD') === moment().format('YYYY-MM-DD')\n },\n isAfter (d1, d2) {\n return moment(d1).isAfter(moment(d2))\n },\n isBefore (d1, d2) {\n return moment(d1).isBefore(moment(d2))\n },\n timeNow () {\n return moment().format('HH:mm')\n },\n dateNow () {\n return moment().format('YYYY-MM-DD')\n },\n datetimeNow () {\n return moment().format('DD/MM/YYYY HH:mm:ss')\n },\n isFuture (d) {\n return moment(d).isSameOrAfter(moment())\n },\n isPast (d) {\n return moment(d).isBefore(moment())\n },\n compareDate (d1, d2) {\n return moment(d1).isSame(moment(d2)) ? 0 : moment(d1).isBefore(moment(d2)) ? -1 : 1\n },\n compareDateDesc (d1, d2) {\n return moment(d1).isSame(moment(d2)) ? 0 : moment(d1).isAfter(moment(d2)) ? -1 : 1\n },\n getAge (date) {\n const parsedDate = moment(date)\n if (!parsedDate.isValid() || parsedDate.year() <= 1901) {\n return ''\n } else {\n return moment().diff(parsedDate, 'years')\n }\n },\n getWeekdayLabel (dayNumber, locale = 'fr') {\n switch (dayNumber) {\n case 0:\n if (locale === 'fr') {\n return 'Dimanche'\n } else {\n return 'Sunday'\n }\n case 1:\n if (locale === 'fr') {\n return 'Lundi'\n } else {\n return 'Monday'\n }\n case 2:\n if (locale === 'fr') {\n return 'Mardi'\n } else {\n return 'Tuesday'\n }\n case 3:\n if (locale === 'fr') {\n return 'Mercredi'\n } else {\n return 'Wednesday'\n }\n case 4:\n if (locale === 'fr') {\n return 'Jeudi'\n } else {\n return 'Thursday'\n }\n case 5:\n if (locale === 'fr') {\n return 'Vendredi'\n } else {\n return 'Friday'\n }\n case 6:\n if (locale === 'fr') {\n return 'Samedi'\n } else {\n return 'Saturday'\n }\n }\n },\n getGolangWeekday (date) {\n const isoWeekday = moment(date).isoWeekday()\n switch (isoWeekday) {\n case 7: return 0 // In Golang, Sunday is 0 - Saturday 6\n default: return isoWeekday\n }\n },\n getWeekdayFromGolang (weekday) {\n switch (weekday) {\n case 0: return 7 // see getGolangWeekday\n default: return weekday\n }\n },\n getWeekNumber (date) {\n return moment(date).week()\n },\n getMonthLabel (m) {\n return moment.months()[m - 1]\n },\n getMonthShortLabel (m) {\n return moment.monthsShort()[m - 1]\n },\n formatDay (date) {\n return moment(date).format('dddd')\n },\n getDateDay (date, format) {\n return moment(date, format).day()\n },\n getDateMonth (date, format) {\n return moment(date, format).month()\n },\n isZeroDate (d) {\n return d == null || moment(d).format('YYYY-MM-DD') == '0001-01-01'\n },\n isSameDay (d1, d2) {\n return moment(d1).format('YYYY-MM-DD') === moment(d2).format('YYYY-MM-DD')\n },\n getDateAtWeekdayAfter (dateRef, weekday) {\n dateRef = moment(dateRef)\n let refDateWeekday = dateRef.weekday()\n\n let daysToAdd = 0\n if (refDateWeekday < weekday) {\n daysToAdd = weekday - refDateWeekday\n } else if (refDateWeekday > weekday) {\n daysToAdd = 7 - (refDateWeekday - weekday)\n }\n\n return dateRef.add(daysToAdd, 'days').format()\n },\n\n getDateAtWeekdayBefore (dateRef, weekday) {\n dateRef = moment(dateRef)\n let refDateWeekday = dateRef.weekday()\n\n let daysToSub = 0\n if (refDateWeekday > weekday) {\n daysToSub = refDateWeekday - weekday\n } else if (refDateWeekday < weekday) {\n // we must slice a week\n daysToSub = 7 - (weekday + refDateWeekday)\n }\n\n return dateRef.add(-daysToSub, 'days')\n },\n currentDate () {\n return moment().format('DD/MM/YYYY')\n },\n yesterday () {\n return moment().add(-1, 'days').format('DD/MM/YYYY')\n },\n previousWeekStart () {\n return moment().subtract(1, 'week').startOf('week').format('DD/MM/YYYY')\n },\n previousWeekEnd () {\n return moment().subtract(1, 'week').endOf('week').format('DD/MM/YYYY')\n },\n currentWeekStart () {\n return moment().startOf('week').format('DD/MM/YYYY')\n },\n currentWeekEnd () {\n return moment().endOf('week').format('DD/MM/YYYY')\n },\n previousMonthStart () {\n return moment().subtract(1, 'month').startOf('month').format('DD/MM/YYYY')\n },\n previousMonthEnd () {\n return moment().subtract(1, 'month').endOf('month').format('DD/MM/YYYY')\n },\n currentMonthStart () {\n return moment().startOf('month').format('DD/MM/YYYY')\n },\n currentMonthEnd () {\n return moment().endOf('month').format('DD/MM/YYYY')\n },\n currentYearStart () {\n return moment().startOf('year').format('DD/MM/YYYY')\n },\n currentYearEnd () {\n return moment().endOf('year').format('DD/MM/YYYY')\n },\n previousYearStart () {\n return moment().subtract(1, 'year').startOf('year').format('DD/MM/YYYY')\n },\n previousYearEnd () {\n return moment().subtract(1, 'year').endOf('year').format('DD/MM/YYYY')\n },\n inHours (min) {\n if (min < 60) {\n return min + 'min'\n }\n const minutes = min % 60\n const hours = (min - minutes) / 60\n return hours + 'h' + (minutes < 10 ? '0' : '') + minutes + 'min'\n },\n startOfDay (date) {\n return moment(date).startOf('day').format()\n },\n endOfDay (date) {\n return moment(date).endOf('day').format()\n },\n}\n","import Decimal from \"decimal.js\"\nimport { isNumeric, isPositive, isPositiveOrZero, isInteger, isValidEmail } from \"./utils\"\n\nexport default {\n requiredRule: v => !!v || 'Ce champ est requis',\n isIntegerRule: v => isInteger(v) || 'Cette valeur doit être entière',\n isPositiveRule: v => isPositive(v) || 'Cette valeur doit être supérieure à zéro',\n isIntegerOrNullRule: v => (!v || isInteger(v)) || 'Cette valeur doit être entière',\n isPositiveOrNullRule: v => (!v || isPositive(v)) || 'Cette valeur doit être supérieure à zéro',\n isPositiveOrZeroRule: v => isPositiveOrZero(v) || 'Cette valeur doit être supérieure ou égale à zéro',\n isNumericRule: v => isNumeric(v) || 'Cette valeur doit être numérique',\n isNumericOrNullRule: v => (!v || isNumeric(v)) || 'Cette valeur doit être numérique',\n isGreatherThanRule: c => v => parseFloat(v) > c || `Cette valeur doit être supérieure à ${new Decimal(c).toFixed(2)}`,\n isGreatherOrEqualRule: c => (v, decimals) => parseFloat(v) >= c || `Cette valeur doit être supérieure ou égale à ${new Decimal(c).toFixed(decimals || 2)}`,\n isLessThanRule: c => v => parseFloat(v) < c || `Cette valeur doit être inférieure à ${new Decimal(c).toFixed(2)}`,\n isLessOrEqualRule: c => v => parseFloat(v) <= c || `Cette valeur doit être inférieure ou égale à ${new Decimal(c).toFixed(2)}`,\n isEmailRule: v => isValidEmail(v) || \"L'email doit être valide\",\n isEmailOrNullRule: v => (!v || isValidEmail(v)) || \"L'email doit être valide\"\n}\n","import moment from 'moment'\nimport consts from '../consts'\nimport constants from '../consts'\n\nexport default {\n defaultParams (type) {\n let params = {\n autoPoweroffKiosks: true\n }\n\n if (type === 'spa' || type === undefined) {\n params = Object.assign(params, {\n spaPlanningsStartHour: 7,\n spaPlanningsStartMin: 0,\n spaPlanningsEndHour: 21,\n spaPlanningsEndMin: 0,\n spaHumanConfirmation: false,\n spaShowShortLabel: false,\n spaAbsencesAmountWarning: 0\n })\n }\n\n if (type === 'main' || type === undefined) {\n params = Object.assign(params, {\n mainDefaultModule: 'planning',\n bookingCancellationDaysLimit: 2\n })\n }\n\n if (type === 'front-office' || type === undefined) {\n params = Object.assign(params, {\n // paypal\n paypalEnabled: false,\n paypalLiveClientId: \"\",\n paypalSandboxClientId: \"\",\n paypalLiveSecretId: \"\",\n paypalSandboxSecretId: \"\",\n paypalMode: \"live\",\n\n // payfip\n payfipEnabled: false,\n payfipClientId: \"\",\n payfipMode: \"W\",\n\n webEstablishment: \"\"\n })\n }\n\n if (type === 'mailer' || type === undefined) {\n params = Object.assign(params, {\n mailerWebsiteName: 'Streamlor',\n mailerWebsiteLink: 'https://www.streamlor.io/',\n mailerLogoUrl: 'https://www.streamlor.io/wp-content/uploads/2019/05/logo_streamlor.png',\n mailerFrom: 'noreply@streamlor.io',\n mailerCopyright: 'Copyright 2019 STREAMLOR.IO ©',\n mailerCustomSpaCreate: \"\",\n mailerCustomSpaModify: \"\",\n mailerCustomSpaDelete: \"\",\n mailerCustomSpaReminder: \"\",\n mailerCustomSaleConfirmation: \"\"\n })\n }\n\n if (type === 'smser' || type === undefined) {\n params = Object.assign(params, {\n // global SMS context\n smserSender: '',\n smserGroupBy: constants.SMS.BY_ACTIVITY,\n // messages\n smserCustomMessageSpaBookings: '',\n smserAwaitingResponseSpaBookings: true,\n // related operator's client's informations\n smserOperator: constants.SMS.OPERATOR_UNKNOWN,\n smserEndpoint: '',\n smserApplicationKey: '',\n smserApplicationSecret: '',\n smserConsumerKey: '',\n smserSelectedService: ''\n })\n }\n\n if (type === 'planning' || type === undefined) {\n params = Object.assign(params, {\n planningStartHour: 7,\n planningStartMin: 0,\n planningEndHour: 21,\n planningEndMin: 0,\n planningDays: [1, 2, 3, 4, 5, 6, 0],\n planningShowFilling: true,\n bookingOpeningDate: moment().format('YYYY-MM-DD'),\n numberOfWeekVisible: 4,\n slotVisibilityUnlockWeekday: 1,\n slotVisibilityUnlockTime: \"08:00\",\n cancellingDelay: 24,\n limitTimeForBooking: 5,\n extendingValidityDateForSubscriptions: false,\n hoursBeforeImmediateBooking: 4,\n maxImmediateBookingsByDay: 0,\n bookingsLimit: 5,\n bookingsLimitNormalConstraint: 5,\n bookingsLimitHighConstraint: 2,\n bookingsLimitMode: constants.BOOKING_RESTRICTION_MODES.SLIDING,\n })\n }\n\n if (type === 'turnstiles' || type === undefined) {\n params = Object.assign(params, {\n bookingMarginMinutes: 40,\n subscriptionPassingDelayMinutes: 10,\n timePassMinDebit: 1,\n timePassMinRemaining: 1,\n timePassMinStop: 0,\n uniqueDebitPerZone: 0,\n requireCovidPass: 0,\n covidPassingDelayMinutes: 30,\n enableLateExitPenalty: 0,\n denyEmptyHourlyPassOnExit: false,\n lateExitDelay: 30,\n lateExitBookingTolerance: 120,\n enableSubExpirationBookingCheck: 0,\n bookingValidatesEntireDay: 0,\n exitDelayBeforePayLater: 10,\n exitDelayAfterPayLater: 5,\n exitUpdelayBeforePayLaterWithSpaBooking: 2,\n durationExitAuthAfterTimeslot: 480\n })\n }\n\n if (type === 'exports' || type === undefined) {\n params = Object.assign(params, {\n sageEmail: \"\",\n })\n }\n\n if (type === 'vouchers' || type === undefined) {\n params = Object.assign(params, {\n generateSheetAfterSaleConfirmed: false,\n })\n }\n\n if (type === 'stats' || type === undefined) {\n params = Object.assign(params, {\n statsExportsExcelDisplayNoData: false,\n statsSeason: { start: '01/01', end: '31/12' },\n statsPerformanceTresholds: { first: 25, second: 50, third: 75 }\n })\n }\n\n if (type === 'lockers' || type === undefined) {\n params = Object.assign(params, {\n lockersDelayBetweenReservations: 5,\n lockersBlockOpeningIfLate: false,\n lockersScheduledHistoryFetch: [],\n lockersIntervalBetweenGatewayLoops: 2,\n lockersUniqueMasterCode: true,\n lockersGlobalMasterCode: '000000',\n lockersBuzzer: false,\n lockersBlockOnFails: false,\n lockersAutoOpening: false,\n lockersAutoOpeningHour: '00:00',\n lockersAutoOpeningDays: [],\n lockersAutoClosing: false,\n lockersLed: 3\n })\n }\n\n if (type === 'quotations' || type === undefined) {\n params = Object.assign(params, {\n quotationsPaymentTypesCreditCard: true,\n quotationsPaymentTypesDeferred: true,\n quotationsPaymentTypesBankTransfer: true,\n quotationsExpirationDelay: 90,\n quotationsSalesExpirationDelay: 30,\n quotationsVouchersExpirationDelay: 30,\n quotationsMinimumAmount: 0,\n })\n }\n\n return params\n },\n\n formatParams (data, type) {\n /* Default values */\n const formattedParams = this.defaultParams(type)\n\n data.forEach((p) => {\n let res = this.formatParam(p)\n if (res.value != null) {\n formattedParams[res.key] = res.value\n }\n })\n\n return formattedParams\n },\n\n formatParam (p) {\n const camelCaseName = p.ID.replace(/([-_][a-z])/ig, ($1) => {\n return $1.toUpperCase()\n .replace('-', '')\n .replace('_', '')\n })\n\n let res = { key: camelCaseName, value: null }\n\n switch (p.ID) {\n /* int */\n case consts.RESA_PARAMS.SMSER_GROUP_BY:\n case consts.RESA_PARAMS.SMSER_OPERATOR:\n case consts.RESA_PARAMS.SPA_PLANNINGS_START_HOUR:\n case consts.RESA_PARAMS.SPA_PLANNINGS_START_MIN:\n case consts.RESA_PARAMS.SPA_PLANNINGS_END_HOUR:\n case consts.RESA_PARAMS.SPA_PLANNINGS_END_MIN:\n case consts.RESA_PARAMS.PLANNING_START_HOUR:\n case consts.RESA_PARAMS.PLANNING_START_MIN:\n case consts.RESA_PARAMS.PLANNING_END_HOUR:\n case consts.RESA_PARAMS.PLANNING_END_MIN:\n case consts.RESA_PARAMS.BOOKING_MARGIN_MINUTES:\n case consts.RESA_PARAMS.NUMBER_OF_WEEK_VISIBLE:\n case consts.RESA_PARAMS.SLOT_VISIBILITY_UNLOCK_WEEKDAY:\n case consts.RESA_PARAMS.CANCELLING_DELAY:\n case consts.RESA_PARAMS.LIMIT_TIME_FOR_BOOKING:\n case consts.RESA_PARAMS.HOURS_BEFORE_IMMEDIATE_BOOKING:\n case consts.RESA_PARAMS.MAX_IMMEDIATE_BOOKINGS_BY_DAY:\n case consts.RESA_PARAMS.MAX_ACTIVE_BOOKINGS:\n case consts.RESA_PARAMS.SUBSCRIPTION_PASSING_DELAY_MINUTES:\n case consts.RESA_PARAMS.TIME_PASS_MIN_DEBIT:\n case consts.RESA_PARAMS.TIME_PASS_MIN_REMAINING:\n case consts.RESA_PARAMS.TIME_PASS_MIN_STOP:\n case consts.RESA_PARAMS.UNIQUE_DEBIT_PER_ZONE:\n case consts.RESA_PARAMS.BOOKING_CANCELLATION_DAYS_LIMIT:\n case consts.RESA_PARAMS.ANONYMIZE_DELAY:\n case consts.RESA_PARAMS.REQUIRE_COVID_PASS:\n case consts.RESA_PARAMS.DELAY_BETWEEN_RESERVATIONS:\n case consts.RESA_PARAMS.INTERVAL_BETWEEN_GATEWAY_LOOPS:\n case consts.RESA_PARAMS.USERCODE_LENGTH:\n case consts.RESA_PARAMS.ENABLE_LATE_EXIT_PENALTY:\n case consts.RESA_PARAMS.LATE_EXIT_DELAY:\n case consts.RESA_PARAMS.LATE_EXIT_BOOKING_TOLERANCE:\n case consts.RESA_PARAMS.ENABLE_SUB_EXPIRATION_BOOKING_CHECK:\n case consts.RESA_PARAMS.BOOKING_VALIDATES_ENTIRE_DAY:\n case consts.RESA_PARAMS.LOCKERS_LED:\n case consts.RESA_PARAMS.COVID_PASSING_DELAY_MINUTES:\n case consts.RESA_PARAMS.LOCKERS_DELAY_BETWEEN_RESERVATIONS:\n case consts.RESA_PARAMS.SPA_ABSENCES_AMOUNT_WARNING:\n case consts.RESA_PARAMS.QUOTATIONS_EXPIRATION_DELAY:\n case consts.RESA_PARAMS.QUOTATIONS_SALES_EXPIRATION_DELAY:\n case consts.RESA_PARAMS.QUOTATIONS_VOUCHERS_EXPIRATION_DELAY:\n case consts.RESA_PARAMS.QUOTATIONS_MINIMUM_AMOUNT:\n case consts.RESA_PARAMS.EXIT_DELAY_BEFORE_PAY_LATER:\n case consts.RESA_PARAMS.EXIT_DELAY_AFTER_PAY_LATER:\n case consts.RESA_PARAMS.EXIT_UPDELAY_BEFORE_PAY_LATER_WITH_SPA_BOOKING:\n case consts.RESA_PARAMS.DURATION_EXIT_AUTH_AFTER_TIMESLOT:\n if (p.Value !== '') res.value = parseInt(p.Value, 10)\n break\n /* boolean */\n case consts.RESA_PARAMS.SMSER_AWAITING_RESPONSE_SPA_BOOKINGS:\n case consts.RESA_PARAMS.SPA_HUMAN_CONFIRMATION:\n case consts.RESA_PARAMS.SPA_SHOW_SHORT_LABEL:\n case consts.RESA_PARAMS.PLANNING_SHOW_FILLING:\n case consts.RESA_PARAMS.PAYPAL_ENABLED:\n case consts.RESA_PARAMS.PAYFIP_ENABLED:\n case consts.RESA_PARAMS.DENY_EMPTY_HOURLY_PASS_ON_EXIT:\n case consts.RESA_PARAMS.STATS_EXPORTS_EXCEL_DISPLAY_NO_DATA:\n case consts.RESA_PARAMS.LOCKERS_UNIQUE_MASTER_CODE:\n case consts.RESA_PARAMS.LOCKERS_BUZZER:\n case consts.RESA_PARAMS.LOCKERS_BLOCK_ON_FAILS:\n case consts.RESA_PARAMS.LOCKERS_AUTO_OPENING:\n case consts.RESA_PARAMS.LOCKERS_AUTO_CLOSING:\n case consts.RESA_PARAMS.LOCKERS_BLOCK_BUZZER:\n case consts.RESA_PARAMS.LOCKERS_BLOCK_BLOCK_ON_FAILS:\n case consts.RESA_PARAMS.LOCKERS_BLOCK_AUTO_OPENING:\n case consts.RESA_PARAMS.LOCKERS_BLOCK_AUTO_CLOSING:\n case consts.RESA_PARAMS.LOCKERS_BLOCK_OPENING_IF_LATE:\n case consts.RESA_PARAMS.QUOTATIONS_PAYMENT_TYPES_CREDIT_CARD:\n case consts.RESA_PARAMS.QUOTATIONS_PAYMENT_TYPES_BANK_TRANSFER:\n case consts.RESA_PARAMS.QUOTATIONS_PAYMENT_TYPES_DEFERRED:\n case consts.RESA_PARAMS.AUTO_POWEROFF_KIOSKS:\n case consts.RESA_PARAMS.GENERATE_SHEET_AFTER_SALE_CONFIRMED:\n res.value = p.Value === 'true'\n break\n /* string */\n case consts.RESA_PARAMS.SMSER_SENDER:\n case consts.RESA_PARAMS.SMSER_CUSTOM_MESSAGE_SPA_BOOKINGS:\n case consts.RESA_PARAMS.SMSER_ENDPOINT:\n case consts.RESA_PARAMS.SMSER_APPLICATION_KEY:\n case consts.RESA_PARAMS.SMSER_APPLICATION_SECRET:\n case consts.RESA_PARAMS.SMSER_CONSUMER_KEY:\n case consts.RESA_PARAMS.SLOT_VISIBILITY_UNLOCK_TIME:\n case consts.RESA_PARAMS.SMSER_SELECTED_SERVICE:\n case consts.RESA_PARAMS.MAILER_WEBSITE_NAME:\n case consts.RESA_PARAMS.MAILER_WEBSITE_LINK:\n case consts.RESA_PARAMS.MAILER_LOGO_URL:\n case consts.RESA_PARAMS.MAILER_FROM:\n case consts.RESA_PARAMS.MAILER_COPYRIGHT:\n case consts.RESA_PARAMS.MAIN_DEFAULT_MODULE:\n case consts.RESA_PARAMS.MAILER_CUSTOM_SPA_CREATE:\n case consts.RESA_PARAMS.MAILER_CUSTOM_SPA_MODIFY:\n case consts.RESA_PARAMS.MAILER_CUSTOM_SPA_DELETE:\n case consts.RESA_PARAMS.MAILER_CUSTOM_SPA_REMINDER:\n case consts.RESA_PARAMS.PAYPAL_LIVE_CLIENT_ID:\n case consts.RESA_PARAMS.PAYPAL_SANDBOX_CLIENT_ID:\n case consts.RESA_PARAMS.PAYPAL_LIVE_SECRET_ID:\n case consts.RESA_PARAMS.PAYPAL_SANDBOX_SECRET_ID:\n case consts.RESA_PARAMS.PAYPAL_MODE:\n case consts.RESA_PARAMS.PAYFIP_CLIENT_ID:\n case consts.RESA_PARAMS.PAYFIP_MODE:\n case consts.RESA_PARAMS.WEB_ESTABLISHMENT:\n case consts.RESA_PARAMS.LOCKERS_AUTO_OPENING_HOUR:\n case consts.RESA_PARAMS.EXTENDING_VALIDITY_DATE_FOR_SUBSCRIPTIONS:\n case consts.RESA_PARAMS.BOOKING_TERMINAL_PLANNING_TYPE:\n case consts.RESA_PARAMS.MAILER_CUSTOM_ACTIVITIES_CONFIRM:\n case consts.RESA_PARAMS.MAILER_CUSTOM_ACTIVITIES_CANCEL:\n case consts.RESA_PARAMS.MAILER_CUSTOM_SALE_CONFIRMATION:\n case consts.RESA_PARAMS.MAILER_CUSTOM_SEND_ALL_DOCUMENTS:\n case consts.RESA_PARAMS.SAGE_EMAIL:\n case consts.RESA_PARAMS.DEFAULT_OUT_TURNSTILE:\n res.value = p.Value\n break\n /* json */\n case consts.RESA_PARAMS.PLANNING_DAYS:\n case consts.RESA_PARAMS.STATS_SEASON:\n case consts.RESA_PARAMS.STATS_PERFORMANCE_TRESHOLDS:\n case consts.RESA_PARAMS.LOCKERS_AUTO_OPENING_DAYS:\n case consts.RESA_PARAMS.LOCKERS_SCHEDULED_HISTORY_FETCH:\n res.value = JSON.parse(p.Value)\n break\n /* dates */\n case consts.RESA_PARAMS.BOOKING_OPENING_DATE:\n if (p.Value !== '') res.value = moment(p.Value).format('YYYY-MM-DD')\n break\n }\n\n return res\n },\n\n formatGlobalParams (params) {\n var formattedParams = {}\n for (let p of params) {\n switch (p.ID) {\n /* string */\n case constants.GLOBAL_PARAMS.PARAM_TICKET_TEMPLATE:\n break\n }\n\n formattedParams[p.ID] = p\n }\n\n return formattedParams\n },\n\n parseParams (params) {\n let parsedParams = []\n\n for (let id in params) {\n let value = params[id]\n switch (typeof value) {\n case \"number\":\n case \"boolean\":\n value = value.toString()\n break\n case \"object\":\n value = JSON.stringify(value)\n break\n }\n parsedParams.push({\n ID: id.split(/(?=[A-Z])/).join('_').toLowerCase(),\n Value: value\n })\n }\n\n return parsedParams\n },\n}\n","import date from './date'\nimport constants from '../consts'\n\nvar self = {\n isSubscriptionValid(subscription, productData) {\n let product\n if (!productData){\n console.warn(\"Cannot check product subscription type for \"+subscription.ID+\", please provide product map\")\n } else {\n product = productData.ID == subscription.ProductID ? productData : productData[subscription.ProductID]\n }\n\n return (\n (!subscription.Discontinued && !subscription.Paused) &&\n (subscription.SubscriptionLimitDate == null || date.isFuture(subscription.SubscriptionLimitDate)) &&\n (subscription.SubscriptionStartDate == null || date.isPast(subscription.SubscriptionStartDate)) &&\n (subscription.Quantity > 0 || (product && product.Subscription && product.Subscription.Type === constants.SUBSCRIPTION_TYPE_SUBSCRIPTION))\n );\n },\n\n\n isSubscriptionCompatibleFor(subscription, bookingSlot, activity) {\n return (\n bookingSlot.Products.includes(subscription.ProductID) || (activity && activity.Products.includes(subscription.ProductID))\n );\n },\n\n // getClientCompatibleSubscriptions search for non-expired subscriptions on client that are compatible with the booking slot\n getClientCompatibleSubscriptions(client, bookingSlot, activity, productsMap) {\n if(!client || !client.Cards) {\n return []\n }\n const subs = []\n for (const c of client.Cards) {\n if(!c.Subscriptions){\n continue\n }\n for (const s of c.Subscriptions) {\n if (this.isSubscriptionValidFor(s, bookingSlot, activity, productsMap)) {\n subs.push(s)\n }\n }\n }\n\n return subs // TODO: sort by priority\n },\n\n isSubscriptionValidFor(subscription, bookingSlot, activity, productsMap) {\n return (\n self.isSubscriptionValid(subscription, productsMap) && self.isSubscriptionCompatibleFor(subscription, bookingSlot, activity)\n );\n },\n\n getCardsValidSubscriptionsFor(cards, slot, activity, productsMap) {\n var subscriptions = []\n for (let card of cards) {\n for (let subscription of card.Subscriptions) {\n if (self.isSubscriptionValidFor(subscription, slot, activity, productsMap)) subscriptions.push(subscription)\n }\n }\n\n return subscriptions\n },\n\n cardsHasValidSubscriptionFor(cards, slot, activity, productsMap) {\n for (var card of cards) {\n for (var subscription of card.Subscriptions) {\n if (self.isSubscriptionValidFor(subscription, slot, activity, productsMap)) {\n return true;\n }\n }\n }\n\n return false\n },\n\n subscriptionQuantity(sub, product) {\n product = sub.Product || product\n if (product && product.Subscription && product.Subscription.Type === constants.SUBSCRIPTION_TYPE_PASS_H) {\n if (sub.Quantity < 60) {\n return sub.Quantity + 'min'\n }\n const minutes = sub.Quantity % 60\n const hours = (sub.Quantity - minutes) / 60\n\n return hours + 'h' + (minutes < 10 ? '0' : '') + minutes + 'min'\n } else {\n return sub.Quantity\n }\n }\n}\n\nexport default self","\nvar self = {\n getPaginationFromDataTableOptions(o) {\n return {\n Offset: (o.page - 1) * o.itemsPerPage,\n Limit: o.itemsPerPage,\n Sort: o.sortBy.map((field, fieldIdx) => (o.sortDesc[fieldIdx] ? \"-\" : \"\") + field),\n };\n },\n\n groupBy(xs, key) {\n return xs.reduce(function (rv, x) {\n (rv[x[key]] = rv[x[key]] || []).push(x);\n return rv;\n }, {});\n },\n\n equals(a, b) {\n if (a === b) return true;\n if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime();\n if (!a || !b || (typeof a !== \"object\" && typeof b !== \"object\")) return a === b;\n if (a.prototype !== b.prototype) return false;\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every((k) => this.equals(a[k], b[k]));\n },\n\n newUUID(){\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>\n (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\n )\n },\n\n dataURLToBlob (dataURL) {\n const base64Data = dataURL.split(',')[1]\n const mimeType = dataURL.split(';')[0].split(':')[1]\n const binaryData = atob(base64Data)\n const arrayBuffer = new ArrayBuffer(binaryData.length)\n const uint8Array = new Uint8Array(arrayBuffer)\n\n for (let i = 0; i < binaryData.length; i++) {\n uint8Array[i] = binaryData.charCodeAt(i)\n }\n\n const blob = new Blob([arrayBuffer], { type: mimeType })\n\n return blob\n},\n \n fileToBase64(file){\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = reject;\n })\n }\n}\n\nexport var isInteger = v => (Number.isInteger(parseFloat(v)))\nexport var isPositive = v => (parseFloat(v) > 0)\nexport var isPositiveOrZero = v => (parseFloat(v) >= 0)\nexport var isNumeric = v => (!isNaN(v) && !isNaN(parseFloat(v)))\nexport var isValidEmail = v => /.+@.+\\..+/.test(v)\nexport var isUUID = v => {\n var pattern = new RegExp('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$')\n return pattern.test(v)\n}\n\nexport default self","import ui, { turnstilesTypes, passingTypes, passingDirections, turnstilesStates, accessControlEventTypes } from '../ui/access-control'\n\nexport default {\n data: () => ({\n turnstilesTypes,\n passingTypes,\n passingDirections,\n turnstilesStates,\n accessControlEventTypes\n }),\n methods: {\n ...ui,\n }\n}","import ui, { bookingStatuses, bookingRepeatStatuses, bookingSlotWebModes, bookingSlotRepeatPublicationStatuses, bookingCheckCodes} from '../ui/bookings'\n\n\nexport default {\n data: () => ({\n bookingStatuses,\n bookingRepeatStatuses,\n bookingSlotWebModes,\n bookingSlotRepeatPublicationStatuses,\n bookingCheckCodes\n }),\n methods: {\n ...ui,\n }\n}","import clientHelper from '../helpers/client'\nimport ui, { \n clientsGenders\n} from '../ui/client'\n\nexport default {\n data: () => ({\n clientsGenders\n }),\n\n methods: {\n ...clientHelper,\n ...ui,\n }\n}\n","import dateHelper from '../helpers/date'\n\nexport default {\n methods: dateHelper\n}\n","// import Consts from '../consts'\n\nimport accessControl from \"./access-control\"\nimport bookings from \"./bookings\"\n\nfunction padZero(str, len) {\n len = len || 2\n const zeros = new Array(len).join('0')\n return (zeros + str).slice(-len)\n}\n\nvar self = {\n getColorForString(str) {\n let hash = 0\n for (let i = 0; i < str.length; i++) {\n hash = str.charCodeAt(i) + ((hash << 5) - hash)\n }\n\n const c = (hash & 0x00FFFFFF)\n .toString(16)\n .toUpperCase()\n\n return '00000'.substring(0, 6 - c.length) + c\n },\n\n lightOrDark(color) {\n // Variables for red, green, blue values\n let r, g, b\n\n // Check the format of the color, HEX or RGB?\n if (color.match(/^rgb/)) {\n // If HEX --> store the red, green, blue values in separate variables\n color = color.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/)\n\n r = color[1]\n g = color[2]\n b = color[3]\n } else {\n // If RGB --> Convert it to HEX: http://gist.github.com/983661\n color = +('0x' + color.slice(1).replace(\n color.length < 5 && /./g, '$&$&'))\n\n r = color >> 16\n g = color >> 8 & 255\n b = color & 255\n }\n\n // HSP (Highly Sensitive Pool) equation from http://alienryderflex.com/hsp.html\n const hsp = Math.sqrt(\n 0.299 * (r * r) +\n 0.587 * (g * g) +\n 0.114 * (b * b)\n )\n\n // Using the HSP value, determine whether the color is light or dark\n if (hsp > 147.5) {\n return 'light'\n } else {\n return 'dark'\n }\n },\n\n invertColor(hex) {\n if (hex.indexOf('#') === 0) {\n hex = hex.slice(1)\n }\n // convert 3-digit hex to 6-digits.\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]\n }\n if (hex.length !== 6) {\n throw new Error('Invalid HEX color.')\n }\n // invert color components\n const r = (255 - parseInt(hex.slice(0, 2), 16)).toString(16)\n const g = (255 - parseInt(hex.slice(2, 4), 16)).toString(16)\n const b = (255 - parseInt(hex.slice(4, 6), 16)).toString(16)\n // pad each with zeros and return\n return '#' + padZero(r) + padZero(g) + padZero(b)\n },\n\n HexToHSL(H) {\n // Convert hex to RGB first\n let r = 0; let g = 0; let b = 0\n if (H.length === 4) {\n r = '0x' + H[1] + H[1]\n g = '0x' + H[2] + H[2]\n b = '0x' + H[3] + H[3]\n } else if (H.length === 7) {\n r = '0x' + H[1] + H[2]\n g = '0x' + H[3] + H[4]\n b = '0x' + H[5] + H[6]\n }\n // Then to HSL\n r /= 255\n g /= 255\n b /= 255\n const cmin = Math.min(r, g, b)\n const cmax = Math.max(r, g, b)\n const delta = cmax - cmin\n let h = 0\n let s = 0\n let l = 0\n\n if (delta === 0) { h = 0 } else if (cmax === r) { h = ((g - b) / delta) % 6 } else if (cmax === g) { h = (b - r) / delta + 2 } else { h = (r - g) / delta + 4 }\n\n h = Math.round(h * 60)\n\n if (h < 0) { h += 360 }\n\n l = (cmax + cmin) / 2\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))\n s = +(s * 100).toFixed(1)\n l = +(l * 100).toFixed(1)\n\n return { h, s, l }\n },\n\n changeColorLum(hex, lum) {\n\n // validate hex string\n hex = String(hex).replace(/[^0-9a-f]/gi, '');\n if (hex.length < 6) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n\n lum = lum || 0;\n\n // convert to decimal and change luminosity\n var rgb = \"#\", c, i;\n for (i = 0; i < 3; i++) {\n c = parseInt(hex.substr(i * 2, 2), 16);\n c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);\n rgb += (\"00\" + c).substr(c.length);\n }\n\n return rgb;\n },\n\n pastelizeColor(H) {\n let { h, s, l } = this.HexToHSL(H)\n\n s = 100\n l = 87.5\n\n return this.HSLToHex(h, s, l)\n },\n\n darkenizeColor(H) {\n let { h, s, l } = this.HexToHSL(H)\n\n s = 100\n l = 30.5\n\n return this.HSLToHex(h, s, l)\n },\n\n HSLToHex(h, s, l) {\n s /= 100\n l /= 100\n\n const c = (1 - Math.abs(2 * l - 1)) * s\n const x = c * (1 - Math.abs((h / 60) % 2 - 1))\n const m = l - c / 2\n let r = 0\n let g = 0\n let b = 0\n\n if (h >= 0 && h < 60) {\n r = c\n g = x\n b = 0\n } else if (h >= 60 && h < 120) {\n r = x\n g = c\n b = 0\n } else if (h >= 120 && h < 180) {\n r = 0\n g = c\n b = x\n } else if (h >= 180 && h < 240) {\n r = 0\n g = x\n b = c\n } else if (h >= 240 && h < 300) {\n r = x\n g = 0\n b = c\n } else if (h >= 300 && h < 360) {\n r = c\n g = 0\n b = x\n }\n // Having obtained RGB, convert channels to hex\n r = Math.round((r + m) * 255).toString(16)\n g = Math.round((g + m) * 255).toString(16)\n b = Math.round((b + m) * 255).toString(16)\n\n // Prepend 0s, if necessary\n if (r.length === 1) { r = '0' + r }\n if (g.length === 1) { g = '0' + g }\n if (b.length === 1) { b = '0' + b }\n\n return '#' + r + g + b\n },\n\n\n HexToRGBA(hexCode, opacity) {\n var hex = hexCode.replace('#', '');\n\n if (hex.length === 3) {\n hex += hex\n }\n\n var r = parseInt(hex.substring(0, 2), 16),\n g = parseInt(hex.substring(2, 4), 16),\n b = parseInt(hex.substring(4, 6), 16);\n\n return 'rgba(' + r + ',' + g + ',' + b + ',' + opacity + ')';\n },\n\n /**\n * @deprecated Please use ui/access-control/turnstilesState.color instead\n */\n turnstilesStateColor(state, parentState) {\n return accessControl.turnstilesState(state, parentState).color\n },\n\n /**\n * @deprecated Please use ui/bookings/bookingsStatus.color instead\n */\n bookingStatusColor(x) {\n return bookings.bookingStatus(x).color\n },\n\n parseColor (color) {\n const x = document.createElement('div')\n document.body.appendChild(x)\n let rgba\n let red = 0\n let green = 0\n let blue = 0\n let alpha = 0\n try {\n x.style = 'color: ' + color + '!important'\n color = window.getComputedStyle(x).color\n rgba = color\n .match(/rgba?\\((.*)\\)/)[1]\n .split(',')\n .map(Number)\n red = rgba[0]\n green = rgba[1]\n blue = rgba[2]\n alpha = '3' in rgba ? rgba[3] : 1\n } catch (e) {\n console.error(e)\n }\n x.parentNode.removeChild(x)\n return { r: red, g: green, b: blue, a: alpha }\n },\n}\n\nexport default self;","import colorsHelper from '../ui/colors'\n\nexport default {\n methods: colorsHelper\n}\n","import bookings from '../ui/bookings'\nimport subscriptions from '../ui/subscriptions'\nimport accessControl from '../ui/access-control'\nimport sales from '../ui/sales'\n\n\nexport default {\n /**\n * @deprecated Please use ui/subscriptions/subscriptionType.label instead\n */\n subscriptionTypeStr(x) {\n return subscriptions.subscriptionType(x).label\n },\n\n /**\n * @deprecated Please use ui/bookings/bookingStatus.label instead\n */\n bookingStatusStr(x) {\n return bookings.bookingStatus(x).label\n },\n\n /**\n * @deprecated Please use ui/bookings/bookingSource.label instead\n */\n bookingSourceStr(x) {\n return bookings.bookingSource(x).label\n },\n\n /**\n * @deprecated Please use ui/sales/saleTypeLabel instead\n */\n saleType(sale) {\n return sales.saleType(sale).label\n },\n\n /**\n * @deprecated Please use ui/access-control/turnstileType.label instead\n */\n turnstileTypeStr(t) {\n return accessControl.turnstileType(t).label\n },\n\n /**\n * @deprecated Please use ui/access-control/turnstileDirection.label instead\n */\n turnstileDirectionStr(t) {\n return accessControl.passingDirection(t).label\n },\n\n /**\n * @deprecated Please use ui/access-control/passingType.label instead\n */\n passingTypeStr(x) {\n return accessControl.passingType(x).label\n },\n\n /**\n * @deprecated Please use ui/access-control/passingDirectionLabel instead\n */\n passingDirectionStr(x) {\n return accessControl.passingDirection(x).label\n },\n\n /**\n * @deprecated Please use ui/access-control/accessControlEventTypeLabel instead\n */\n accessControlEventTypeStr(x) {\n return accessControl.accessControlEventType(x).label\n },\n}\n\n","import moment from 'moment'\nimport Consts from './consts'\n\n\nexport default {\n createdSinceOptions: [\n { text: 'Aujourd\\'hui', value: moment().format('YYYY-MM-DD') },\n { text: 'Moins de 48 heures', value: moment().subtract(2, 'days').format('YYYY-MM-DD') },\n { text: 'Cette semaine', value: moment().startOf('week').format('YYYY-MM-DD') },\n { text: 'Ce mois-ci', value: moment().startOf('month').format('YYYY-MM-DD') },\n { text: 'Ce trimestre', value: moment().startOf('quarter').format('YYYY-MM-DD') },\n { text: 'Ce semestre', value: moment().year() + (moment().month() < 7 ? '-01-01' : '-07-01') },\n { text: 'Cette année', value: moment().startOf('year').format('YYYY-MM-DD') }\n ],\n\n salesTypes: [\n { text: 'Ventes', value: 5 },\n { text: 'Arrhes', value: 9 },\n { text: 'Avoirs', value: -1 }\n ],\n\n turnstilesTypes: [\n { label: 'Autre', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_OTHER },\n { label: 'Lecteur RFID (tourniquet)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_TURNSTILE_RFID },\n { label: 'Lecteur QRcode (tourniquet)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_TURNSTILE_RFID },\n { label: 'Lecteur RFID (porte)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_DOOR_RFID },\n { label: 'Lecteur QRcode (porte)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_DOOR_QR},\n { label: 'Lecteur QRCode (borne d\\'information)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_KIOSK_QR },\n { label: 'Bouton poussoir', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_PUSH_BUTTON },\n { label: 'Mobile', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_PUSH_BUTTON },\n { label: 'Lecteur RFID (borne d\\'information)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_KIOSK_RFID }\n ],\n\n turnstilesTypeAvailablesForImmediateDebit: [3,4,5],\n\n turnstilesDirections: [\n { text: 'Non défini', value: 0 },\n { text: 'Entrée', value: 1 },\n { text: 'Sortie', value: 2 }\n ],\n\n subscriptionTypes: [\n { text: 'Crédit', value: Consts.SUBSCRIPTION_TYPE_CREDIT },\n { text: 'Abonnement', value: Consts.SUBSCRIPTION_TYPE_SUBSCRIPTION },\n { text: 'Quantité', value: Consts.SUBSCRIPTION_TYPE_PASS_Q },\n { text: 'Horaire', value: Consts.SUBSCRIPTION_TYPE_PASS_H },\n { text: 'Pack', value: Consts.SUBSCRIPTION_TYPE_PACK },\n { text: 'Autre', value: Consts.SUBSCRIPTION_TYPE_OTHER },\n { text: 'QR code', value: Consts.SUBSCRIPTION_TYPE_2DTAG }\n ],\n\n collectionLabels: {\n sale: \"Vente\",\n cashbook: \"Fond de caisse\",\n client: \"Client\",\n grandtotal: \"Grand total\",\n param: \"Paramètre\",\n period: \"Période\",\n pricing: \"Tarif\",\n product: \"Produit\",\n voucher: \"Bon\",\n bookings: \"Réservation\",\n passings: \"Passage\",\n booking_slot: \"Créneau\"\n },\n}","import labelizer from '../helpers/labelizer'\nimport textValues from '../text-values'\n\nexport default {\n data: () => textValues,\n methods: labelizer,\n}\n","import bookings from '../ui/bookings'\nimport accessControl from '../ui/access-control'\n\nexport default {\n /**\n * @deprecated Please use ui/bookings/bookingSource.icon instead\n */\n bookingSourceIcon(x) {\n return bookings.bookingSource(x).icon\n },\n\n /**\n * @deprecated Please use ui/bookings/bookingStatus.icon instead\n */\n bookingStatusIcon(x) {\n return bookings.bookingStatus(x).icon\n },\n\n /**\n * @deprecated Please use ui/access-control/turnstilesState.icon instead\n */\n turnstilesStateIcon(state, parentState) {\n return accessControl.turnstilesState(state, parentState).icon\n },\n\n /**\n * @deprecated Please use ui/access-control/turnstilesTypeIcons instead\n */\n turnstileTypeIcons(t) {\n return accessControl.turnstileType(t).icons\n },\n}\n","import iconizer from '../helpers/iconizer'\n\nexport default {\n methods: iconizer,\n}\n","import moment from 'moment'\n\nmoment.locale('fr')\n\nexport default {\n getDisableActivities(activities, activitiesId) {\n const disable = []\n if (Array.isArray(activitiesId)) {\n activitiesId.forEach(activityId => {\n const activity = activities.find(act => act.ID === activityId)\n if (activity !== undefined && !activity.State) {\n disable.push(activity)\n }\n })\n }\n return disable\n },\n\n activityDuration(activity, removeMarginBefore = false, removeMarginAfter = false) {\n let duration = activity.Duration\n if (!removeMarginBefore) {\n duration += activity.MarginDurationBefore\n }\n if (!removeMarginAfter) {\n duration += activity.MarginDurationAfter\n }\n return duration\n },\n\n activityEndMoment(spaBooking, activity) {\n if (!activity) {\n return moment(spaBooking.Timestamp)\n }\n const start = moment(spaBooking.Timestamp)\n const duration = this.activityDuration(activity, spaBooking.RemoveMarginBefore, spaBooking.RemoveMarginAfter)\n return start.add(duration, 'm')\n }\n}\n","import spaHelper from '../helpers/spa'\n\nexport default {\n methods: spaHelper\n}\n","import constants from './../consts'\n\nconst templateTypes = [\n { value: constants.TEMPLATE_TYPES.TICKET, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_TICKET_TEMPLATE, label: \"Ticket\" },\n { value: constants.TEMPLATE_TYPES.BILL, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_BILL_TEMPLATE, label: \"Facture\" },\n { value: constants.TEMPLATE_TYPES.ACCESS_CONTROL_VOUCHER, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_ACCESS_CONTROL_VOUCHER_TEMPLATE, label: \"Bon d'accès\" },\n { value: constants.TEMPLATE_TYPES.VOUCHER_DISCOUNT, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_VOUCHER_DISCOUNT_TEMPLATE, label: \"Code promotionnel\" },\n { value: constants.TEMPLATE_TYPES.WEB_ACCESS_CONTROL_VOUCHER, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_WEB_ACCESS_CONTROL_VOUCHER_TEMPLATE, label: \"Bon d'accès web\" },\n { value: constants.TEMPLATE_TYPES.VOUCHER, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_VOUCHER_TEMPLATE, label: \"Bon d'achat\" },\n { value: constants.TEMPLATE_TYPES.VOUCHER_GIFT_CARD, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_VOUCHER_GIFT_CARD_TEMPLATE, label: \"Carte cadeau\" },\n { value: constants.TEMPLATE_TYPES.VOUCHER_WEB_GIFT_CARD, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_VOUCHER_WEB_GIFT_CARD_TEMPLATE, label: \"Carte cadeau web\" },\n { value: constants.TEMPLATE_TYPES.VOUCHER_COLLECTABLE, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_COLLECTABLE_VOUCHER_TEMPLATE, label: \"Bon acheté en ligne à récupérer\"},\n]\n\nexport default {\n templateType(x) {\n return templateTypes.find(t => t.value == x)\n }\n}\n\nexport { templateTypes }","import ui, { templateTypes } from '../ui/templates'\n\n\nexport default {\n data: () => ({\n templateTypes\n }),\n methods: {\n ...ui,\n }\n}","import Consts from '../consts'\n\nconst lockersStates = [\n { text: 'Ouvert', value: Consts.LOCKERS.LOCKER_STATE.STATE_OPENED, color: '#71DBBA' },\n { text: 'Fermé', value: Consts.LOCKERS.LOCKER_STATE.STATE_CLOSED, color: '#FA906A' },\n { text: 'Erreur', value: Consts.LOCKERS.LOCKER_STATE.STATE_ERROR, color: '#E35E7E' },\n { text: 'Déconnecté', value: Consts.LOCKERS.LOCKER_STATE.STATE_UNKNOWN, color: '#000000' }\n]\n\nconst lockersStatuses = [\n { text: 'Disponible', value: Consts.LOCKERS.LOCKER_STATUS.STATUS_AVAILABLE },\n { text: 'Occupé', value: Consts.LOCKERS.LOCKER_STATUS.STATUS_IN_USE },\n { text: 'Préparé', value: Consts.LOCKERS.LOCKER_STATUS.STATUS_PREPARED },\n { text: 'En retard', value: Consts.LOCKERS.LOCKER_STATUS.STATUS_OVERSTAY },\n { text: 'Désactivé', value: Consts.LOCKERS.LOCKER_STATUS.STATUS_DISABLED },\n { text: 'En erreur', value: Consts.LOCKERS.LOCKER_STATUS.STATUS_IN_ERROR }\n]\n\nconst lockersAccessModes = [\n { text: 'Libre', value: Consts.LOCKERS.LOCKER_ACCESS_MODE.FREE_ACCESS },\n { text: 'Réservation', value: Consts.LOCKERS.LOCKER_ACCESS_MODE.RESERVATION },\n { text: 'Affectation', value: Consts.LOCKERS.LOCKER_ACCESS_MODE.AFFECTATION }\n]\n\nconst lockersBookingModes = [\n { \n text: 'Réservation ponctuelle', \n value: Consts.LOCKERS.LOCKER_BOOKING_MODE.MODE_BOOKING, \n icon: 'mdi-clock-outline', \n detail: 'Réservation pour une date donnée, avec une heure de début et de fin', \n },\n { \n text: 'Affectation', \n value: Consts.LOCKERS.LOCKER_BOOKING_MODE.MODE_AFFECTATION, \n icon: 'mdi-lock-outline', \n detail: 'Réservation pour une date indéfinie',\n },\n { \n text: 'Usage unique', \n value: Consts.LOCKERS.LOCKER_BOOKING_MODE.MODE_SINGLE_USE, \n icon: 'mdi-package-variant-closed', \n detail: \"Réservation du casier jusqu'à sa prochaine ouverture\", \n }\n]\n\nconst lockersIncidentsTypes = [\n { text: 'Autre incident', value: Consts.LOCKERS.INCIDENT_TYPE.OTHER_INCIDENT },\n { text: 'Echec d\\'attribution d\\'un casier', value: Consts.LOCKERS.INCIDENT_TYPE.NO_LOCKERS_AVAILABLE_AT_BOOKING_START_INCIDENT },\n { text: 'Echec de réattribution d\\'un casier', value: Consts.LOCKERS.INCIDENT_TYPE.NO_LOCKERS_AVAILABLE_AT_BOOKING_RETRY_INCIDENT },\n { text: 'Casier fermé après la fin de la réservation', value: Consts.LOCKERS.INCIDENT_TYPE.NOT_OPENED_AT_THE_END_OF_BOOKING_INCIDENT },\n { text: 'Batterie de casier faible', value: Consts.LOCKERS.INCIDENT_TYPE.LOW_BATTERY_LOCKER_INCIDENT },\n { text: 'L\\'ouverture du casier a échoué', value: Consts.LOCKERS.INCIDENT_TYPE.LOCKER_STATE_NOT_OPENED_INCIDENT },\n { text: 'La fermeture du casier a échoué', value: Consts.LOCKERS.INCIDENT_TYPE.LOCKER_STATE_NOT_CLOSED_INCIDENT },\n { text: 'Passerelle déconnectée', value: Consts.LOCKERS.INCIDENT_TYPE.OFFLINE_GATEWAY_INCIDENT },\n { text: 'Casier déconnecté', value: Consts.LOCKERS.INCIDENT_TYPE.OFFLINE_LOCKER_INCIDENT },\n { text: 'Code maitre invalide', value: Consts.LOCKERS.INCIDENT_TYPE.NON_VALID_MASTER_CODE_LOCKER_INCIDENT }\n]\n\nconst lockersBookingStates = [\n { text: 'A venir', value: Consts.LOCKERS.BOOKING_STATE.BOOKING_REGISTERED, color:\"blue\" },\n { text: 'En cours', value: Consts.LOCKERS.BOOKING_STATE.BOOKING_STARTED, color:\"green\" },\n { text: 'Terminée', value: Consts.LOCKERS.BOOKING_STATE.BOOKING_ENDED, color:\"black\" },\n { text: 'Annulée', value: Consts.LOCKERS.BOOKING_STATE.BOOKING_CANCELED, color:\"blue-grey lighten-3\" },\n { text: 'En retard', value: Consts.LOCKERS.BOOKING_STATE.BOOKING_OVERSTAY, color:\"orange\" },\n { text: 'Erreur', value: Consts.LOCKERS.BOOKING_STATE.BOOKING_ERROR, color:\"error accent-4\" },\n { text: 'Terminée en retard', value: Consts.LOCKERS.BOOKING_STATE.BOOKING_ENDED_WITH_OVERSTAY, color:\"error purple\" }\n]\n\nconst lockersEventTypes = [\n { text: 'DST time advance false', value: Consts.LOCKERS.EVENT_TYPE.TIME_ADVANCE },\n\t{ text: 'DST time delay false', value: Consts.LOCKERS.EVENT_TYPE.TIME_DELAY },\n\t{ text: 'Erreur mécanique lors de l\\'ouverture/fermeture', value: Consts.LOCKERS.EVENT_TYPE.MECHANICAL_FAILURE },\n\t{ text: 'Ouverture avec code utilisateur', value: Consts.LOCKERS.EVENT_TYPE.USER_OPENING },\n\t{ text: 'Ouverture applicative avec code maitre', value: Consts.LOCKERS.EVENT_TYPE.MASTER_OPENING},\n\t{ text: 'Fermeture avec code utilisateur', value: Consts.LOCKERS.EVENT_TYPE.USER_CLOSING },\n\t{ text: 'Configuration de la serrure terminée', value: Consts.LOCKERS.EVENT_TYPE.INITIALIZATION },\n\t{ text: 'Ouverture automatique à la fin de la location', value: Consts.LOCKERS.EVENT_TYPE.AUTOMATIC_OPEN_RENT_TIME },\n\t{ text: 'Code maitre saisi invalide', value: Consts.LOCKERS.EVENT_TYPE.NON_VALID_MASTER_CODE },\n\t{ text: 'Le code utilisateur a expiré', value: Consts.LOCKERS.EVENT_TYPE.TIMED_OUT_CODE },\n\t{ text: 'La serrure a un autre code utilisateur', value: Consts.LOCKERS.EVENT_TYPE.OCCUPIED_CARD },\n\t{ text: 'Aucun permis disponible', value: Consts.LOCKERS.EVENT_TYPE.NON_VALID_CARD },\n\t{ text: 'Ouverture au digicode', value: Consts.LOCKERS.EVENT_TYPE.USER_OPENING_KEYPAD },\n\t{ text: 'Fermeture au digicode', value: Consts.LOCKERS.EVENT_TYPE.USER_CLOSING_KEYPAD },\n\t{ text: 'Ouverture au digicode avec code maitre', value: Consts.LOCKERS.EVENT_TYPE.MASTER_OPENING_KEYPAD },\n\t{ text: 'Fermeture au digicode avec code maitre', value: Consts.LOCKERS.EVENT_TYPE.MASTER_CLOSING_KEYPAD },\n\t{ text: 'Ouverture automatiqe', value: Consts.LOCKERS.EVENT_TYPE.AUTOMATIC_OPENING },\n\t{ text: 'Fermeture applicative', value: Consts.LOCKERS.EVENT_TYPE.MASTER_CLOSING },\n\t{ text: 'Batterie faible', value: Consts.LOCKERS.EVENT_TYPE.LOW_BATTERY },\n\t{ text: 'User cannot close more locks at the same time', value: Consts.LOCKERS.EVENT_TYPE.FULL_CARD },\n\t{ text: 'Restauration de la configuration d\\'origine', value: Consts.LOCKERS.EVENT_TYPE.ERASE_BT },\n\t{ text: 'Configuration de la serrure en mode libre demandée à partir de Streamlor', value: Consts.LOCKERS.EVENT_TYPE.STREAMLOR_FREE_CONFIGURATION },\n\t{ text: 'Configuration de la serrure en mode réservable demandée à partir de Streamlor', value: Consts.LOCKERS.EVENT_TYPE.STREAMLOR_DEDICATED_CONFIGURATION },\n\t{ text: 'Ouverture demandée à partir de Streamlor', value: Consts.LOCKERS.EVENT_TYPE.STREAMLOR_MASTER_OPENING },\n\t{ text: 'Fermeture demandée à partir de Streamlor', value: Consts.LOCKERS.EVENT_TYPE.STREAMLOR_MASTER_CLOSING },\n]\n\nconst ledOptionsTypes = [\n { text: 'LED clignottante toutes les 2 secondes', value: 0 },\n { text: 'LED clignottante toutes les 900 millisecondes', value: 1 },\n { text: 'LED allumée', value: 2 },\n { text: 'LED éteinte', value: 3 }\n]\n\nconst daysTypes = [\n { text: 'Lundi', value: 1 },\n { text: 'Mardi', value: 2 },\n { text: 'Mercredi', value: 3 },\n { text: 'Jeudi', value: 4 },\n { text: 'Vendredi', value: 5 },\n { text: 'Samedi', value: 6 },\n { text: 'Dimanche', value: 7 }\n]\n\nexport { \n lockersStates, \n lockersStatuses, \n lockersAccessModes, \n lockersBookingModes,\n lockersIncidentsTypes,\n lockersBookingStates,\n lockersEventTypes,\n ledOptionsTypes,\n daysTypes \n}","import {\n lockersStates, \n lockersStatuses, \n lockersAccessModes, \n lockersBookingModes,\n lockersBookingStates,\n lockersIncidentsTypes, \n lockersEventTypes, \n ledOptionsTypes, \n daysTypes\n} from '../ui/lockers'\n\nexport default {\n lockersState(x) {\n return lockersStates.find(t => t.value == x)\n },\n lockersStatus(x) {\n return lockersStatuses.find(t => t.value == x)\n },\n lockersAccessMode(x) {\n return lockersAccessModes.find(t => t.value == x)\n },\n lockersBookingMode(x) {\n return lockersBookingModes.find(t => t.value == x)\n },\n lockersIncidentType(x) {\n return lockersIncidentsTypes.find(t => t.value == x)\n },\n lockersBookingState(x) {\n return lockersBookingStates.find(t => t.value == x)\n },\n lockersEventType(x) {\n return lockersEventTypes.find(t => t.value == x)\n },\n ledOptionsType(x) {\n return ledOptionsTypes.find(t => t.value == x)\n },\n daysType(x) {\n return daysTypes.find(t => t.value == x)\n }\n}\n","import helpers from '../helpers/lockers'\nimport {\n lockersStates, \n lockersStatuses, \n lockersAccessModes, \n lockersBookingModes, \n lockersIncidentsTypes, \n lockersBookingStates, \n lockersEventTypes, \n ledOptionsTypes, \n daysTypes \n} from '../ui/lockers'\n\n\nexport default {\n data: () => ({\n lockersStates,\n lockersStatuses,\n lockersAccessModes,\n lockersBookingModes,\n lockersIncidentsTypes,\n lockersBookingStates,\n lockersEventTypes,\n ledOptionsTypes,\n daysTypes\n }),\n methods: {\n ...helpers\n }\n}","import consts from \"../consts\"\n\nconst onlineModules = [\n { text: \"Planning\", value: \"planning\", requiredPerm: \"admin:planning\", hasLandingPage: true },\n { text: \"Contrôle d'accès\", value: \"ctm\", requiredPerm: \"admin:ctm\", hasLandingPage: true },\n { text: \"Clients\", value: \"clients\", requiredPerm: \"admin:clients\", hasLandingPage: true },\n { text: \"Statistiques\", value: \"stats\", requiredPerm: \"admin:stats\", hasLandingPage: true },\n { text: \"Spa\", value: \"spa\", requiredPerm: \"admin:spa\", hasLandingPage: true },\n { text: \"Casiers\", value: \"lockers\", requiredPerm: \"admin:lockers\", hasLandingPage: true },\n { text: \"Backoffice\", value: \"front\" },\n { text: \"Gestion commerciale\", requiredPerm: \"admin:business\", value: \"business\", hasLandingPage: true },\n { text: \"Odéon\", value: \"odeon\" },\n { text: \"Activités périodiques\", value: \"periodic\", requiredPerm:\"admin:periodic\", hasLandingPage: true },\n { text: \"Devis\", value: \"quotations\", requiredPerm:\"admin:quotations\", hasLandingPage: true },\n { text: \"Bornes\", value: \"kiosks\", requiredPerm: \"admin:kiosks\", hasLandingPage: true }\n]\n\nconst bookingTerminalPlanningTypes = [\n {text: \"Créneaux groupés par activité\", value: consts.BOOKING_TERMINAL_PLANNING_TYPES.GROUPED_BY_ACTIVITY},\n {text: \"Créneaux mélangés\", value: consts.BOOKING_TERMINAL_PLANNING_TYPES.MIXED_ACTIVITIES},\n]\n\n\nexport { onlineModules, bookingTerminalPlanningTypes }\n","import paramsHelper from '../helpers/params'\n\nimport { onlineModules, bookingTerminalPlanningTypes } from '../ui/params'\n\nexport default {\n data: () => ({onlineModules, bookingTerminalPlanningTypes}),\n methods: paramsHelper\n}\n","import Decimal from \"decimal.js\"\nimport clientHelpers from './client'\n\nexport default {\n getPaymentName(ID, allPaymentType) {\n const paymentType = allPaymentType.find(pt => ID === pt.ID)\n if (paymentType) {\n return paymentType.Label.FR\n }\n return ''\n },\n\n getSaleProductsQuantity(sale) {\n let quantity = 0\n\n if (sale.Lines) {\n for (const client in sale.Lines) {\n if (sale.Lines[client]) {\n for (const line of sale.Lines[client]) {\n quantity += parseInt(line.Amount)\n }\n }\n }\n }\n \n return quantity;\n },\n\n getSaleLines(sale){\n if (!sale.Lines || sale.Lines.length == 0) {\n return []\n }\n\n return Object.values(sale.Lines).flat()\n },\n\n getSaleLine(id, sale){\n if (!sale.Lines || sale.Lines.length == 0) {\n return null\n }\n\n return this.getSaleLines(sale).find(line => line.ID == id)\n },\n\n forEachSaleLine(sale, func){\n if (!sale.Lines || sale.Lines.length == 0){\n return\n }\n for(var clientID of Object.keys(sale.Lines)){\n if (sale.Lines[clientID]){\n for(var line of sale.Lines[clientID]){\n func(line, clientID)\n }\n }\n }\n },\n\n getSaleTotalByClient(sale) {\n const out = {}\n\n if (!sale || !sale.Lines) {\n return out\n }\n\n for (let clientId in sale.Lines) {\n const lines = sale.Lines[clientId]\n let total = new Decimal(0)\n\n for (let i = 0; i < lines.length; ++i) {\n total = total.add(lines[i].Total)\n }\n\n out[clientId] = total.toFixed(2)\n }\n\n return out\n },\n\n isProductInSale(sale, productID, clientID){\n let inSale = false\n this.forEachSaleLine(sale, (line, cliID) => {\n if ((!clientID || cliID === clientID) && line.ProductID === productID){\n inSale = true\n return\n }\n })\n\n return inSale\n },\n\n getProductPriceForClient(product, client, currentPeriodID){\n if(!product.Pricings[currentPeriodID]){\n console.warn(\"no product pricing for current period\")\n return null\n }\n let clientPricingID = client ? clientHelpers.currentClientPricingID(client, currentPeriodID) : 'DEFAULT'\n let productPricing = product.Pricings[currentPeriodID][clientPricingID] || product.Pricings[currentPeriodID]['DEFAULT']\n if (!productPricing){\n console.warn(\"no default pricing on product for current period\")\n return null\n }\n\n return productPricing.Price\n },\n\n getSaleDiscountCodes(sale){\n return sale && sale.Lines ? Object.values(sale.Lines).map(clientLines => clientLines && clientLines.map(l => l.SpecialPrice && l.SpecialPrice.DiscountCodes ? Object.keys(l.SpecialPrice.DiscountCodes) : null)).flat().flat().concat(sale.DiscountCodes ? Object.keys(sale.DiscountCodes) : []).filter(id => !!id) : []\n }\n}\n","import ui, { saleTypes, saleStates, discountConditionTypes } from '../ui/sales'\nimport helpers from '../helpers/sales'\n\n\nexport default {\n data: () => ({\n saleTypes,\n saleStates,\n discountConditionTypes\n }),\n methods: {\n ...ui,\n ...helpers\n }\n}","import ui, { subscriptionTypes, validityTypes, durationTypes, frequencies, frequenciesAlt, firstPurchaseModes } from '../ui/subscriptions'\nimport helpers from '../helpers/subscriptions'\n\n\nexport default {\n data: () => ({\n subscriptionTypes,\n validityTypes, \n durationTypes, \n frequencies,\n frequenciesAlt,\n firstPurchaseModes\n }),\n methods: {\n ...ui,\n ...helpers\n }\n}","import Consts from '../consts'\nimport moment from 'moment'\n\nconst TURNSTILE_STATE_OFFLINE = \"OFFLINE\";\nconst TURNSTILE_STATE_READY = \"READY\";\nconst TURNSTILE_STATE_ERROR = \"ERROR\";\n\n\nconst turnstilesTypes = [\n { label: 'Autre', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_OTHER },\n { label: 'Lecteur RFID (tourniquet)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_TURNSTILE_RFID, icons: ['mdi-turnstile', 'mdi-nfc'] },\n { label: 'Lecteur QRcode (tourniquet)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_TURNSTILE_RFID, icons: ['mdi-turnstile', 'mdi-qrcode'] },\n { label: 'Lecteur RFID (porte)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_DOOR_RFID, icons: ['mdi-door', 'mdi-nfc'] },\n { label: 'Lecteur QRcode (porte)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_DOOR_QR, icons: ['mdi-door', 'mdi-qrcode'] },\n { label: 'Lecteur QRCode (borne d\\'information)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_KIOSK_QR, icons: ['mdi-laptop', 'mdi-qrcode'] },\n { label: 'Bouton poussoir', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_PUSH_BUTTON, icons: ['mdi-turnstile', 'mdi-gesture-tap-button'] },\n { label: 'Mobile', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_PUSH_BUTTON, icons: ['mdi-turnstile', 'mdi-laptop'] },\n { label: 'Lecteur RFID (borne d\\'information)', value: Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_KIOSK_RFID, icons: ['mdi-turnstile', 'mdi-nfc'] }\n]\n\nconst turnstilesGroupTypes = [\n { value: 0, label: 'Autre', icon: 'mdi-help-circle' },\n { value: 1, label: 'Tourniquet', icon: 'mdi-turnstile' },\n { value: 2, label: 'Portillon PMR', icon: 'mdi-wheelchair-accessibility' },\n { value: 3, label: 'Porte', icon: 'mdi-door' },\n { value: 4, label: 'Couloir rapide', icon: 'mdi-door' }\n]\n\nconst turnstilesStates = [\n { value: TURNSTILE_STATE_OFFLINE, icon: 'mdi-lightning-bolt-circle', color: '#888888' },\n { value: TURNSTILE_STATE_READY, icon: 'mdi-check-circle', color: '#41AC53' },\n { value: TURNSTILE_STATE_ERROR, icon: 'mdi-alert-circle', color: '#FF4444' }\n]\n\nconst passingDirections = [\n { label: 'N/A', value: Consts.PASSING_DIRECTION_UNSET },\n { label: 'Entrée', value: Consts.PASSING_DIRECTION_IN },\n { label: 'Sortie', value: Consts.PASSING_DIRECTION_OUT },\n]\n\nconst passingTypes = [\n { label: 'Lecture de badge', value: Consts.PASSING_TYPE_CARD_QUERY },\n { label: 'Passage', value: Consts.PASSING_TYPE_TURNSTILE_PASSING },\n { label: 'Sortie tardive', value: Consts.PASSING_TYPE_PUNISH_LATE_EXIT },\n]\n\nconst accessControlEventTypes = [\n { label: 'Inconnu', value: Consts.ACCESS_CONTROL_EVENT_UNK },\n { label: 'Box prête', value: Consts.ACCESS_CONTROL_EVENT_BOX_READY },\n { label: 'Box en erreur', value: Consts.ACCESS_CONTROL_EVENT_BOX_ERROR },\n { label: 'Box hors-ligne', value: Consts.ACCESS_CONTROL_EVENT_BOX_OFFLINE },\n { label: 'Tourniquet prêt', value: Consts.ACCESS_CONTROL_EVENT_TS_READY },\n { label: 'Tourniquet en erreur', value: Consts.ACCESS_CONTROL_EVENT_TS_ERROR },\n { label: 'Tourniquet hors-ligne', value: Consts.ACCESS_CONTROL_EVENT_TS_OFFLINE },\n { label: 'Carte inconnue', value: Consts.ACCESS_CONTROL_EVENT_UNK_CARD },\n { label: 'Passage autorisé', value: Consts.ACCESS_CONTROL_EVENT_PASSING_ALLOW },\n { label: 'Passage refusé', value: Consts.ACCESS_CONTROL_EVENT_PASSING_DENIED },\n { label: 'Temps de passage dépassé', value: Consts.ACCESS_CONTROL_EVENT_PASSING_TIMEOUT },\n { label: 'Passage réalisé', value: Consts.ACCESS_CONTROL_EVENT_PASSING_CONFIRM },\n { label: 'Message de la box', value: Consts.ACCESS_CONTROL_EVENT_BOX_LOG },\n { label: 'Erreur mécanique de la barrière', value: Consts.ACCESS_CONTROL_EVENT_BARRIER_MECHANICAL_FAULT },\n { label: 'Signal de sécurité', value: Consts.ACCESS_CONTROL_EVENT_SAFETY_SIGNAL },\n { label: 'Dispositif de sécurité manquant', value: Consts.ACCESS_CONTROL_EVENT_SAFETY_DEVICE_MISSING },\n { label: 'Barrière trop rapide', value: Consts.ACCESS_CONTROL_EVENT_BARRIER_TOO_FAST },\n { label: 'Contact de flèche / écarteur actif', value: Consts.ACCESS_CONTROL_EVENT_BOOM_CONTACT_SWING_AWAY },\n { label: 'Vandalisme', value: Consts.ACCESS_CONTROL_EVENT_VANDALISM },\n { label: 'Détection d\\'impact', value: Consts.ACCESS_CONTROL_EVENT_IMPACT_DETECTION },\n { label: 'Défaillance de l\\'alimentation secteur', value: Consts.ACCESS_CONTROL_EVENT_MAINS_POWER_FAILURE },\n { label: 'Erreur de somme de contrôle de l\\'EEPROM', value: Consts.ACCESS_CONTROL_EVENT_EEPROM_CHECKSUM_ERROR },\n { label: 'Réinitialisation du garde fou', value: Consts.ACCESS_CONTROL_EVENT_WATCHDOG_RESET },\n { label: 'Erreur logicielle VS', value: Consts.ACCESS_CONTROL_EVENT_SOFTWARE_ERROR_VS },\n { label: 'Erreur logicielle du système de bus', value: Consts.ACCESS_CONTROL_EVENT_SOFTWARE_ERROR_SYSTEMBUS },\n { label: 'Erreur de position d\\'origine', value: Consts.ACCESS_CONTROL_EVENT_ERROR_ON_HOMING },\n { label: 'Dépassement CAN', value: Consts.ACCESS_CONTROL_EVENT_CAN_OVERRUN },\n { label: 'Défaut matériel CAN', value: Consts.ACCESS_CONTROL_EVENT_CAN_HW_FAULT },\n { label: 'Erreur de rythme', value: Consts.ACCESS_CONTROL_EVENT_HEARTBEAT_ERROR },\n { label: 'Surintensité', value: Consts.ACCESS_CONTROL_EVENT_OVER_CURRENT },\n { label: 'Surtension', value: Consts.ACCESS_CONTROL_EVENT_OVER_VOLTAGE },\n { label: 'Sous-tension', value: Consts.ACCESS_CONTROL_EVENT_UNDER_VOLTAGE },\n { label: 'Surchauffe', value: Consts.ACCESS_CONTROL_EVENT_OVER_TEMPERATURE },\n { label: 'Erreur de déclassement', value: Consts.ACCESS_CONTROL_EVENT_DERATING_ERROR },\n { label: 'Détection d\\'impact 2', value: Consts.ACCESS_CONTROL_EVENT_IMPACT_DETECTION2 },\n { label: 'Erreur de communication du moteur', value: Consts.ACCESS_CONTROL_EVENT_MOTOR_COMMUNICATION_ERROR },\n { label: 'Dispositif de sécurité actif', value: Consts.ACCESS_CONTROL_EVENT_DBG_SAFETY_DEVICE_ACTIVE },\n { label: 'Échec du test de mise en marche du matériel', value: Consts.ACCESS_CONTROL_EVENT_HW_ENABLE_TEST_FAILED },\n { label: 'Échec du test du dispositif de sécurité', value: Consts.ACCESS_CONTROL_EVENT_SAFETY_DEVICE_TEST_FAILED },\n { label: 'Safety loop on detector 1 active', value: Consts.ACCESS_CONTROL_EVENT_DBG_SAFETY_LOOP_ON_DETECTOR1_ACTIVE },\n { label: 'Safety loop on detector 2 active', value: Consts.ACCESS_CONTROL_EVENT_DBG_SAFETY_LOOP_ON_DETECTOR2_ACTIVE },\n { label: 'Motor bootloader active', value: Consts.ACCESS_CONTROL_EVENT_MOTOR_BOOTLOADER_ACTIVE },\n { label: 'Motor update failure', value: Consts.ACCESS_CONTROL_EVENT_MOTOR_UPDATE_FAILURE },\n { label: 'Motor update performed', value: Consts.ACCESS_CONTROL_EVENT_MOTOR_UPDATE_PERFORMED },\n { label: 'Court-circuit loop A', value: Consts.ACCESS_CONTROL_EVENT_SHORT_CIRCUIT_LOOP_A },\n { label: 'Court-circuit loop B', value: Consts.ACCESS_CONTROL_EVENT_SHORT_CIRCUIT_LOOP_B },\n { label: 'Loop A broken', value: Consts.ACCESS_CONTROL_EVENT_WRNG_LOOP_A_BROKEN },\n { label: 'Loop B broken', value: Consts.ACCESS_CONTROL_EVENT_WRNG_LOOP_B_BROKEN },\n { label: 'Erreur de référence loop', value: Consts.ACCESS_CONTROL_EVENT_LOOP_REFERENCE_ERROR},\n { label: 'Erreur de mesure de fréquence', value: Consts.ACCESS_CONTROL_EVENT_DBG_FREQUENCY_MEASUREMENT_ERROR },\n { label: 'Erreur de surveillance de mesure A', value: Consts.ACCESS_CONTROL_EVENT_DBG_MEASUREMENT_MONITORING_A },\n { label: 'Erreur de surveillance de mesure B', value: Consts.ACCESS_CONTROL_EVENT_DBG_MEASUREMENT_MONITORING_B },\n { label: 'Erreur de multiplexage de loop', value: Consts.ACCESS_CONTROL_EVENT_DBG_LOOP_MULTIPLEX_ERROR },\n { label: 'Différence de fréquence négative', value: Consts.ACCESS_CONTROL_EVENT_DBG_NEGATIVE_FREQUENCY_DIFFERENCE }, \n { label: 'Erreur matérielle', value: Consts.ACCESS_CONTROL_EVENT_HARDWARE_ERROR },\n { label: 'Erreur loop A', value: Consts.ACCESS_CONTROL_EVENT_ERROR_LOOP_A },\n { label: 'Erreur loop B', value: Consts.ACCESS_CONTROL_EVENT_ERROR_LOOP_B },\n]\n\nexport default {\n turnstilesState(state, parentState) {\n // parentState is now deprecated. It is kept for compatibility with old code\n return turnstilesStates.find(s => s.value == state)\n },\n\n turnstilesACBoxState(box) {\n // Check turnstiles status\n let state = turnstilesStates.find(s => s.value == TURNSTILE_STATE_READY)\n if (!box.Turnstiles || box.Turnstiles.length == 0) {\n return state\n }\n for (let ts of box.Turnstiles) {\n if (ts.State !== TURNSTILE_STATE_READY) {\n state = turnstilesStates.find(s => s.value == TURNSTILE_STATE_OFFLINE)\n break\n }\n }\n return state\n },\n\n turnstileType(v) {\n return turnstilesTypes.find(t => t.value == v) || Consts.ACCESS_CONTROL_TYPE.ACCESS_CONTROL_OTHER\n },\n\n turnstileGroupType(v) {\n return turnstilesGroupTypes.find(t => t.value == v)\n },\n\n passingDirection(v) {\n return passingDirections.find(d => d.value == v)\n },\n\n passingType(t) {\n return passingTypes.find(p => p.value == t)\n },\n\n accessControlEventType(x) {\n return accessControlEventTypes.find(t => t.value == x)\n },\n\n isPassingDateValid (date) {\n if (!date) {\n return false\n }\n const mm = moment(date)\n return mm.isValid() && mm.isAfter(moment('2005-01-01'))\n }\n}\n\nexport { turnstilesTypes, passingTypes, passingDirections, turnstilesStates, accessControlEventTypes }","import Consts from '../consts'\n\nconst bookingStatuses = [\n { label: 'Sur liste d\\'attente', value: Consts.BOOKING_STATUS_WAITING, icon: 'mdi-clock-time-four-outline', color: 'grey' },\n { label: 'En attente', value: Consts.BOOKING_STATUS_PENDING, icon: 'mdi-clock-time-four-outline', color: '#d68800' },\n { label: 'Validée', value: Consts.BOOKING_STATUS_VALIDATED, icon: 'mdi-check', color: '#2bc700' },\n { label: 'Annulée', value: Consts.BOOKING_STATUS_CANCELLED, icon: 'mdi-cancel', color: '#c72400' }\n]\n\nconst bookingRepeatStatuses = [\n { label: 'Brouillon', value: Consts.BOOKING_SLOT_REPEAT_STATUS_DRAFT, color: \"grey\" },\n { label: 'Activé', value: Consts.BOOKING_SLOT_REPEAT_STATUS_VALID, color: \"green\" },\n { label: 'Supprimé', value: Consts.BOOKING_SLOT_REPEAT_STATUS_DELETED, color: \"red\" },\n]\n\nconst bookingSlotWebModes = [\n { value: Consts.BOOKING_SLOT_WEB_MODE_UNLIMITED, label: 'Sans limite' },\n { value: Consts.BOOKING_SLOT_WEB_MODE_ZERO, label: 'Back-office uniquement' },\n { value: Consts.BOOKING_SLOT_WEB_MODE_SPECIFIC, label: 'Limite fixée' }\n]\n\nconst bookingSlotRepeatPublicationStatuses = [\n { value: Consts.BOOKING_SLOT_REPEAT_WEB_PUBLISHED_NONE, label: 'Visible en back office et non réservable', color: 'error' },\n { value: Consts.BOOKING_SLOT_REPEAT_WEB_PUBLISHED_INFO, label: 'Visible en ligne mais non réservable', color: 'warning' },\n { value: Consts.BOOKING_SLOT_REPEAT_WEB_PUBLISHED_BOOK, label: 'Visible et réservable', color: 'success' }\n]\n\nconst bookingCheckCodes = [\n { value: Consts.BOOKING_CHECK_CODES.TIME_PASSED, label: 'Temps dépassé' },\n { value: Consts.BOOKING_CHECK_CODES.SLOT_OUT_OF_VISIBILITY, label: 'Créneau non visible' },\n { value: Consts.BOOKING_CHECK_CODES.NO_PRODUCT, label: 'Aucun produit compatible' },\n { value: Consts.BOOKING_CHECK_CODES.NO_VOUCHER, label: 'Unités non utilisables' },\n { value: Consts.BOOKING_CHECK_CODES.WRONG_CLIENT_GROUP, label: 'Mauvais groupe du client' },\n { value: Consts.BOOKING_CHECK_CODES.LEVEL_NOT_GOOD, label: 'Niveau incompatible' },\n { value: Consts.BOOKING_CHECK_CODES.BOOKING_CHECK_CODE_BOOKINGS_LIMIT_REACHED, label: 'Limite de réservations dépassée' },\n { value: Consts.BOOKING_CHECK_CODES.ALREADY_BOOKED, label: 'Déjà réservé' },\n { value: Consts.BOOKING_CHECK_CODES.NO_PLACE_AVAILABLE, label: 'Plus de place disponible' },\n { value: Consts.BOOKING_CHECK_CODES.NO_PLACE_AVAILABLE_WEB, label: 'Plus de place disponble pour le web' },\n { value: Consts.BOOKING_CHECK_CODES.WEB_MODE_UNAVAILABLE, label: 'Non disponible pour le web' },\n { value: Consts.BOOKING_CHECK_CODES.INCOMPATIBLE_AGE, label: 'Age incompatible' },\n { value: Consts.BOOKING_CHECK_CODES.NOT_ENOUGH_QUANTITY, label: 'Pas assez de quantité sur l\\'abonnement' },\n { value: Consts.BOOKING_CHECK_CODES.NOT_ENOUGH_UNITS, label: 'Pas assez d\\'unités' },\n { value: Consts.BOOKING_CHECK_CODES.SUBSCRIPTION_EXPIRED, label: 'Abonnement expiré' },\n { value: Consts.BOOKING_CHECK_CODES.BOOKING_NOT_OPEN, label: 'Réservation non ouverte' },\n { value: Consts.BOOKING_CHECK_CODES.MEDICERT_REQUIRED, label: 'Certificat médical requis' },\n { value: Consts.BOOKING_CHECK_CODES.PRODUCT_UNRECHARGEABLE, label: 'Produit non rechargeable' },\n { value: Consts.BOOKING_CHECK_CODES.PERIODIC_SLOT_UNALLOWED, label: 'Créneau périodique non réservable à la séance' }\n]\n\nexport default {\n bookingSource(x) {\n switch (x) {\n case Consts.BOOKING_SOURCE_WEB: return { icon: 'mdi-web', label: 'Réservation par le Web' }\n case Consts.BOOKING_SOURCE_CASHREGISTER: return { icon: 'mdi-cash-register', label: 'Réservation par la caisse' }\n case Consts.BOOKING_SOURCE_MOBILE: return { icon: 'mdi-cellphone-android', label: 'Réservation par l\\'application mobile' }\n case Consts.BOOKING_SOURCE_KIOSK: return { icon: 'mdi-monitor-screenshot', label: 'Réservation par la borne' }\n default: return { icon: 'mdi-help', label: 'Inconnue' }\n }\n },\n\n bookingStatus(v) {\n return bookingStatuses.find(s => s.value == v)\n },\n\n bookingRepeatStatus(v) {\n return bookingRepeatStatuses.find(s => s.value == v)\n },\n\n bookingSlotWebMode(v) {\n return bookingSlotWebModes.find(s => s.value == v)\n },\n\n bookingSlotRepeatPublicationStatus(v) {\n return bookingSlotRepeatPublicationStatuses.find(s => s.value == v)\n },\n\n bookingCheckCode(v) {\n return bookingCheckCodes.find(c => c.value == v)\n }\n}\n\nexport { bookingStatuses , bookingRepeatStatuses, bookingSlotWebModes, bookingSlotRepeatPublicationStatuses, bookingCheckCodes}\n","import Consts from '../consts'\n\nconst clientsGenders = [\n { text: 'M', value: Consts.CLIENTS.GENDERS.MALE, civilite: 'Monsieur', sex: \"Homme\", icon: 'mdi-gender-male' },\n { text: 'Mme', value: Consts.CLIENTS.GENDERS.FEMALE , civilite: 'Madame', sex: \"Femme\", icon: 'mdi-gender-female' },\n // { text: '', value: Consts.CLIENTS.GENDERS.UNKNOW , civilite: 'Non précisé', sex: \"Non précisé\", icon: 'mdi-gender-non-binary' }\n]\n\nexport default {\n /**\n * @param {string} x Gender code : 'M', 'F', etc.\n */\n clientsGender(x) {\n return clientsGenders.find(elem => elem.value == x)\n }\n}\n\nexport { \n clientsGenders\n}","import Consts from '../consts'\nimport formsHelper from '../helpers/forms'\n\nconst SALE_TYPE_AVOIR = -1\nconst SALE_TYPE_CORRECTION = -2\n\nconst saleStates = [\n { label: 'Brouillon', value: Consts.SALE_STATE_DRAFT, icon: 'mdi-file', color: '#9c9c9c' },\n { label: 'En pause', value: Consts.SALE_STATE_PAUSED, icon: 'mdi-pause', color: '#9c9c9c' },\n { label: 'En attente de paiement', value: Consts.SALE_STATE_PAYING, icon: 'mdi-credit-card-clock', color: '#9c9c9c' },\n { label: 'En attente de confirmation', value: Consts.SALE_STATE_READY_CONFIRMED, icon: 'mdi-pause', color: '#9c9c9c' },\n { label: 'Confirmée', value: Consts.SALE_STATE_CONFIRMED, icon: 'mdi-check', color: '#50c246' },\n { label: 'Annulée', value: Consts.SALE_STATE_CANCELLED, icon: 'mdi-cancel', color: '#e34242' },\n { label: 'Paiement en pause', value: Consts.SALE_STATE_PAUSED_PAYING, icon: 'mdi-credit-card-clock', color: '#9c9c9c' },\n { label: 'En attente de paiement', value: Consts.SALE_STATE_PAYMENT_PENDING, icon: 'mdi-credit-card-clock', color: '#9c9c9c' },\n { label: 'Arrhes', value: Consts.SALE_STATE_ARRHES, icon: 'mdi-credit-card-settings', color: '#9c9c9c' },\n]\n\nconst discountConditionTypes = [\n {\n text: 'Lorsque le nombre produits achetés correspondants à la liste est égal à',\n value: Consts.DISCOUNT_CONDITION_TYPES.EQ_PRODUCTS_AMOUNT,\n valueDescription: 'Nombre de produits',\n useProductsIDs: true,\n icon: 'mdi-equal',\n validateValueRules: [formsHelper.requiredRule, formsHelper.isIntegerRule, formsHelper.isPositiveRule]\n },\n {\n text: 'Lorsque le nombre produits achetés correspondants à la liste est supérieur ou égal à',\n value: Consts.DISCOUNT_CONDITION_TYPES.GTE_PRODUCTS_AMOUNT,\n valueDescription: 'Minimum de produits achetés',\n useProductsIDs: true,\n icon: 'mdi-greater-than-or-equal',\n validateValueRules: [formsHelper.requiredRule, formsHelper.isIntegerRule, formsHelper.isPositiveRule]\n },\n {\n text: 'Lorsque le montant total de la vente dépasse',\n value: Consts.DISCOUNT_CONDITION_TYPES.GTE_SALE_TOTAL,\n valueDescription: 'Minimum du total de la vente',\n icon: 'mdi-cash',\n validateValueRules: [formsHelper.requiredRule, formsHelper.isPositiveRule]\n }\n]\n\n// Deprecared: use saleStates\nconst saleTypes = [\n { label: 'Vente confirmée', value: Consts.SALE_STATE_CONFIRMED },\n { label: 'Arrhes', value: Consts.SALE_STATE_ARRHES },\n { label: 'Avoir', value: SALE_TYPE_AVOIR },\n { label: 'Correction', value: SALE_TYPE_CORRECTION },\n { label: 'Vente non payée', value: Consts.SALE_STATE_PAYMENT_PENDING },\n]\n\n\nexport default {\n saleType (sale) {\n if (sale.CreditNote && !sale.Correction) {\n return saleTypes.find(t => t.value == SALE_TYPE_AVOIR)\n } else if (sale.Correction) {\n return saleTypes.find(t => t.value == SALE_TYPE_CORRECTION)\n } else if (!sale.CreditNote && sale.State === Consts.SALE_STATE_PAYMENT_PENDING) {\n return saleTypes.find(t => t.value == Consts.SALE_STATE_PAYMENT_PENDING)\n } else if (!sale.CreditNote && sale.State === Consts.SALE_STATE_ARRHES) {\n return saleTypes.find(t => t.value == Consts.SALE_STATE_ARRHES)\n } else if (!sale.CreditNote && sale.State !== Consts.SALE_STATE_PAYMENT_PENDING && sale.State !== Consts.SALE_STATE_ARRHES) {\n return saleTypes.find(t => t.value == Consts.SALE_STATE_CONFIRMED)\n }\n },\n\n saleState (state) {\n return saleStates.find(s => s.value == state)\n },\n\n discountType (type, curencySymbol = '€') {\n return this.discountTypes(curencySymbol).find(d => d.value == type)\n },\n\n discountTypes (curencySymbol = '€') {\n return [\n {\n label: \"Devise (toute la vente si présence d'un produit compatible)\",\n value: Consts.DISCOUNT_TYPES.PRICE,\n icon: 'mdi-cash',\n valueDescription: `Valeur de la remise en ${curencySymbol}`,\n prefix: curencySymbol,\n formatValue: (template) => `Remise de ${template.DiscountValue}${curencySymbol} sur la vente`,\n validateValueRules: [formsHelper.requiredRule, formsHelper.isNumericRule, formsHelper.isPositiveRule]\n },\n {\n label: 'Devise (par produit compatible)',\n value: Consts.DISCOUNT_TYPES.PRICE_BY_PRODUCT,\n icon: 'mdi-cash',\n valueDescription: `Valeur de la remise en ${curencySymbol}`,\n prefix: curencySymbol,\n formatValue: (template) => `Remise de ${template.DiscountValue}${curencySymbol} sur chaque produit compatible`,\n validateValueRules: [formsHelper.requiredRule, formsHelper.isNumericRule, formsHelper.isPositiveRule]\n },\n {\n label: 'Pourcentage',\n value: Consts.DISCOUNT_TYPES.PERCENT,\n icon: 'mdi-percent',\n valueDescription: 'Valeur de la remise en %',\n prefix: '%',\n formatValue: (template) => `Remise de ${template.DiscountValue}%`,\n validateValueRules: [formsHelper.requiredRule, formsHelper.isIntegerRule, formsHelper.isPositiveRule, formsHelper.isLessOrEqualRule(100), formsHelper.isGreatherThanRule(0)]\n },\n {\n label: 'Produits offerts',\n value: Consts.DISCOUNT_TYPES.OFFERED_PRODUCTS,\n icon: 'mdi-cursor-default-click-outline',\n iconColor: 'deep-purple accent-4',\n valueDescription: 'Nombre de produits offerts sélectionnables',\n formatValue: (template) => {\n let productOfferedAmount = parseInt(template.DiscountValue)\n if (template.UnchoosableProductsIDs) {\n productOfferedAmount += template.UnchoosableProductsIDs.length\n }\n\n return `${productOfferedAmount} produit${productOfferedAmount > 1 ? 's' : ''} offert${productOfferedAmount > 1 ? 's' : ''} `\n },\n validateValueRules: []\n },\n ]\n },\n\n discountConditionType (type) {\n return discountConditionTypes.find(d => d.value == type)\n }\n}\n\nexport { saleTypes, saleStates, discountConditionTypes }","import date from '../helpers/date'\nimport Consts from '../consts'\n\nconst subscriptionTypes = [\n { label: 'Crédit', value: Consts.SUBSCRIPTION_TYPE_CREDIT },\n { label: 'Abonnement', value: Consts.SUBSCRIPTION_TYPE_SUBSCRIPTION },\n { label: 'Quantité', value: Consts.SUBSCRIPTION_TYPE_PASS_Q },\n { label: 'Horaire', value: Consts.SUBSCRIPTION_TYPE_PASS_H },\n { label: 'Pack', value: Consts.SUBSCRIPTION_TYPE_PACK },\n { label: 'Autre', value: Consts.SUBSCRIPTION_TYPE_OTHER },\n { label: 'QR code', value: Consts.SUBSCRIPTION_TYPE_2DTAG }\n]\n\nconst validityTypes = [\n {\n value: Consts.PRODUCT_VALIDITY_SALE_DATE,\n label: \"À l'achat\",\n description: \"La validité du produit débutera dès l'achat du produit\"\n },\n {\n value: Consts.PRODUCT_VALIDITY_FIRST_USE,\n label: 'À la première utilisation',\n description: 'Le validité du produit débutera au premier passage'\n },\n {\n value: Consts.PRODUCT_VALIDITY_FIXED,\n label: 'Date fixe',\n description: 'Le validité du produit débutera à la date fixée dans la fiche produit'\n },\n {\n value: Consts.PRODUCT_VALIDITY_CUSTOM_DATE,\n label: \"Date fixée à l'achat\",\n description: \"Le produit sera valable à compter de la date fixée lors de l'ajout du produit au panier\"\n },\n {\n value: Consts.PRODUCT_VALIDITY_MATCH_BOOKING_DATE,\n label: \"Date calée sur la réservation\",\n description: \"Le produit sera valable à compter du début de la réservation et jusqu'à sa fin\",\n },\n {\n value: Consts.PRODUCT_VALIDITY_CUSTOM_PERIOD,\n label: \"Période de validité fixée à l'achat\",\n description: \"Le produit sera valable dans l'intervalle des dates fixées lors de l'ajout du produit au panier\",\n } \n]\n\nconst durationTypes = [\n {value: Consts.DURATION_PER_DAY, label: 'jour(s)'},\n {value: Consts.DURATION_PER_MONTH, label: 'mois'},\n {value: Consts.DURATION_PER_YEAR, label: 'année(s)'}\n]\n\nconst frequencies = [\n { label: 'Ne pas renouveler', value: Consts.FREQUENCY_NEVER},\n { label: 'Mensuel', value: Consts.FREQUENCY_MONTHLY },\n { label: 'Annuel', value: Consts.FREQUENCY_YEARLY }\n]\n\nconst frequenciesAlt = [\n {text: \"Mois\", value: 2},\n {text: \"An\", value: 3}\n]\n\nconst firstPurchaseModes = [\n {label: \"Ne pas renouveler\", value: null},\n {label: 'Date fixe', value: Consts.MODE_FIRST_PURCHASE_FIX_DATES},\n {label: 'Date à date', value: Consts.MODE_FIRST_PURCHASE_DATE_TO_DATE}\n]\n\nexport default {\n durationType(x) {\n return durationTypes.find(t => t.value == x)\n },\n\n subscriptionType(x) {\n return subscriptionTypes.find(t => t.value == x)\n },\n\n subscriptionStatus(subscription) {\n if (subscription.Discontinued == true) {\n return { label: \"Stoppé\", color: \"red\", icon: \"mdi-cancel\" };\n }\n else if (subscription.Paused) {\n return { label: \"En pause\", color: \"grey\", icon: \"mdi-pause\" };\n }\n else if (subscription.SubscriptionLimitDate && !date.isFuture(subscription.SubscriptionLimitDate)) {\n return { label: \"Expiré\", color: \"red\", icon: \"mdi-timer-sand-empty\" };\n }\n else if (subscription.Quantity <= 0) {\n return { label: \"Épuisé\", color: \"grey\", icon: \"mdi-cancel\" };\n }\n return { label: \"Actif\", color: \"green\", icon: \"mdi-check\" };\n },\n}\n\nexport { subscriptionTypes, validityTypes, durationTypes, frequencies, frequenciesAlt, firstPurchaseModes }","import './common'\nimport axios from 'axios'\n\nexport default {\n getTimeslots: (params) => axios.get('/access-control/timeslots', { params }),\n createTimeslots: (data) => axios.post('/access-control/timeslots', data),\n updateTimeslots: (data) => axios.put(`/access-control/timeslots/${data.ID}`, data),\n deleteTimeslot: (id) => axios.delete(`/access-control/timeslots/${id}`),\n getTimeslotGroup: (id) => axios.get(`/access-control/timeslots-groups/${id}`),\n getTimeslotsGroup: (params) => axios.get('/access-control/timeslots-groups', { params }),\n updateTimeslotGroup: (data) => axios.put(`/access-control/timeslots-groups/${data.GroupID}`, data),\n deleteTimeslotGroup: (id) => axios.delete(`/access-control/timeslots-groups/${id}`),\n getTimeslotTemplates: (params) => axios.get('/access-control/timeslots-templates', { params }),\n createTimeslotTemplate: (data) => axios.post('/access-control/timeslots-templates', data),\n updateTimeslotTemplate: (data) => axios.put(`/access-control/timeslots-templates/${data.ID}`, data),\n deleteTimeslotTemplate: (id) => axios.delete(`/access-control/timeslots-templates/${id}`),\n postRefreshTimeslots: (filters) => axios.post('/access-control/timeslots-refresh', filters),\n getScan: (id) => axios.get(`/access-control/scan/${id}`),\n postScanFlash: (id, data) => axios.post(`/access-control/scan/${id}/flash`, data),\n getPenalties: (params) => axios.get('/access-control/penalties', { params }),\n recreditPenaltyPassing: (data) => axios.post('/access-control/recredit-penalty', data),\n updateZoneProfile: (data) => axios.put(`/access-control/zone-profile/${data.ID}`, data),\n getZoneProfiles: (params) => axios.get('/access-control/zone-profiles', { params }),\n deleteZoneProfile: (id) => axios.delete(`/access-control/zone-profiles/${id}`),\n addTurnstilesOnZoneProfile: (profilID, data) => axios.post(`/access-control/zone-profile/${profilID}/turnstiles`, data),\n getTurnstilesInZoneProfileByAreaID: (id) => axios.get(`/access-control/zone-profile/turnstiles-area/${id}`),\n getAccessControlLogs: (params) => axios.get('/access-control/logs', { params })\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getClientAccounts: (clientId, params) => axios.get(`/clients/${clientId}/accounts`, { params }),\n postClientCreateAccount: (clientId, data) => axios.post(`/clients/${clientId}/create-account`, data),\n postClientDisableAccount: (clientId, data) => axios.post(`/clients/${clientId}/disable-account`, data),\n patchClientOnlineUser: (clientId, data) => axios.patch(`/clients/${clientId}/online-user`, data),\n postClientEnableAccount: (clientId, data) => axios.post(`/clients/${clientId}/enable-account`, data),\n postClientPermissions: (clientId, data) => axios.post(`/clients/${clientId}/permissions`, data),\n\n getTrainers: () => axios.get('/trainers'),\n getSellers: (params) => axios.get('/sellers', { params }),\n\n updateAccountPassword: (accountId, data) => axios.put(`/accounts/${accountId}/change-password`, data),\n resetAccountPassword: (accountId) => axios.put(`/accounts/${accountId}/reset-password`),\n\n getPermissionsProfiles: () => axios.get('/profiles'),\n createPermissionsProfile: (data) => axios.post('/profiles', data),\n updatePermissionsProfile: (data) => axios.put(`/profiles/${data.ID}`, data)\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getActivities: (params) => axios.get('/activities', { params }),\n getPeriodicActivities: (params) => axios.get('/periodic/activities', { params }),\n getActivity: (id) => axios.get(`/activities/${id}`),\n getActivitiesFamilies: (params) => axios.get('/activities-families', { params }),\n getLevels: (params) => axios.get('/levels', { params })\n\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getAreas: (params) => axios.get('/areas', { params }),\n createArea: (data) => axios.post('/areas', data),\n updateArea: (data) => axios.put(`/areas/${data.ID}`, data),\n getAreasAttendance: (areas) => axios.get('/areas-attendance', { params: { AreaID: areas } })\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n login: user => axios.post('/auth/login', user),\n loginToken: token => axios.post('/auth/login-token', { Token: token }),\n logout: () => axios.post('/auth/logout'),\n getAuthToken: data => axios.post('/auth-cas/token', data),\n checkAuthToken: (token) => axios.get(`/auth-cas/token/${token}`)\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getClients: (params) => axios.get('/clients', { params }),\n getClient: (id) => axios.get(`/clients/${id}`),\n getClientUnits: (id) => axios.get(`/clients/${id}/units`),\n getClientAlerts: (id) => axios.get(`/clients/${id}/alerts`),\n createClient: (data) => axios.post('/clients', data),\n updateClient: (id, client) => axios.put(`/clients/${id}`, client),\n upsertClientMandate: (id, mandate) => axios.post(`/clients/${id}/mandates`, mandate),\n updateClientSubscriptions: (id, subscriptions) => axios.put(`/clients/${id}/subscriptions`, subscriptions),\n deleteClient: (id) => axios.delete(`/clients/${id}`),\n\n checkMail: (mail) => axios.get('/check-mail', { params: { mail } })\n}\n","import axios from 'axios'\nimport store from '~/store/store'\nimport router from '~/router/router'\nimport Config from '~/config'\nimport EventBus from '~/eventbus'\n\naxios.defaults.baseURL = Config.BaseURL\n\naxios.interceptors.request.use(function (config) {\n if (store.getters.isLoggedIn) {\n if (config.headers.common) {\n config.headers.common.Authorization = store.getters.authToken\n } else {\n config.headers.common = { Authorization: store.getters.authToken }\n }\n }\n\n return config\n}, function (error) {\n return Promise.reject(error)\n})\n\naxios.interceptors.response.use(function (res) {\n return res\n}, function (res) {\n if (res.response.status >= 500) {\n // Notification.error({title: 'Erreur ' + res.response.status, message: 'Une erreur serveur est survenue, veuillez réessayer ultérieurement'});\n } else if (res.response.status === 401) {\n if (store.getters.isLoggedIn) {\n // Token likely expired, clear authentication\n store.dispatch('logout')\n setTimeout(() => {\n // yes, we check AGAIN, but we avoid getting spammed if multiple calls are set at the same time\n if (store.getters.isLoggedIn) {\n EventBus.$emit('toast-message', {\n type: 'error',\n message: 'Votre session a expiré, veuillez vous reconnecter'\n })\n }\n }, 50)\n }\n\n if (global.cashRegisterIPC && global.cashRegisterIPC.emit) {\n global.cashRegisterIPC.emit('auth-error', `session expired, received 401 on ${res.config.url}`)\n }\n\n router.push('/').catch(() => {})\n }\n\n return Promise.reject(res)\n})\n\nexport default {}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getTurnstiles: () => axios.get('/ctm/turnstiles'),\n getPassings: (params) => axios.get('/ctm/passings', { params }),\n sendTurnstilePassing: (data) => axios.post('/ctm/passings', data),\n getPassingsExcel: (params) => axios.get('/ctm/passings', { params, responseType: 'blob' }),\n postGroups: (group) => axios.post('/ctm/groups', group),\n putGroups: (group, params = {}) => axios.put(`/ctm/groups/${group.ID}`, { Params: params, Data: group }), // Params : { updateConfig: false } (updateConfig for send config signal to turnstile electronic card)\n deleteGroups: (group) => axios.delete(`/ctm/groups/${group.ID}`, group),\n sendAccessControlGroupSignal: (data) => axios.post('/ctm/groups/send-signal', data)\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n // gateways\n getLockerGateways: () => axios.get('/lockers/locker-gateways'),\n putLockerGateways: (id, data) => axios.put(`/lockers/locker-gateway/${id}`, data),\n\n // lockers\n getLockers: () => axios.get('/lockers/lockers'),\n getLocker: (id) => axios.get(`/lockers/locker/${id}`),\n getUnassociatedLockers: () => axios.get('/lockers/unassociated'),\n putLocker: (id, data) => axios.put(`/lockers/locker/${id}`, data),\n putLockerSettings: (id, data) => axios.put(`lockers/settings/${id}`, data),\n deleteLocker: (id) => axios.delete(`/lockers/locker/${id}`),\n\n // lockers actions\n changeAreaLockersState: (data) => axios.post('/lockers/area/change-state', data),\n changeBlockLockersState: (data) => axios.post('/lockers/block/change-state', data),\n changeLockersState: (data) => axios.post('/lockers/lockers/change-state', data),\n changeLockerState: (id, state) => axios.post(`/lockers/locker/${id}/change-state?state=` + state),\n changeLockersConfig: (id, data) => axios.post(`/lockers/locker/${id}/change-config`, data),\n associateLocker: (data) => axios.post('/lockers/locker/associate', data),\n dissociateLocker: (id) => axios.post(`/lockers/locker/${id}/dissociate`),\n changeLockerPreparation: (id, data) => axios.post(`/lockers/locker/${id}/preparation`, data),\n putLockersMastercode: (data) => axios.put('/lockers/change-mastercode', data),\n\n // lockers's types\n getLockersTypes: () => axios.get('/lockers/types'),\n getLockersType: (id) => axios.get(`/lockers/type/${id}`),\n postLockersType: (data) => axios.post('/lockers/type', data),\n putLockersType: (id, data) => axios.put(`/lockers/type/${id}`, data),\n deleteLockersType: (id) => axios.delete(`/lockers/type/${id}`),\n\n // lockers's blocs\n getLockersBlocks: (params) => axios.get('/lockers/blocks', { params }),\n getLockersBlock: (id) => axios.get(`/lockers/block/${id}`),\n postLockersBlock: (data) => axios.post('/lockers/block', data),\n putLockersBlock: (id, data) => axios.put(`/lockers/block/${id}`, data),\n deleteLockersBlock: (id) => axios.delete(`/lockers/block/${id}`),\n putLockersBlockSettings: (id, data) => axios.put(`/lockers/block-settings/${id}`, data),\n\n // lockers's bookings\n getLockerBookings: (params) => axios.get('/lockers/bookings', { params }),\n getLockerBooking: (id) => axios.get(`/lockers/bookings/${id}`),\n putLockerBooking: (id, data) => axios.put(`/lockers/bookings/${id}`, data),\n getLockerBookingIncidents: (bookingId) => axios.get(`/lockers/bookings/${bookingId}/incidents`),\n checkAttributedLockersAllOpened: (bookingId) => axios.get(`/lockers/bookings/${bookingId}/check-lockers-opened`),\n\n // lockers's bookings actions\n newLockerBooking: (data) => axios.post('/lockers/bookings', data),\n stopLockerBooking: (id) => axios.post(`/lockers/bookings/${id}/stop`),\n cancelLockerBooking: (id) => axios.post(`/lockers/bookings/${id}/cancel`),\n retryLockerAttribution: (bookingId) => axios.post(`/lockers/bookings/${bookingId}/retry-attribution`),\n\n // locker's incidents\n getLockersIncidents: (params) => axios.get('/lockers/incidents', { params }),\n putLockersIncidents: (id, data) => axios.put(`/lockers/incidents/${id}`, data),\n\n // locker's events\n getLockersEvents: (params) => axios.get('/lockers/events', { params }),\n refreshHistory: (params) => axios.get('/lockers/events/refresh-history', { params }),\n\n // locker's global params\n putLockersGlobalSettings: (data) => axios.put('/lockers/global-settings', data),\n\n // Locations\n getEstablishmentWithLockersStats: (id) => axios.get(`/lockers/establishment-with-stats/${id}`),\n getEstablishmentsWithLockersStats: () => axios.get('/lockers/establishments-with-stats'),\n getEstablishmentsWithAffectableLockers: (params) => axios.get('lockers/establishments-with-affectable', { params }),\n\n getAreaWithLockersStats: (id) => axios.get(`/lockers/area-with-stats/${id}`),\n getAreasWithLockersStats: () => axios.get('/lockers/areas-with-stats'),\n getAreasWithAffectableLockers: (params) => axios.get('lockers/areas-with-affectable', { params }),\n\n getBlockWithLockersStats: (id) => axios.get(`/lockers/block-with-stats/${id}`),\n getBlocksWithLockersStats: () => axios.get('/lockers/blocks-with-stats'),\n getBlocksWithAffectableLockers: (params) => axios.get('lockers/blocks-with-affectable', { params })\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getModules: () => axios.get('config.modules.json', { baseURL: '/' }),\n\n getParams: () => axios.get('/resa-params'),\n postParams: (data) => axios.post('/resa-params', data),\n\n updateMailer: () => axios.get('/params/update-mailer'),\n updateSMSer: () => axios.get('/params/update-smser'),\n getMailerPreview: (previewType) => axios.get(`/params/mailer-preview/${previewType}`),\n\n getGlobalParams: () => axios.get('/global-params'),\n postGlobalParams: (data) => axios.post('/global-params', data),\n\n getPeriods: (params) => axios.get('/periods', { params }),\n getPricing: (params) => axios.get('/pricing', { params }),\n getPaymentType: (params) => axios.get('/paymenttype', { params }),\n getEstablishments: () => axios.get('/establishments'),\n getEstablishment: (id) => axios.get(`/establishments/${id}`),\n postEstablishment: (data) => axios.post('/establishments', data),\n putEstablishment: (data) => axios.put(`/establishments/${data.ID}`, data)\n\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getProducts: (params) => axios.get('/products', { params }),\n getProductsStats: (params) => axios.get('/products-stats', { params }),\n getProductsByIDs: (params) => axios.get('/products-by-ids', { params }),\n getPaginatedProducts: (params) => axios.get('/products-paginated', { params }),\n getFamilies: (params) => axios.get('/families', { params }),\n getCardTypes: () => axios.get('/card-types'),\n getProductsStockConsumption: (params) => axios.get('/products-stock-consumption', { params }),\n pickFromStock: (data) => axios.post('/products-stock-consumption', data),\n getFamiliesTreeWithProducts: (params) => axios.get('/families-tree-with-products', { params }),\n\n putProduct: (productUUID, data) => axios.put(`/products/${productUUID}`, data),\n postFamily: (data) => axios.post('/families', data),\n putFamily: (familyUUID, data) => axios.put(`/families/${familyUUID}`, data)\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n // Quotations\n getQuotation: (quotationuuid, params) => axios.get(`/quotations/${quotationuuid}`, { params }),\n getPaginatedQuotations: (params) => axios.get('/quotations-paginated', { params }),\n getQuotations: (params) => axios.get('/quotations', { params }),\n postQuotation: (data) => axios.post('/quotations', data),\n putQuotation: (quotationuuid, data) => axios.put(`/quotations/${quotationuuid}`, data),\n deleteQuotation: (quotationuuid) => axios.delete(`/quotations/${quotationuuid}`),\n\n getQuotationLine: (quotationuuid, lineuuid, params) => axios.get(`/quotations/${quotationuuid}/lines/${lineuuid}`, { params }),\n getQuotationLines: (quotationuuid, params) => axios.get(`/quotations/${quotationuuid}`, { params }),\n postQuotationLine: (quotationuuid, data) => axios.post(`/quotations/${quotationuuid}`, data),\n putQuotationLine: (quotationuuid, lineuuid, data) => axios.put(`/quotations/${quotationuuid}/lines/${lineuuid}`, data),\n deleteQuotationLine: (quotationuuid, lineuuid) => axios.delete(`/quotations/${quotationuuid}/lines/${lineuuid}`),\n\n getQuotationhHistory: (quotationuuid, version, params) => axios.get(`/quotations/${quotationuuid}/history/${version}`, { params }),\n getQuotationhHistories: (quotationuuid, params) => axios.get(`/quotations/${quotationuuid}/history`, { params }),\n\n getQuotationSale: (quotationuuid, params) => axios.get(`/quotations/${quotationuuid}/sales`, { params }),\n getQuotationSales: (params) => axios.get('/quotes/sales', { params }),\n postQuotationSale: (quotationuuid, data) => axios.post(`/quotations/${quotationuuid}/sales`, data),\n putQuotationSale: (quotationuuid, saleuuid, data) => axios.put(`/quotations/${quotationuuid}/sales/${saleuuid}`, data),\n getQuotationSaleBill: (orderuuid) => axios.get(`/quotes/bill/${orderuuid}/`, { responseType: 'blob' }),\n\n getQuotationExportPDF: (quotationuuid, params) => axios.get(`/quotations/${quotationuuid}/export/pdf`, { responseType: 'blob', params }),\n getQuotationExportExcel: (quotationuuid, params) => axios.get(`/quotations/${quotationuuid}/export/excel`, { responseType: 'blob', params }),\n getQuotationsExportExcel: (params) => axios.get('/quotes/export/excel', { responseType: 'blob', params }),\n\n postQuotationSendMail: (quotationuuid, data) => axios.post(`/quotations/${quotationuuid}/send/mail`, data),\n\n // Pricings\n getQuotationPricing: (pricinguuid, params) => axios.get(`/quotes/pricings/${pricinguuid}`, { params }),\n getQuotationPricings: (params) => axios.get('/quotes/pricings', { params }),\n postQuotationPricing: (data) => axios.post('/quotes/pricings', data),\n putQuotationPricing: (pricinguuid, data) => axios.put(`/quotes/pricings/${pricinguuid}`, data),\n deleteQuotationPricing: (pricinguuid) => axios.delete(`/quotes/pricings/${pricinguuid}`),\n // Products\n getQuotationProduct: (productuuid, params) => axios.get(`/quotes/products/${productuuid}`, { params }),\n getQuotationProducts: (params) => axios.get('/quotes/products', { params }),\n postQuotationProduct: (data) => axios.post('/quotes/products', data),\n putQuotationProduct: (productuuid, data) => axios.put(`/quotes/products/${productuuid}`, data),\n deleteQuotationProduct: (productuuid) => axios.delete(`/quotes/products/${productuuid}`),\n initQuotationProducts: () => axios.get('/quotes/products-init'),\n // Families\n getQuotationProductsFamilie: (familyuuid, params) => axios.get(`/quotes/families/${familyuuid}`, { params }),\n getQuotationProductsFamilies: (params) => axios.get('/quotes/families', { params }),\n postQuotationProductsFamily: (data) => axios.post('/quotes/families', data),\n putQuotationProductsFamily: (familyuuid, data) => axios.put(`/quotes/families/${familyuuid}`, data),\n deleteQuotationProductsFamily: (familyuuid) => axios.delete(`/quotes/families/${familyuuid}`),\n // Catalogs\n getQuotationProductsCatalogue: (catalogueuuid, params) => axios.get(`/quotes/catalogues/${catalogueuuid}`, { params }),\n getQuotationProductsCatalogues: (params) => axios.get('/quotes/catalogues', { params }),\n postQuotationProductsCatalogue: (data) => axios.post('/quotes/catalogues', data),\n putQuotationCatalogue: (catalogueuuid, data) => axios.put(`/quotes/catalogues/${catalogueuuid}`, data),\n deleteQuotationCatalogue: (catalogueuuid) => axios.delete(`/quotes/catalogues/${catalogueuuid}`),\n\n // Clients\n getQuotationClient: (clientuuid, params) => axios.get(`/quotes/clients/${clientuuid}`, { params }),\n getQuotationClients: (params) => axios.get('/quotes/clients', { params }),\n postQuotationClient: (data) => axios.post('/quotes/clients', data),\n putQuotationClient: (clientuuid, data) => axios.put(`/quotes/clients/${clientuuid}`, data),\n deleteQuotationClient: (clientuuid) => axios.delete(`/quotes/clients/${clientuuid}`),\n\n getQuotationClientProductsAndFamilies: (clientuuid, params) => axios.get(`/quotes/clients/${clientuuid}/products-and-families`, { params }),\n\n // Sales Representatives\n getQuotationSalesRepresentative: (clientuuid, params) => axios.get(`/quotes/sales-representatives/${clientuuid}`, { params }),\n getQuotationSalesRepresentatives: (params) => axios.get('/quotes/sales-representatives', { params }),\n postQuotationSalesRepresentative: (data) => axios.post('/quotes/sales-representatives', data),\n putQuotationSalesRepresentative: (clientuuid, data) => axios.put(`/quotes/sales-representatives/${clientuuid}`, data),\n deleteQuotationSalesRepresentative: (clientuuid) => axios.delete(`/quotes/sales-representatives/${clientuuid}`)\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n // SPA Universes\n getSpaUniverses: (params) => axios.get('/spa/universes', { params }),\n getSpaUniverse: (id) => axios.get(`/spa/universes/${id}`),\n createSpaUniverse: (data) => axios.post('/spa/universes', data),\n updateSpaUniverse: (id, data) => axios.put(`/spa/universes/${id}`, data),\n\n // SPA web availabilities models\n getSpaWebAvailabilitiesModels: (params) => axios.get('/spa/web-availabilities-models', { params }),\n getSpaWebAvailabilitiesModel: (id) => axios.get(`/spa/web-availabilities-models/${id}`),\n postSpaWebAvailabilitiesModel: (data) => axios.post('/spa/web-availabilities-models', data),\n putSpaWebAvailabilitiesModel: (id, data) => axios.put(`/spa/web-availabilities-models/${id}`, data),\n\n // SPA universe web availabilities\n getSpaUniverseWebAvailabilities: (universeUUID) => axios.get(`/spa/universe/${universeUUID}/web-availabilities`),\n postSpaUniverseWebAvailabilities: (universeUUID, data) => axios.post(`/spa/universe/${universeUUID}/web-availabilities`, data),\n putSpaUniverseWebAvailabilities: (universeUUID, webAvailabilityUUID, data) => axios.put(`/spa/universe/${universeUUID}/web-availabilities/${webAvailabilityUUID}`, data),\n deleteSpaUniverseWebAvailabilities: (universeUUID, params) => axios.delete(`/spa/universe/${universeUUID}/web-availabilities`, { params }),\n deleteSpaUniverseWebAvailabilitie: (universeUUID, params) => axios.delete(`/spa/universe/${universeUUID}/web-availabilitie`, { params }),\n\n // SPA Resources\n getSpaResources: (params) => axios.get('/spa/resources', { params }),\n getSpaResource: (id) => axios.get(`/spa/resources/${id}`),\n createSpaResource: (data) => axios.post('/spa/resources', data),\n updateSpaResource: (id, data) => axios.put(`/spa/resources/${id}`, data),\n updateSpaResourceActivities: (id, data) => axios.put(`/spa/resources/${id}/activities`, data),\n\n // SPA Personnels\n getSpaPersonnels: (params) => axios.get('/spa/personnels', { params }),\n getSpaPersonnel: (id) => axios.get(`/spa/personnels/${id}`),\n createSpaPersonnel: (data) => axios.post('/spa/personnels', data),\n updateSpaPersonnel: (id, data) => axios.put(`/spa/personnels/${id}`, data),\n updateSpaPersonnelActivities: (id, data) => axios.put(`/spa/personnels/${id}/activities`, data),\n\n // SPA Personnels unavailabilities\n getSpaPersonnelsUnavailabilities: (params) => axios.get('/spa/unavailabilities', { params }),\n createSpaPersonnelUnavailability: (data) => axios.post('/spa/unavailabilities', data),\n updateSpaPersonnelUnavailability: (id, data) => axios.put(`/spa/unavailabilities/${id}`, data),\n deleteSpaPersonnelUnavailability: (id) => axios.delete(`/spa/unavailabilities/${id}`),\n deleteSpaPersonnelUnavailabilityMass: (data) => axios.post('/spa/unavailabilities-mass', data),\n getSpaUnavailabilitiesModels: (params) => axios.get('/spa/unavailabilities-models', { params }),\n createSpaUnavailabilityModel: (data) => axios.post('/spa/unavailabilities-models', data),\n updateSpaUnavailabilityModel: (id, data) => axios.put(`/spa/unavailabilities-models/${id}`, data),\n deleteSpaUnavailabilityModel: (id) => axios.delete(`/spa/unavailabilities-models/${id}`),\n createSpaApplyUnavailabilityModel: (data) => axios.post('/spa/apply-unavailability-model', data),\n\n // SPA Activities\n getSpaActivities: (params) => axios.get('/spa/activities', { params }),\n getSpaActivity: (id) => axios.get(`/spa/activities/${id}`),\n createSpaActivity: (data) => axios.post('/spa/activities', data),\n updateSpaActivity: (id, data) => axios.put(`/spa/activities/${id}`, data),\n\n // SPA ActivityFamilies\n getSpaActivityFamilies: (params) => axios.get('/spa/activity-families', { params }),\n createSpaActivityFamily: (data) => axios.post('/spa/activity-families', data),\n updateSpaActivityFamily: (id, data) => axios.put(`/spa/activity-families/${id}`, data),\n deleteSpaActivityFamily: (id) => axios.delete(`/spa/activity-families/${id}`),\n\n // SPA Products\n getSpaProducts: (params) => axios.get('/spa/products', { params }),\n getSpaProduct: (id) => axios.get(`/spa/products/${id}`),\n createSpaProduct: (data) => axios.post('/spa/products', data),\n updateSpaProduct: (id, data) => axios.put(`/spa/products/${id}`, data),\n\n // SPA Booking\n getSpaBookings: (params) => axios.get('/spa/bookingsv1', { params }), // Deprecated, use getPaginatedSpaBookings instead\n getPaginatedSpaBookings: (params) => axios.get('/spa/bookings', { params }), // Use this instead of getSpaBookings\n\n updateSpaBooking: (id, data) => axios.put(`/spa/bookings/${id}`, data),\n sendSpaBookingNotification: (id, type) => axios.post(`/spa/bookings/${id}/notification/${type}`),\n getClientsWithUnplacedSpaBookings: (params) => axios.get('/spa/bookings/unplaced/clients', { params }),\n\n // SPA Sales\n createSpaSale: (data) => axios.post('/spa/sales', data),\n getSpaPendingSales: (params) => axios.get('/spa/sales/pending', { params }),\n getSpaPendingProducts: (params) => axios.get('/spa/sales/pending-products', { params }),\n enableSpaPendingSale: (data) => axios.post('/spa/sales/enable', data),\n deleteSpaSale: (id) => axios.delete(`/spa/sales/${id}`)\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n // Setups\n syncAllStats: (params) => axios.get('/stats/sync-all-stats', { params }),\n deleteAllStats: (params) => axios.get('/stats/delete-all-stats', { params }),\n resetAllStats: (params) => axios.get('/stats/reset-all-stats', { params }),\n refreshAllStats: (params) => axios.get('/stats/refresh-all-stats', { params }),\n\n getSyncAllStatsTimetables: (params) => axios.get('/stats/setup/sync-timetables-import', { params }),\n getNewSyncAllStatsTimetables: (params) => axios.get('/stats/setup/sync-timetables-refresh', { params }),\n getSyncAllStatsTimetablesFormatted: (params) => axios.get('/stats/setup/sync-timetables-formatted', { params }),\n\n // Predictions\n getPredictionsPassings: (params) => axios.get('/stats/predictions/passings', { params }),\n\n // Dashboard\n getStatsDashboardLayouts: (params) => axios.get('/stats/dashboard/layout', { params }),\n upsertStatsDashboardLayout: (data, params) => axios.post('/stats/dashboard/layout', data, { params }),\n\n // Utils\n getStatsResaYearsWithData: (params) => axios.get('/stats-resa/years-with-data', { params }),\n getStatsResaFirstYearWithData: (params) => axios.get('/stats-resa/years-with-data/first', { params }),\n getStatsResaLastYearWithData: (params) => axios.get('/stats-resa/years-with-data/last', { params }),\n\n // Passings\n getStatsPassingsFrequentations: (params) => axios.get('/stats/passings/frequentations', { params }),\n getStatsPassingsPlannings: (params) => axios.get('/stats/passings/plannings', { params }),\n\n getStatsPassingsByProductTypeExcelGlobal: (params) => axios.get('/stats/passings/excel/global/by-product-type', { params, responseType: 'blob' }),\n getStatsPassingsByProductExcelGlobal: (params) => axios.get('/stats/passings/excel/global/by-product', { params, responseType: 'blob' }),\n getStatsPassingsByActivityExcelGlobal: (params) => axios.get('/stats/passings/excel/global/by-activity', { params, responseType: 'blob' }),\n postStatsPassingsExcelClientsDataTable: (data) => axios.post('/stats/passings/excel/clients-data-table', data, { responseType: 'blob' }),\n\n // Sales\n getStatsSalesPeriodicReport: (params) => axios.get('/stats/sales/periodic-report', { params }),\n\n // Spa\n getSoldProductsPeriodicReport: (params) => axios.get('/stats/spa/periodic-report', { params }),\n getStatsSpaResourcesOccupationRates: (params) => axios.get('/stats/spa/occupation-rates/resources', { params }),\n getStatsSpaPersonnelsOccupationRates: (params) => axios.get('/stats/spa/occupation-rates/personnels', { params }),\n\n /// RESA\n // Descriptives : Totaux\n\n /// /////////////////////////////////////// Pre-select Filters ///////////////////////////////////////////////////////\n\n // All resa\n selectSavedFiltersResaNames: (params) => axios.get('/stats-resa/saved-filters/resa/select/names', { params }),\n selectSavedFiltersResa: (params) => axios.get('/stats-resa/saved-filters/resa/select', { params }),\n insertSavedFilterResa: (data) => axios.post('/stats-resa/saved-filters/resa/insert', data),\n updateSavedFilterResa: (data) => axios.post('/stats-resa/saved-filters/resa/update', data),\n deleteSavedFilterResa: (params) => axios.get('/stats-resa/saved-filters/resa/delete', { params }),\n\n /// /////////////////////////////////////// Fréquentations ///////////////////////////////////////////////////////\n\n getStatsResaFrequentationsParActivite: (params) => axios.get('/stats-resa/frequentations/par-activite', { params }),\n\n /// /////////////////////////////////////// Bilans Périodiques ///////////////////////////////////////////////////////\n // Réservations\n getStatsResaDescriptivesProportionsTypesResa: (params) => axios.get('/stats-resa/bilans-periodiques/reservations/proportions-types-resa', { params }),\n\n // Activités\n getStatsResaDescriptivesActivitiesData: (params) => axios.get('/stats-resa/bilans-periodiques/activites/activities-data', { params }),\n\n // Clients\n getStatsResaDescriptivesClientsAge: (params) => axios.get('/stats-resa/bilans-periodiques/clients/activities-by-age', { params }),\n\n // Articles\n\n // Bookings Slots\n getBookingsSlotsDetailled: (params) => axios.get('/stats-resa/bilans-periodiques/bookings-slots/detailled', { params }),\n getBookingsSlotsCount: (params) => axios.get('/stats-resa/bilans-periodiques/bookings-slots/count', { params }),\n\n // Trainers\n getTrainersDetailled: (params) => axios.get('/stats-resa/bilans-periodiques/trainers/detailled', { params }),\n\n /// /////////////////////////////////////// Plannings ///////////////////////////////////////////////////////\n\n // Plannings CR\n getStatsResaPlanningsCRByDateRange: (params) => axios.get('/stats-resa/plannings/cr/by-date-range', { params })\n\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getTemplates: (filters) => axios.get('/templates', { params: filters }),\n getTemplate: (id) => axios.get(`/templates/${id}`),\n createTemplate: (data) => axios.post('/templates', data),\n updateTemplate: (id, data) => axios.put(`/templates/${id}`, data),\n getTemplatePreview: (id) => axios.get(`/templates/${id}/preview`, { responseType: 'blob' }),\n getDynamicValues: (id) => axios.get('/templates-dynamic-values')\n\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n scanVoucher: (id) => axios.get(`/vouchers/${id}/scan`),\n validateVoucher: (data) => axios.post(`/vouchers/${data.VoucherID}/validate`, data),\n getVouchers: (options) => axios.get('/vouchers', { params: options }),\n getPaginatedVouchers: (options) => axios.get('/paginated-vouchers', { params: options }),\n convertVoucherGiftToCredit: (data) => axios.post(`/vouchers/${data.VoucherID}/convert-to-credit`, data),\n getGiftVouchers: (params) => axios.get('/vouchers-gift', { params }),\n getGiftVouchersExcel: (params) => axios.get('/vouchers-gift', { params, responseType: 'blob' }),\n downloadVoucher: (id, params) => axios.get(`/vouchers/${id}/pdf`, { params, responseType: 'blob' }),\n updateVoucher: (voucher) => axios.put(`/vouchers/${voucher.ID}`, voucher),\n massPushVouchers: (data) => axios.post('/vouchers-mass-push', data),\n postSheets: (data) => axios.post('/vouchers-sheets', data),\n putSheet: (id, data) => axios.put(`/vouchers-sheets/${id}`, data),\n getSheets: (params) => axios.get('/vouchers-sheets', { params }),\n getPaginatedSheets: (params) => axios.get('/vouchers-sheets-paginated', { params }),\n getSheet: (id, params) => axios.get(`/vouchers-sheets/${id}`, { params }),\n getSheetsPdf: (id, params) => axios.get(`/vouchers-sheets/${id}/pdf`, { params, responseType: 'blob' }),\n postSheetsPdfPreview: (data, params) => axios.post('/vouchers-sheets-preview/pdf', data, { params, responseType: 'blob' }),\n getSheetsExcel: (id, params) => axios.get(`/vouchers-sheets/${id}/excel`, { params, responseType: 'blob' }),\n getSheetsInvoice: (id, params) => axios.get(`/vouchers-sheets/${id}/invoice`, { params }),\n postVoucherSale: (data) => axios.post('/vouchers-sale', data)\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getWeekTypes: (params) => axios.get('/week-types', { params }),\n putWeekType: (id, data) => axios.put(`/week-types/${id}`, data),\n postWeekType: (data) => axios.post('/week-types', data),\n deleteWeekType: (id) => axios.delete(`/week-types/${id}`)\n}\n","export default {\n// BaseURL: 'http://localhost:8085/api/v1',\n// WSURL: 'localhost:8085'\n// BaseURL: 'https://swimlor.stream.netlor.fr/api/v1'\n BaseURL: (process.env.VUE_APP_API_HOST || '') + '/api/v1',\n ServerURL: new URL(process.env.VUE_APP_API_HOST || window.location.origin),\n WSURL: process.env.VUE_APP_API_HOST ?? window.location.host\n}\n","import Vue from 'vue'\n\nconst eventbus = new Vue()\n\nglobal.eventbus = eventbus // for cashregister ipc\n\nexport default eventbus\n","import moment from 'moment'\n\nexport default {\n methods: {\n formatDate (d) {\n return moment(d).format('DD/MM/YYYY')\n },\n formatDateUS (d) {\n return moment(d).format('YYYY-MM-DD')\n },\n formatDateCustom (d, layout) {\n return moment(d).format(layout)\n },\n formatBirthDate (date) {\n const parsedDate = moment(date)\n if (!parsedDate.isValid() || parsedDate.year() <= 1901) {\n return ''\n } else {\n return parsedDate.format('DD/MM/YYYY')\n }\n },\n formatDateTime (d) {\n return moment(d).format('DD/MM/YYYY HH:mm')\n },\n formatDateTimeSeconds (d) {\n return moment(d).format('DD/MM/YYYY HH:mm:ss')\n },\n formatDateHuman (d) {\n return moment(d).format('ddd DD MMM YYYY')\n },\n formatDateWeek (d) {\n return moment(d).format('MMM YYYY ([S]WW)')\n },\n formatHumanBirthDate (date) {\n const parsedDate = moment(date)\n if (!parsedDate.isValid() || parsedDate.year() <= 1901) {\n return ''\n } else {\n return this.formatDateHuman(date)\n }\n },\n formatDateTimeHuman (d) {\n return moment(d).format('ddd DD MMM YYYY, HH:mm')\n },\n formatTime (d) {\n return moment(d).format('HH:mm')\n },\n formatTimeSecs (d) {\n return moment(d).format('HH:mm:ss')\n },\n formatWeekNumber (d) {\n return moment(d).format('W')\n },\n parseDate (d) {\n const date = moment(d, 'DD/MM/YYYY')\n if (date.isValid()) {\n return date.format('YYYY-MM-DD')\n } else {\n return ''\n }\n },\n prevDay (d) {\n return moment(d).subtract(1, 'days').format('YYYY-MM-DD')\n },\n nextDay (d) {\n return moment(d).add(1, 'days').format('YYYY-MM-DD')\n },\n prevWeek (d) {\n return moment(d).subtract(1, 'week').format('YYYY-MM-DD')\n },\n nextWeek (d) {\n return moment(d).add(1, 'week').format('YYYY-MM-DD')\n },\n isThisHour (hour) {\n return parseInt(moment().format('HH'), 10) === parseInt(hour, 10)\n },\n isToday (date) {\n return (\n moment(date).format('YYYY-MM-DD') ===\n moment().format('YYYY-MM-DD')\n )\n },\n dateNow () {\n return moment().format('YYYY-MM-DD')\n },\n timeNow () {\n return moment().format('HH:mm')\n },\n isFuture (d) {\n return moment(d).isSameOrAfter(moment())\n },\n getAge (date) {\n const parsedDate = moment(date)\n if (!parsedDate.isValid() || parsedDate.year() <= 1901) {\n return ''\n } else {\n return moment().diff(parsedDate, 'years')\n }\n },\n\n getDiff (d1, d2, unitOfTime) {\n const parsedDate1 = moment(d1).startOf('day')\n const parsedDate2 = d2 ? moment(d2).startOf('day') : moment().startOf('day')\n if (!parsedDate1.isValid() || parsedDate1.year() <= 1901 || !parsedDate2.isValid() || parsedDate2.year() <= 1901) {\n return ''\n } else {\n return parsedDate1.diff(parsedDate2, unitOfTime || 'days')\n }\n },\n getWeekDayName (date, capitalize) {\n let d = moment(date).format('dddd')\n if (capitalize) {\n d = d.charAt(0).toUpperCase() + d.slice(1)\n }\n return d\n },\n getWeekDayNumber (date) {\n return moment(date).day()\n },\n\n getWeekNumber (date) {\n return moment(date).week()\n },\n compareDate (d1, d2) {\n return moment(d1).isSame(moment(d2))\n ? 0\n : moment(d1).isBefore(moment(d2))\n ? -1\n : 1\n },\n dateBetween (date, start, end) {\n return moment(date).isBetween(start, end, undefined, '[)')\n }\n }\n}\n","import { mapGetters } from 'vuex'\n\nexport default {\n computed: {\n ...mapGetters(['establishments', 'areas', 'products'])\n },\n\n methods: {\n getEstablishmentFromID (establishmentID) {\n const establishment = this.establishments.find(a => a.ID === establishmentID)\n if (!establishment) {\n return { Label: '-' }\n }\n return establishment\n },\n\n getEstablishmentAreas (establishmentID) {\n const areas = this.areas.filter(e => e.EstablishmentID === establishmentID)\n if (!areas) {\n return { Label: '-' }\n }\n return areas\n },\n\n getAreaFromID (areaID) {\n const area = this.areas.find(a => a.ID === areaID)\n if (!area) {\n return { Label: '-' }\n }\n return area\n },\n\n getProductByID (productID) {\n const product = this.products.find(p => p.ID === productID)\n if (!product) {\n return { Label: { FR: '-' } }\n }\n return product\n },\n\n async getDefaultRoute () {\n const defaultRoutes = {\n planning: 'planning-index',\n ctm: 'turnstiles-status',\n clients: 'clients-index',\n spa: 'spa-index',\n cashregister: 'cashregister-index',\n stats: 'stats-dashboard',\n lockers: 'lockers-manager',\n activities: 'activities-index',\n kiosks: 'kiosks-index',\n quotations: 'quotation-index'\n }\n let nextRoute\n\n if (this.$store.getters.authUser && this.$store.getters.authUser.DefaultModule) {\n nextRoute = defaultRoutes[this.$store.getters.authUser.DefaultModule]\n } else {\n const res = await this.$store.dispatch('getParams')\n if (res.data !== null && defaultRoutes[this.formatParams(res.data, 'main').mainDefaultModule]) {\n nextRoute = defaultRoutes[this.formatParams(res.data, 'main').mainDefaultModule]\n }\n }\n\n if (!nextRoute) {\n nextRoute = 'planning-index'\n }\n\n return nextRoute\n }\n }\n}\n","import eventbus from '../eventbus'\n\nexport default {\n data: () => ({\n webviewData: global.cashRegisterIPC ? global.cashRegisterIPC.data : null\n }),\n\n mounted () {\n if (!global.eventbus) {\n global.eventbus = eventbus\n }\n },\n methods: {\n // need to be a method, if computed, it is not triggered because global.cashRegisterIPC is not part of vuejs reactivity\n wvEnabled () {\n return !!global.cashRegisterIPC\n },\n\n wvGetData () {\n return this.wvEnabled() ? global.cashRegisterIPC.data : null\n },\n\n wvGetDataValue (key) {\n return this.wvEnabled() && global.cashRegisterIPC.data ? global.cashRegisterIPC.data[key] : null\n },\n\n wvEmit (channel, args) {\n if (this.wvEnabled()) {\n global.cashRegisterIPC.emit(channel, args)\n } else {\n console.error(`can't emit ${channel} from webview mixin: no cashregister ipc`)\n }\n },\n\n wvEmitPromise (channel, args) {\n if (this.wvEnabled()) {\n return global.cashRegisterIPC.emitPromise(channel, args)\n } else {\n console.error(`can't emit ${channel} from webview mixin: no cashregister ipc`)\n }\n },\n\n wvReady () {\n this.wvEmit('ready')\n },\n\n wvClose () {\n this.wvEmit('close')\n },\n\n wvAuthError (message) {\n this.wvEmit('auth-error', message)\n },\n\n wvLogout () {\n this.wvEmit('logout')\n },\n\n wvLoggedIn () {\n this.wvEmit('logged-in')\n },\n\n wvResumeSale (saleId) {\n this.wvEmit('resume-sale', { SaleID: saleId })\n },\n\n wvRemoveSaleLine (saleLineID, clientID) {\n this.wvEmit('remove-saleline', { saleLineID, clientID })\n },\n\n wvVoucherValidated (voucher) {\n this.wvEmit('voucher-validated', voucher)\n },\n\n wvAssociateCard (cardType, clientID) {\n return this.wvEmitPromise('associate-card', { cardType, clientID })\n },\n\n wvToast (type, message) {\n this.wvEmit('toast-message', { type, message })\n },\n\n wvOdeonUnreadAmount (unreadAmount) {\n this.wvEmit('odeon-unread-amount', unreadAmount)\n },\n\n wvPeriodicBookingSaved (periodicBookingID) {\n this.wvEmit('periodic-booking-saved', periodicBookingID)\n }\n }\n}\n","import { mapGetters } from 'vuex'\nimport EventBus from '~/eventbus'\n\nconst WSFrameTypeKeepAlive = (-1)\nconst WSFrameTypeError = (0)\nconst WSFrameTypeSubscribe = (1)\nconst WSFrameTypeNotify = (2)\nconst WSFrameTypeRequestAuth = (3)\nconst WSFrameTypeResponseAuth = (4)\nconst WSFrameTypeUpdateTurnstile = (5)\nconst WSFrameTypeUnsubscribe = (6)\n\nexport default {\n data () {\n return {\n wsState: {\n Authenticated: false\n }\n }\n },\n\n computed: {\n ...mapGetters(['getSubscribersFor']),\n\n ws_IsConnected () {\n return this.$socket.readyState === 1\n },\n\n ws_IsAuthenticated () {\n return this.wsState.Authenticated\n }\n },\n\n methods: {\n _ws_Register () {\n this.$options.sockets.onmessage = this._ws_OnMessage\n },\n\n _ws_Unregister () {\n delete this.$options.sockets.onmessage\n },\n\n _ws_OnMessage (data) {\n const lines = data.data.split('\\n')\n\n for (let i = 0; i < lines.length; ++i) {\n const json = JSON.parse(lines[i])\n\n switch (json.Type) {\n case WSFrameTypeError:\n if (this.ws_cb_onError) {\n this.ws_cb_onError(json.Data)\n }\n break\n\n case WSFrameTypeResponseAuth:\n if (this.ws_cb_ResponseAuth) {\n this.ws_cb_ResponseAuth(json.Data)\n }\n break\n\n case WSFrameTypeSubscribe:\n // ignore\n break\n\n case WSFrameTypeNotify:\n if (this.ws_cb_onNotify) {\n this.ws_cb_onNotify(json.Data)\n }\n break\n\n case WSFrameTypeUpdateTurnstile:\n // ignore\n break\n\n case WSFrameTypeUnsubscribe:\n // ignore\n break\n\n default:\n // eslint-disable-next-line\n console.warn(\"Unhandled message type: \", json.Type);\n break\n }\n }\n },\n\n _ws_sendWithRetry (type, data, skipRetry) {\n if (this.$socket.readyState === 1) {\n this.$socket.sendObj({\n Type: type,\n Data: data\n })\n } else if (!skipRetry) {\n // Not connected yet, retry in a bit\n console.warn('Not connected yet, postponing sending message', type)\n setTimeout(() => {\n this._ws_sendWithRetry(type, data)\n }, 100)\n }\n },\n\n ws_KeepAlive () {\n this._ws_sendWithRetry(WSFrameTypeKeepAlive, null, true)\n },\n\n ws_Authenticate (token) {\n this._ws_sendWithRetry(WSFrameTypeRequestAuth, { Token: token })\n },\n\n ws_Subscribe (channel) {\n this._ws_sendWithRetry(WSFrameTypeSubscribe, { Resource: channel })\n },\n\n ws_Unsubscribe (channel) {\n this._ws_sendWithRetry(WSFrameTypeUnsubscribe, { Resource: channel })\n },\n\n ws_On (channel, callbacks) {\n if (this.$socket.readyState === 1) {\n if (this.getSubscribersFor(channel) === 0) {\n this.ws_Subscribe(channel)\n }\n this.$store.dispatch('subscribeTo', channel)\n EventBus.$on(channel, callbacks)\n } else {\n // Not connected yet, retry in a bit\n console.warn('Not connected yet (' + this.$socket.readyState + '), postponing ws_On')\n setTimeout(() => {\n this.ws_On(channel, callbacks)\n }, 100)\n }\n },\n\n ws_Off (channel, callbacks) {\n this.$store.dispatch('unsubscribeFrom', channel)\n EventBus.$off(channel, callbacks)\n if (this.getSubscribersFor(channel) === 0) {\n this.ws_Unsubscribe(channel)\n }\n },\n\n ws_UpdateTurnstile (turnstile) {\n this._ws_sendWithRetry(WSFrameTypeUpdateTurnstile, turnstile)\n }\n }\n}\n","export default [\n {\n path: '/',\n name: 'home',\n redirect: '/login',\n meta: {\n title: 'Accueil'\n },\n component: () => import('~/views/Home.vue')\n },\n {\n path: '/login',\n name: 'login',\n meta: {\n title: 'Connexion',\n disableDashboardLayout: true\n },\n component: () => import('~/views/Login.vue')\n },\n {\n path: '/autologin/:autologin',\n name: 'autologin',\n meta: {\n title: 'Auto-connexion',\n disableDashboardLayout: true\n },\n component: () => import('~/views/Login.vue')\n },\n {\n path: '/profil',\n name: 'profil',\n meta: {\n title: 'Profil'\n },\n component: () => import('~/views/profil/Index.vue')\n }\n]\n","export default [\n {\n path: '/planning',\n name: 'planning-index',\n meta: {\n title: 'Planning'\n },\n component: () => import('~/views/planning/Index.vue')\n }\n]\n","export default [\n {\n path: '/turnstiles',\n name: 'turnstiles-index',\n meta: {\n title: 'Tourniquets'\n },\n redirect: { name: 'turnstiles-status' },\n component: () => import('~/views/turnstiles/Index.vue'),\n children: [\n {\n path: 'status',\n name: 'turnstiles-status',\n meta: {\n title: 'État des terminaux'\n },\n component: () => import('~/views/turnstiles/Status.vue')\n },\n {\n path: 'planning',\n name: 'turnstiles-planning',\n meta: {\n title: 'Planning d\\'accès'\n },\n component: () => import('~/views/turnstiles/PlanningAccess.vue')\n },\n {\n path: 'area-configuration',\n name: 'turnstiles-area-configuration',\n meta: {\n title: 'Administration des zones'\n },\n component: () => import('~/views/turnstiles/ZoneAdministration.vue'),\n children: [\n {\n path: ':id',\n name: 'planning-area-details',\n meta: {\n title: 'Détail de la zone'\n },\n props: true,\n component: () => import('@/views/turnstiles/ZoneConfiguration.vue')\n }\n ]\n },\n {\n path: 'templates',\n name: 'timeslots-templates',\n meta: {\n title: 'Modèles de créneaux'\n },\n component: () => import('~/views/turnstiles/timeslotsTemplates.vue')\n },\n {\n path: 'weeks',\n name: 'turnstiles-weeks',\n meta: {\n title: 'Types de semaines'\n },\n component: () => import('~/views/turnstiles/Weeks.vue')\n },\n {\n path: 'scan',\n name: 'turnstiles-scan',\n meta: {\n title: 'Scan de billets'\n },\n component: () => import('~/views/turnstiles/Scan.vue')\n },\n {\n path: 'history',\n name: 'turnstiles-history',\n meta: {\n title: 'Historique de passage'\n },\n component: () => import('~/views/turnstiles/History.vue')\n },\n {\n path: 'penalties',\n name: 'turnstiles-penalties',\n meta: {\n title: 'Pénalités'\n },\n component: () => import('~/views/turnstiles/Penalties.vue')\n }\n ]\n }\n]\n","export default [\n {\n path: '/clients',\n name: 'clients-index',\n meta: {\n title: 'Clients'\n },\n redirect: { name: 'list' },\n component: () => import('~/views/clients/Index.vue'),\n children: [\n {\n path: 'list',\n name: 'list',\n meta: {\n title: 'Liste des clients'\n },\n component: () => import('~/views/clients/ClientsList.vue')\n },\n {\n path: '/clients/clubs',\n name: 'clubs',\n meta: {\n title: 'Liste des clubs'\n },\n component: () => import('~/views/clients/Clubs.vue')\n },\n {\n path: 'planning-clubs',\n name: 'planning-clubs',\n meta: {\n title: 'Planning des clubs'\n },\n component: () => import('~/views/clients/ClubsPlanning.vue')\n },\n\n {\n path: '/clients/clubs/:id',\n name: 'clubs-show',\n meta: {\n title: 'Clubs'\n },\n component: () => import('~/views/clients/Clubs.vue')\n }\n ]\n },\n {\n path: '/clients/:id',\n name: 'clients-show',\n meta: {\n title: 'Clients'\n },\n component: () => import('~/views/clients/ClientsShow.vue')\n },\n {\n path: '/clients/clubs/new',\n name: 'clubs-new',\n meta: {\n title: 'Création d\\'un club'\n },\n component: () => import('~/components/clients/CreateClub.vue')\n }\n]\n","export default [\n {\n path: '/quotation',\n name: 'quotation-index',\n meta: {\n title: 'Gestion des comptes pro'\n },\n redirect: { name: 'quotation-quotations' },\n component: () => import('~/views/quotation/Index.vue'),\n children: [\n {\n path: 'accounts',\n name: 'quotation-accounts',\n meta: {\n title: 'Liste des comptes'\n },\n component: () => import('~/views/quotation/Accounts.vue')\n },\n {\n path: 'accounts/:id',\n name: 'quotation-accounts-show',\n meta: {\n title: 'Compte'\n },\n component: () => import('~/views/quotation/AccountsShow.vue')\n },\n {\n path: 'requests',\n name: 'quotation-requests',\n meta: {\n title: 'Liste des demandes'\n },\n component: () => import('~/views/quotation/Requests.vue')\n },\n {\n path: 'requests/:id',\n name: 'quotation-requests-show',\n meta: {\n title: 'Demande'\n },\n component: () => import('~/views/quotation/RequestShow.vue')\n },\n {\n path: 'quotations',\n name: 'quotation-quotations',\n meta: {\n title: 'Liste des devis'\n },\n component: () => import('~/views/quotation/Quotations.vue')\n },\n {\n path: 'quotations/new',\n name: 'quotation-quotations-new',\n meta: {\n title: \"Création d'un devis\"\n },\n component: () => import('~/views/quotation/QuotationEdit.vue')\n },\n {\n path: 'quotations/:id',\n name: 'quotations-show',\n meta: {\n title: 'Devis'\n },\n component: () => import('~/views/quotation/QuotationEdit.vue')\n },\n {\n path: 'orders',\n name: 'quotation-orders',\n meta: {\n title: 'Liste des bons de commande'\n },\n component: () => import('~/views/quotation/Orders.vue')\n },\n {\n path: 'orders/:id',\n name: 'quotation-orders-show',\n meta: {\n title: 'Bon de commande'\n },\n component: () => import('~/views/quotation/OrderShow.vue')\n },\n {\n path: 'settings',\n name: 'quotation-settings',\n meta: {\n title: 'Paramètres'\n },\n component: () => import('~/views/quotation/Settings.vue'),\n redirect: { name: 'quotation-settings-families' },\n children: [\n {\n path: 'families',\n name: 'quotation-settings-families',\n meta: {\n title: 'Familles de produits'\n },\n component: () =>\n import('~/components/quotation/ProductFamiliesList.vue')\n },\n {\n path: 'pricings',\n name: 'quotation-settings-pricings',\n meta: {\n title: 'Tarifs'\n },\n component: () => import('~/components/quotation/PricingList.vue')\n },\n {\n path: 'products',\n name: 'quotation-settings-products',\n meta: {\n title: 'Produits'\n },\n component: () => import('~/components/quotation/ProductList.vue')\n },\n {\n path: 'catalogs',\n name: 'quotation-settings-catalogs',\n meta: {\n title: 'Catalogues clients'\n },\n component: () => import('~/components/quotation/CatalogList.vue')\n },\n {\n path: 'settings',\n name: 'quotation-settings-settings',\n meta: {\n title: 'Configuration'\n },\n component: () =>\n import('~/components/quotation/QuotationsSettings.vue')\n }\n ]\n }\n ]\n }\n]\n","export default [\n {\n path: '/spa',\n name: 'spa-index',\n meta: {\n title: 'Spa'\n },\n redirect: { name: 'spa-planning' },\n component: () => import('~/views/spa/Index.vue'),\n children: [\n {\n path: 'planning',\n name: 'spa-planning',\n meta: {\n title: 'Planning Spa'\n },\n component: () => import('~/views/spa/planning/Planning.vue')\n },\n {\n path: 'personnels',\n name: 'spa-personnels',\n meta: {\n title: 'Gestion des personnels Spa'\n },\n component: () => import('~/views/spa/Personnel.vue')\n },\n {\n path: 'personnels/:id',\n name: 'spa-personnels-edit',\n meta: {\n title: 'Édition d\\'un employé'\n },\n component: () => import('~/views/spa/PersonnelsEdit.vue')\n },\n {\n path: 'resources',\n name: 'spa-resources',\n meta: {\n title: 'Gestion des ressources Spa'\n },\n component: () => import('~/views/spa/Resources.vue')\n },\n {\n path: 'resources/:id',\n name: 'spa-resources-edit',\n meta: {\n title: 'Édition d\\'une ressource'\n },\n component: () => import('~/views/spa/ResourcesEdit.vue')\n },\n {\n path: 'activities',\n name: 'spa-activities',\n meta: {\n title: 'Gestion des activités Spa'\n },\n component: () => import('~/views/spa/Activities.vue')\n },\n {\n path: 'activities/:id',\n name: 'spa-activities-edit',\n meta: {\n title: 'Édition d\\'une activité'\n },\n component: () => import('~/views/spa/ActivitiesEdit.vue')\n },\n {\n path: 'products',\n name: 'spa-products',\n meta: {\n title: 'Produits Spa'\n },\n component: () => import('~/views/spa/Products.vue')\n },\n {\n path: 'products/:id',\n name: 'spa-products-edit',\n meta: {\n title: 'Édition d\\'une association produit'\n },\n component: () => import('~/views/spa/ProductsEdit.vue')\n },\n {\n path: 'stocks',\n name: 'spa-products-stocks',\n meta: {\n title: 'Stocks des produits SPA'\n },\n component: () => import('~/views/spa/Stocks.vue')\n }\n ]\n }\n]\n","export default [\n {\n path: '/stats',\n name: 'stats-index',\n meta: { title: 'Statistiques' },\n component: () => import('@/views/stats/Index.vue'),\n redirect: { name: 'stats-dashboard' },\n children: [\n {\n path: 'dashboard',\n name: 'stats-dashboard',\n meta: { title: 'Tableau de bord' },\n component: () => import('@/views/stats/Dashboard.vue'),\n redirect: 'dashboard/layout/default',\n children: [\n {\n path: 'layout/:id',\n name: 'stats-dashboard-layout',\n meta: { title: 'Mon tableau de bord' },\n component: () => import('@/views/stats/dashboard/Layout.vue')\n },\n {\n path: 'activities',\n name: 'stats-dashboard-activities',\n meta: { title: 'Activités' },\n component: () => import('@/views/stats/dashboard/Activities.vue')\n },\n {\n path: 'attendance',\n name: 'stats-dashboard-attendance',\n meta: { title: 'Créneaux & Fréquentation' },\n component: () => import('@/views/stats/dashboard/Attendance.vue')\n },\n {\n path: 'passings',\n name: 'stats-dashboard-passings',\n meta: { title: 'Entrées' },\n component: () => import('@/views/stats/dashboard/Passings.vue')\n },\n {\n path: 'sales',\n name: 'stats-dashboard-sales',\n meta: { title: 'Ventes' },\n component: () => import('@/views/stats/dashboard/Sales.vue')\n }\n ]\n },\n {\n path: 'activity',\n name: 'stats-activity',\n meta: { title: 'Analyse d\\'une activité' },\n component: () => import('@/views/stats/Activity.vue')\n },\n {\n path: 'activity/compare',\n name: 'stats-activity-compare',\n meta: { title: 'Comparaison d\\'activités' },\n component: () => import('@/views/stats/Activities.vue')\n },\n {\n path: 'passings',\n name: 'stats-passings',\n meta: { title: 'Analyse des entrées' },\n component: () => import('@/views/stats/Passings.vue')\n },\n {\n path: 'sales',\n name: 'stats-sales',\n meta: { title: 'Ventes' },\n component: () => import('@/views/stats/Sales.vue')\n },\n {\n path: 'predictions',\n name: 'stats-predictions',\n meta: { title: 'Prévisions' },\n component: () => import('@/views/stats/Predictions.vue')\n },\n {\n path: 'spa',\n name: 'stats-spa',\n meta: { title: 'Spa' },\n component: () => import('@/views/stats/Spa.vue')\n }\n ]\n }\n]\n","export default [\n {\n path: '/business',\n name: 'business-index',\n redirect: { name: 'business-exports-financial' },\n meta: {\n title: 'Gestion commerciale'\n },\n component: () => import('~/views/business/Index.vue'),\n children: [\n {\n path: 'business-exports-exports-financial',\n name: 'business-exports-financial',\n meta: {\n title: 'Exports financiers'\n },\n component: () => import('~/views/business/exports/Financial.vue')\n },\n {\n path: 'business-exports-families-daily',\n name: 'business-families-daily',\n meta: {\n title: 'Gestions des familles de produits pour les exports journaliers'\n },\n component: () => import('~/views/business/families/Daily.vue')\n },\n {\n path: 'business-exports-families-financial',\n name: 'business-families-financial',\n meta: {\n title: 'Gestions des familles de produits pour les exports financiers'\n },\n component: () => import('~/views/business/families/Financial.vue')\n },\n {\n path: 'business-exports-daily',\n name: 'business-exports-daily',\n meta: {\n title: 'Exports journaliers'\n },\n component: () => import('~/views/business/exports/Daily.vue')\n },\n {\n path: 'business-gift-manager',\n name: 'business-gift-manager',\n meta: {\n title: 'Bons cadeaux'\n },\n component: () => import('~/views/business/giftmanager/Index.vue')\n },\n {\n path: 'plancha',\n name: 'business-gift-manager-plancha',\n meta: {\n title: 'Mes planches de bons cadeaux'\n },\n component: () => import('~/views/business/giftmanager/plancha/Index.vue')\n },\n {\n path: 'plancha/:id',\n name: 'business-gift-manager-plancha-create',\n meta: {\n title: 'Créer une planche de bons cadeaux'\n },\n component: () => import('~/views/business/giftmanager/plancha/Create.vue')\n },\n {\n path: 'business-discounts-manager/templates',\n name: 'business-discounts-manager-templates',\n meta: {\n title: 'Modèles de promotions'\n },\n component: () => import('~/views/business/discounts/Index.vue')\n },\n {\n path: 'business-discounts-manager/templates/edit/:id?',\n name: 'business-gift-manager-template-edit',\n meta: {\n title: 'Éditer un modèle de promotions'\n },\n component: () => import('~/views/business/discounts/EditDiscountTemplate.vue')\n },\n {\n path: 'business-discounts-manager/show',\n name: 'business-discounts-manager-show',\n meta: {\n title: 'Codes promotionnels'\n },\n component: () => import('~/views/business/discounts/Show.vue')\n }\n ]\n }\n]\n","export default [\n {\n path: '/lockers',\n name: 'lockers-index',\n meta: {\n title: 'Casiers'\n },\n redirect: { name: 'lockers-manager' },\n component: () => import('@/views/lockers/Index.vue'),\n children: [\n {\n path: 'dashboard',\n name: 'lockers-dashboard',\n meta: {\n title: 'Tableau de bord'\n },\n component: () => import('@/views/lockers/dashboard/LockersDashboard.vue')\n },\n // BOOKINGS\n {\n path: 'bookings',\n name: 'lockers-bookings',\n meta: {\n title: 'Réservations'\n },\n component: () => import('@/views/lockers/bookings/LockersBookings.vue')\n },\n {\n path: 'bookings/new-booking-export-mode',\n name: 'lockers-new-booking-export-mode',\n meta: {\n title: 'Nouvelle réservation'\n },\n component: () => import('@/views/lockers/bookings/NewBookingExpertMode.vue')\n },\n {\n path: 'bookings/new-booking-guided-mode',\n name: 'lockers-new-booking-guided-mode',\n meta: {\n title: 'Nouvelle réservation'\n },\n component: () => import('@/views/lockers/bookings/NewBookingGuidedMode.vue')\n },\n // MANAGER\n {\n path: 'manager',\n name: 'lockers-manager',\n meta: {\n title: 'Gérer les casiers'\n },\n component: () => import('@/views/lockers/manager/Index.vue'),\n children: [\n {\n path: 'establishment/:id',\n name: 'lockers-establishment-details',\n meta: {\n title: \"Détail de l'établissement\"\n },\n props: true,\n component: () => import('@/views/lockers/manager/EstablishmentDetails.vue')\n }, {\n path: 'area/:id',\n name: 'lockers-area-details',\n meta: {\n title: 'Détail de la zone'\n },\n props: true,\n component: () => import('@/views/lockers/manager/AreaDetails.vue')\n }, {\n path: 'block/:id',\n name: 'lockers-block-details',\n meta: {\n title: 'Détail du bloc'\n },\n props: true,\n component: () => import('@/views/lockers/manager/BlockDetails.vue')\n },\n {\n path: 'locker/:id',\n name: 'lockers-locker-details',\n meta: {\n title: 'Détail du casier'\n },\n props: true,\n component: () => import('@/views/lockers/manager/LockerDetails.vue')\n }\n ]\n },\n // INCIDENTS\n {\n path: 'incidents',\n name: 'lockers-incidents',\n meta: {\n title: 'Gérer les incidents'\n },\n component: () => import('@/components/lockers/incidents/LockersIncidents.vue')\n },\n // GATEWAYS\n {\n path: 'gateways',\n name: 'lockers-gateways',\n meta: {\n title: 'Gérer les passerelles'\n },\n component: () => import('@/views/lockers/gateways/GatewaysManager.vue')\n }\n ]\n }\n]\n","export default [\n {\n path: '/activities',\n name: 'activities-index',\n meta: {\n title: 'Activités périodiques'\n },\n redirect: { name: 'sessions' },\n component: () => import('~/views/activities/Index.vue'),\n children: [\n {\n path: 'sessions',\n name: 'sessions',\n meta: {\n title: 'Sessions périodiques'\n },\n component: () => import('~/views/activities/Sessions.vue')\n },\n {\n path: 'sessions/new',\n name: 'activities-sessions-new',\n meta: {\n title: 'Création d\\'une session'\n },\n component: () => import('~/components/sessions/show/SessionNew.vue')\n },\n {\n path: 'sessions/:id',\n name: 'activities-sessions-show',\n meta: {\n title: 'Activités périodiques'\n },\n component: () => import('~/views/activities/Sessions.vue')\n },\n {\n path: 'registrations',\n name: 'registrations',\n meta: {\n title: 'Inscriptions périodiques'\n },\n component: () => import('~/components/sessions/Registrations.vue')\n },\n {\n path: 'registrations/new',\n name: 'registrations-new',\n meta: {\n title: 'Création d\\'une inscription périodique'\n },\n component: () => import('~/components/sessions/RegistrationEdit.vue')\n },\n {\n path: 'registrations/:id',\n name: 'registrations-edit',\n meta: {\n title: 'Modification d\\'une inscription périodique'\n },\n component: () => import('~/components/sessions/RegistrationEdit.vue')\n },\n {\n path: 'phases',\n name: 'phases',\n meta: {\n title: 'Phases d\\'inscriptions'\n },\n component: () => import('~/views/activities/Phases.vue')\n },\n {\n path: 'phases/new',\n name: 'phases-new',\n meta: {\n title: 'Création d\\'une phase'\n },\n component: () => import('~/components/sessions/PhaseEdit.vue')\n },\n {\n path: 'phases/:id',\n name: 'phases-show',\n meta: {\n title: 'Phases'\n },\n component: () => import('~/components/sessions/PhaseEdit.vue')\n },\n {\n path: 'cashregister/new',\n name: 'cashregister-new',\n meta: {\n title: 'Création d\\'une inscription périodique depuis la caisse',\n disableDashboardLayout: true\n },\n component: () => import('~/components/sessions/RegistrationEdit.vue')\n }\n ]\n }\n]\n","export default [\n {\n path: '/setup',\n name: 'setup',\n meta: {\n title: 'Configuration'\n },\n component: () => import('~/views/setup/Index.vue'),\n children: [\n {\n path: 'main',\n name: 'setup-main',\n meta: {\n title: 'Paramètres généraux'\n },\n component: () => import('~/views/setup/Main.vue')\n },\n {\n path: 'establishments',\n name: 'setup-establishments',\n meta: {\n title: 'Établissements'\n },\n component: () => import('~/views/setup/establishments/Index.vue')\n },\n {\n path: 'establishments/new',\n name: 'setup-establishments-new',\n meta: {\n title: 'Création de l\\'établissement',\n new: true\n },\n component: () => import('~/views/setup/establishments/Edit.vue')\n },\n {\n path: 'establishments/:id',\n name: 'setup-establishments-edit',\n meta: {\n title: 'Configuration de l\\'établissement',\n new: false\n },\n component: () => import('~/views/setup/establishments/Edit.vue')\n },\n {\n path: 'establishments/:id/map',\n name: 'setup-establishments-edit-map',\n meta: {\n title: 'Plan 3D de l\\'établissement',\n new: false\n },\n component: () => import('~/views/setup/establishments/EditMap.vue')\n },\n {\n path: 'mailer',\n name: 'setup-mailer',\n meta: {\n title: 'Configuration e-mail'\n },\n component: () => import('~/views/setup/Mailer.vue')\n },\n {\n path: 'smser',\n name: 'setup-smser',\n meta: {\n title: 'Configuration SMS'\n },\n component: () => import('~/views/setup/SMSer.vue')\n },\n {\n path: 'front-office-general',\n name: 'setup-front-office-general',\n meta: {\n title: 'Configuration du front office'\n },\n component: () => import('~/views/setup/front/Main.vue')\n },\n {\n path: 'front-office-payments',\n name: 'setup-front-office-payments',\n meta: {\n title: 'Configuration des paiements front office'\n },\n component: () => import('~/views/setup/front/Payments.vue')\n },\n {\n path: 'templates',\n name: 'setup-templates',\n meta: {\n title: 'Modèles éditables'\n },\n component: () => import('~/views/setup/templates/Index.vue')\n },\n {\n path: 'documents',\n name: 'setup-documents',\n meta: {\n title: 'Documents'\n },\n component: () => import('~/views/setup/Documents.vue')\n },\n {\n path: 'templates/new',\n name: 'setup-templates-new',\n meta: {\n title: 'Nouveau modèle'\n },\n component: () => import('~/views/setup/templates/Edit.vue')\n },\n {\n path: 'templates/:id',\n name: 'setup-templates-edit',\n meta: {\n title: 'Edition d\\'un modèle'\n },\n component: () => import('~/views/setup/templates/Edit.vue')\n },\n {\n path: 'planning',\n name: 'setup-planning',\n meta: {\n title: 'Configuration du planning'\n },\n component: () => import('~/views/setup/Planning.vue')\n },\n {\n path: 'turnstiles',\n name: 'setup-turnstiles',\n meta: {\n title: 'Configuration des tourniquets'\n },\n component: () => import('~/views/setup/Turnstiles.vue')\n },\n {\n path: 'lockers-global',\n name: 'setup-lockers-global',\n meta: {\n title: 'Gestion des casiers'\n },\n component: () => import('~/views/setup/LockersGlobal.vue')\n },\n {\n path: 'lockers-params',\n name: 'setup-lockers-params',\n meta: {\n title: 'Paramètres des casiers'\n },\n component: () => import('~/views/setup/LockersParams.vue')\n },\n {\n path: 'lockers-booking',\n name: 'setup-lockers-booking',\n meta: {\n title: 'Gestion des réservations'\n },\n component: () => import('~/views/setup/LockersBookings.vue')\n },\n {\n path: 'spa/universe',\n name: 'setup-spa',\n meta: {\n title: 'Configuration Spa'\n },\n component: () => import('~/views/setup/spa/Index.vue')\n },\n {\n path: 'spa/universe/:id',\n name: 'setup-universe-edit',\n meta: {\n title: 'Configuration d\\'un univers Spa'\n },\n component: () => import('~/views/setup/spa/UniverseEdit.vue')\n },\n {\n path: 'spa/universe/:id/params',\n name: 'setup-universe-params',\n meta: {\n title: 'Configuration de l\\'univers'\n },\n component: () => import('~/views/setup/establishments/Edit.vue')\n },\n {\n path: 'areas',\n name: 'setup-areas',\n meta: {\n title: 'Configuration des zones'\n },\n component: () => import('~/views/setup/Areas.vue')\n },\n {\n path: 'stats',\n name: 'setup-stats',\n meta: {\n title: 'Configuration des statistiques'\n },\n component: () => import('~/views/setup/Statistiques.vue')\n },\n {\n path: 'exports',\n name: 'setup-exports',\n meta: {\n title: 'Configuration des exports'\n },\n component: () => import('~/views/setup/Exports.vue')\n },\n {\n path: 'vouchers',\n name: 'setup-vouchers',\n meta: {\n title: 'Configuration des bons cadeaux et planches'\n },\n component: () => import('~/views/setup/Vouchers.vue')\n }\n ]\n }\n]\n","export default [\n {\n path: '/webview/scan-voucher',\n name: 'voucher-scan-webview',\n meta: {\n disableDashboardLayout: true\n },\n component: () => import('~/views/webviews/VoucherScanDialog.vue')\n },\n {\n path: '/webview/scan-voucher/:id',\n name: 'voucher-scan-webview-id',\n meta: {\n disableDashboardLayout: true\n },\n component: () => import('~/views/webviews/VoucherScanDialog.vue')\n },\n {\n path: '/webview/periodic-registration',\n name: 'periodic-registration-webview',\n meta: {\n disableDashboardLayout: true\n },\n component: () => import('~/views/webviews/PeriodicRegistrationDialog.vue')\n },\n {\n path: '/webview/book',\n name: 'book-webview',\n meta: {\n disableDashboardLayout: true\n },\n component: () => import('~/views/webviews/BookingsDialog.vue')\n },\n {\n path: '/webview/odeon',\n name: 'webbiew-odeon',\n meta: {\n disableDashboardLayout: true\n },\n component: () => import('~/views/webviews/OdeonPopup.vue')\n }\n]\n","export default [\n {\n path: '/kiosks',\n name: 'kiosks-index',\n meta: {\n title: 'Bornes'\n },\n component: () => import('@/views/kiosks/Index.vue')\n }\n]\n","import store from '../store/store.js'\n\nfunction hasRights (...rights) {\n const user = store.getters.authUser\n return (\n user &&\n user.Permissions &&\n rights.every((el) => user.Permissions.includes(el))\n )\n}\n\nexport function isAuthenticated () {\n return !!store.getters.authUser\n}\n\nexport function setForbidden (val) {\n store.commit('set_forbidden', val)\n}\n\nexport function checkRights (routeName) {\n let allowed = true\n switch (routeName) {\n // Planning\n case 'planning-index':\n allowed = hasRights('admin:planning')\n break\n // CTM\n case 'turnstiles-status':\n allowed = hasRights('admin:ctm')\n break\n case 'turnstiles-planning':\n allowed = hasRights('admin:ctm:planning')\n break\n case 'turnstiles-area-configuration':\n case 'planning-area-details':\n allowed = hasRights('admin:ctm:area')\n break\n case 'timeslots-templates':\n allowed = hasRights('admin:ctm:planning:manage')\n break\n case 'turnstiles-weeks':\n allowed = hasRights('admin:ctm:type-week')\n break\n case 'turnstiles-scan':\n allowed = hasRights('admin:ctm:scan')\n break\n case 'turnstiles-history':\n allowed = hasRights('admin:ctm:passings')\n break\n case 'turnstiles-penalties':\n allowed = hasRights('admin:ctm:penalty')\n break\n // CLients\n case 'list':\n case 'clubs':\n case 'planning-clubs':\n case 'clubs-show':\n case 'clients-show':\n case 'clubs-new':\n allowed = hasRights('admin:clients')\n break\n // Business\n case 'business-exports-financial':\n case 'business-families-daily':\n case 'business-families-financial':\n case 'business-exports-daily':\n allowed = hasRights('admin:business:export')\n break\n case 'business-gift-manager':\n allowed = hasRights('admin:business:voucher')\n break\n case 'business-gift-manager-plancha':\n allowed = hasRights('admin:business:voucher-sheet')\n break\n case 'business-gift-manager-plancha-create':\n allowed = hasRights('admin:business:voucher-sheet:manage')\n break\n case 'business-discounts-manager-templates':\n case 'business-gift-manager-template-edit':\n allowed = hasRights('admin:business:discount:template')\n break\n case 'business-discounts-manager-show':\n allowed = hasRights('admin:business:discount:code')\n break\n // SPA\n case 'spa-planning':\n allowed = hasRights('admin:spa')\n break\n case 'spa-personnels':\n case 'spa-personnels-edit':\n case 'spa-resources':\n case 'spa-resources-edit':\n case 'spa-activities':\n case 'spa-activities-edit':\n case 'spa-products':\n case 'spa-products-edit':\n case 'spa-products-stocks':\n allowed = hasRights('admin:spa:manage')\n break\n // Stats\n case 'stats-index':\n case 'stats-dashboard-layout':\n case 'stats-dashboard-activities':\n case 'stats-dashboard-attendance':\n case 'stats-dashboard-passings':\n case 'stats-dashboard-sales':\n case 'stats-activity':\n case 'stats-activity-compare':\n case 'stats-passings':\n case 'stats-sales':\n case 'stats-predictions':\n allowed = hasRights('admin:stats')\n break\n // Periodic\n case 'sessions':\n case 'activities-sessions-show':\n case 'registrations':\n case 'phases':\n allowed = hasRights('admin:periodic')\n break\n case 'activities-sessions-new':\n case 'phases-new':\n case 'phases-show':\n allowed = hasRights('admin:periodic:manage')\n break\n case 'registrations-new':\n case 'registrations-edit':\n case 'cashregister-new':\n allowed = hasRights('admin:periodic:booking')\n break\n // Lockers\n case 'lockers-dashboard':\n case 'lockers-bookings':\n case 'lockers-new-booking-export-mode':\n case 'lockers-new-booking-guided-mode':\n case 'lockers-manager':\n case 'lockers-establishment-details':\n case 'lockers-area-details':\n case 'lockers-block-details':\n case 'lockers-locker-details':\n case 'lockers-incidents':\n case 'lockers-gateways':\n allowed = hasRights('admin:lockers')\n break\n // Kiosks\n case 'kiosks-index':\n allowed = hasRights('admin:kiosks')\n break\n // Quotations\n case 'quotation-accounts':\n case 'quotation-accounts-show':\n case 'quotation-requests':\n case 'quotation-requests-show':\n case 'quotation-quotations':\n case 'quotations-show':\n case 'quotation-orders':\n case 'quotation-orders-show':\n allowed = hasRights('admin:quotations')\n break\n case 'quotation-quotations-new':\n case 'quotation-settings':\n allowed = hasRights('admin:quotations:manage')\n break\n // Params\n case 'setup-main':\n allowed = hasRights('admin:params', 'admin:params:settings')\n break\n case 'setup-establishments':\n case 'setup-establishments-new':\n case 'setup-establishments-edit':\n case 'setup-establishments-edit-map':\n allowed = hasRights('admin:params', 'admin:params:establishments')\n break\n case 'setup-mailer':\n allowed = hasRights('admin:params', 'admin:params:mail')\n break\n case 'setup-smser':\n allowed = hasRights('admin:params', 'admin:params:sms')\n break\n case 'setup-templates':\n case 'setup-templates-new':\n case 'setup-templates-edit':\n allowed = hasRights('admin:params', 'admin:params:template')\n break\n case 'setup-documents':\n allowed = hasRights('admin:params', 'admin:params:document')\n break\n case 'setup-planning':\n allowed = hasRights('admin:params', 'admin:params:planning')\n break\n case 'setup-lockers-global':\n case 'setup-lockers-params':\n case 'setup-lockers-booking':\n allowed = hasRights('admin:params', 'admin:params:lockers')\n break\n case 'setup-spa':\n case 'setup-universe-edit':\n case 'setup-universe-params':\n allowed = hasRights('admin:params', 'admin:params:spa')\n break\n case 'setup-turnstiles':\n allowed = hasRights('admin:params', 'admin:params:ctm')\n break\n case 'setup-areas':\n allowed = hasRights('admin:params', 'admin:params:area')\n break\n case 'setup-stats':\n allowed = hasRights('admin:params', 'admin:params:stats')\n break\n case 'setup-front-office-general':\n case 'setup-front-office-payments':\n allowed = hasRights('admin:params', 'admin:params:front')\n break\n }\n\n return allowed\n}\n","import Vue from 'vue'\nimport Router from 'vue-router'\n\nimport AuthRoutes from './auth'\nimport PlanningRoutes from './planning'\nimport TurnstilesRoutes from './turnstiles'\nimport ClientsRoutes from './clients'\nimport QuotationRoutes from './quotation'\nimport SpaRoutes from './spa'\nimport StatsRoutes from './stats'\nimport BusinessRoutes from './business'\nimport LockersRoutes from './lockers'\nimport ActivitiesRoutes from './activities'\nimport SetupRoutes from './setup'\nimport CashregisterWebviewsRoutes from './cashregisterWebviews'\nimport KiosksRoutes from './kiosks'\nimport { checkRights, isAuthenticated, setForbidden } from './permissions'\n\nVue.use(Router)\n\nconst router = new Router({\n mode: 'history',\n base: process.env.BASE_URL,\n routes: [\n ...AuthRoutes,\n ...PlanningRoutes,\n ...TurnstilesRoutes,\n ...ClientsRoutes,\n ...QuotationRoutes,\n ...SpaRoutes,\n ...StatsRoutes,\n ...BusinessRoutes,\n ...LockersRoutes,\n ...ActivitiesRoutes,\n ...SetupRoutes,\n ...CashregisterWebviewsRoutes,\n ...KiosksRoutes\n ]\n})\n\nrouter.beforeEach((to, from, next) => {\n // This goes through the matched routes from last to first, finding the closest route with a title.\n // eg. if we have /some/deep/nested/route and /some, /deep, and /nested have titles, nested's will be chosen.\n const nearestWithTitle = to.matched.slice().reverse().find(r => r.meta && r.meta.title)\n\n // If a route with a title was found, set the document (page) title to that value.\n if (nearestWithTitle) {\n document.title = 'Streamlor - ' + nearestWithTitle.meta.title\n }\n\n setForbidden(false)\n // Check auth and perms\n if (checkRights(to.name)) {\n next()\n } else if (!isAuthenticated()) {\n next('/')\n } else {\n setForbidden(true)\n next()\n }\n})\n\nexport default router\n","import ApiAuth from '~/api/auth'\nimport ApiCtm from '~/api/ctm'\nimport ApiProducts from '~/api/products'\nimport ApiAreas from '~/api/areas'\nimport ApiWeekTypes from '~/api/weekTypes'\nimport ApiAccessControl from '~/api/accessControl'\nimport _ from 'lodash'\n\nconst initialState = () => ({\n auth: {\n status: 'idle',\n token: null,\n user: null\n },\n tsBoxes: [],\n products: [],\n areas: [],\n weekTypes: [],\n accessTimeslots: [],\n accessTimeslotsLoading: false,\n navigation_drawer_permanent: false,\n forbidden: false\n})\n\nexport default {\n state: initialState,\n getters: {\n isLoggedIn: state => !!state.auth.token && !!state.auth.user,\n authStatus: state => state.auth.status,\n authToken: state => state.auth.token,\n authUser: state => state.auth.user,\n hasRight: state => rightName => state.auth.user && state.auth.user.Permissions && state.auth.user.Permissions.findIndex(el => el === rightName) !== -1,\n hasRights: state => rightNames => state.auth.user && state.auth.user.Permissions && rightNames.every(el => state.auth.user.Permissions.includes(el)),\n dimsBackofficeUrl: state => state.auth.dimsBackofficeUrl,\n forbidden: state => state.forbidden,\n vcrUrl: state => state.auth.vcrUrl,\n tsBoxes: state => state.tsBoxes,\n products: state => state.products,\n getProductByID: (state) => (id) => {\n return state.products.find(p => p.ID === id)\n },\n getProductLabel: (state) => (id) => {\n const product = state.products.find(p => p.ID === id)\n return product ? product.Label.FR : ''\n },\n getProductLabelShort: (state) => (id) => {\n const product = state.products.find(p => p.ID === id)\n return product ? product.LabelShort.FR : ''\n },\n families: state => state.families,\n familiesById: state => _.keyBy(state.families, 'ID'),\n familiesTree (state) {\n const out = []\n\n const recurseGetParents = function (id) {\n for (let i = 0; i < state.families.length; ++i) {\n const fam = state.families[i]\n if (fam.Subfamilies && fam.Subfamilies.includes(id)) {\n return recurseGetParents(fam.ID) + fam.Label.FR + ' / '\n }\n }\n\n return ''\n }\n\n if (state.families) {\n for (let i = 0; i < state.families.length; ++i) {\n const fam = state.families[i]\n fam.FullPathLabel = recurseGetParents(fam.ID) + fam.Label.FR\n\n out.push(fam)\n }\n }\n\n out.sort(function (a, b) {\n if (a.FullPathLabel === b.FullPathLabel) {\n return 0\n } else if (a.FullPathLabel < b.FullPathLabel) {\n return -1\n } else {\n return 1\n }\n })\n\n return out\n },\n areas: state => state.areas,\n weekTypes: state => state.weekTypes,\n accessTimeslots: state => state.accessTimeslots,\n accessTimeslotsLoading: state => state.accessTimeslotsLoading,\n navigationDrawerState: state => state.navigation_drawer_permanent\n },\n actions: {\n login ({ commit }, user) {\n return new Promise((resolve, reject) => {\n commit('auth_request')\n\n ApiAuth.login(user)\n .then(res => {\n if (res.data.Result === 0) {\n const token = res.data.Token\n const userInfo = res.data.User\n const dimsBackofficeUrl = res.data.DimsBackofficeURL\n const vcrUrl = res.data.VcrURL\n commit('auth_success', { token, user: userInfo, dimsBackofficeUrl, vcrUrl })\n }\n\n // Forward in any case (e.g. for 2FA)\n resolve(res)\n })\n .catch(err => {\n commit('auth_error', err)\n reject(err)\n })\n })\n },\n\n autologin ({ commit }, token) {\n return new Promise((resolve, reject) => {\n commit('auth_request')\n\n ApiAuth.loginToken(token)\n .then(res => {\n console.warn('loginToken result success:', res.data)\n const authToken = res.data.Token\n const user = res.data.User\n const dimsBackofficeUrl = res.data.DimsBackofficeURL\n const vcrUrl = res.data.VcrURL\n commit('auth_success', { token: authToken, user, dimsBackofficeUrl, vcrUrl })\n resolve(res)\n })\n .catch(err => {\n commit('auth_error', err)\n reject(err)\n })\n })\n },\n\n logout ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiAuth.logout().then(res => {\n commit('logout')\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getTurnstiles ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiCtm.getTurnstiles().then(res => {\n commit('set_turnstiles_boxes', res.data || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getProducts ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiProducts.getProducts({ IsSubscription: true }).then(res => {\n commit('set_products', res.data || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getFamilies ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiProducts.getFamilies({ State: [true] }).then(res => {\n commit('set_families', res.data || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getAreas ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiAreas.getAreas().then(res => {\n commit('set_areas', res.data || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n updateArea ({ commit }, area) {\n return new Promise((resolve, reject) => {\n ApiAreas.updateArea(area).then(res => {\n let found = false\n\n for (let i = 0; i < this.state.main.areas.length; ++i) {\n const a = this.state.main.areas[i]\n if (a.ID === area.ID) {\n this.state.main.areas[i] = area\n commit('set_areas', this.state.main.areas)\n found = true\n break\n }\n }\n\n if (!found) {\n this.state.main.areas.push(area)\n commit('set_areas', this.state.main.areas)\n }\n\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n createArea ({ commit }, area) {\n return new Promise((resolve, reject) => {\n ApiAreas.createArea(area).then(res => {\n this.state.main.areas.push(area)\n commit('set_areas', this.state.main.areas)\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getWeekTypes ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiWeekTypes.getWeekTypes().then(res => {\n commit('set_weekTypes', res.data || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getAccessTimeslots ({ commit }, filters) {\n commit('set_accessTimeslotsLoading', true)\n return new Promise((resolve, reject) => {\n ApiAccessControl.getTimeslots(filters).then(res => {\n commit('set_accessTimeslots', res.data || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n }\n\n },\n mutations: {\n reset_main (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => { state[key] = initial[key] })\n },\n auth_request (state) {\n state.auth.status = 'loading'\n },\n set_auth_status (state, val) {\n state.auth.status = val\n },\n auth_success (state, val) {\n state.auth.status = 'success'\n state.auth.token = val.token\n state.auth.user = val.user\n state.auth.dimsBackofficeUrl = val.dimsBackofficeUrl\n state.auth.vcrUrl = val.vcrUrl\n state.navigation_drawer_permanent = true\n },\n auth_error (state) {\n state.auth.status = 'error'\n state.auth.token = null\n state.auth.user = null\n state.navigation_drawer_permanent = false\n },\n set_auth_permissions (state, perms) {\n state.auth.user.Permissions = perms\n },\n logout (state) {\n state.auth.status = 'idle'\n state.auth.token = null\n state.auth.user = null\n state.navigation_drawer_permanent = false\n },\n set_forbidden (state, val) {\n state.forbidden = val\n },\n set_turnstiles_boxes (state, val) {\n state.tsBoxes = val\n },\n set_products (state, val) {\n state.products = val\n },\n set_families (state, val) {\n state.families = val\n },\n set_areas (state, val) {\n state.areas = val\n },\n set_weekTypes (state, val) {\n state.weekTypes = val\n },\n set_accessTimeslots (state, val) {\n state.accessTimeslots = val\n state.accessTimeslotsLoading = false\n },\n set_accessTimeslotsLoading (state, val) {\n state.accessTimeslotsLoading = val\n }\n }\n}\n","import ApiParams from '~/api/params'\nimport moment from 'moment'\nimport _ from 'lodash'\nimport eventbus from '~/eventbus'\n\nimport paramsMixin from 'neptune/helpers/params'\n\nconst initialState = () => ({\n modules: {\n planning: false,\n ctm: false,\n clients: false,\n spa: false,\n stats: false,\n indoorpos: false\n },\n params: null,\n formattedParams: paramsMixin.defaultParams(),\n globalParams: null,\n\n periods: [],\n pricing: [],\n paymentType: [],\n establishments: [],\n selectedEstablishments: []\n\n})\n\nexport default {\n state: initialState,\n getters: {\n modules: state => state.modules,\n params: state => state.params,\n formattedParams: state => state.formattedParams,\n globalParams: state => state.globalParams,\n periods: state => state.periods,\n currentPeriod: function (state) {\n if (state.periods) {\n let current = state.periods.find(p => moment().isBetween(moment(p.StartDate), moment(p.EndDate)))\n if (current === undefined) {\n current = state.periods[state.periods.length - 1]\n }\n return current\n }\n return {}\n },\n pricing: state => state.pricing,\n paymentType: state => state.paymentType,\n establishments: state => state.establishments,\n establishmentsById: state => _.keyBy(state.establishments, 'ID'),\n selectedEstablishments: state => state.selectedEstablishments,\n statsSeason: state => {\n const season = (state.formattedParams && state.formattedParams.statsSeason) ? state.formattedParams.statsSeason : { start: '01/01', end: '31/12' }\n const start = moment(season.start, 'DD/MM')\n const end = moment(season.end, 'DD/MM')\n return {\n start: {\n day: start.format('D'),\n month: start.format('M')\n },\n end: {\n day: end.format('D'),\n month: end.format('M')\n }\n }\n },\n currencySymbol: state => {\n if (!state.globalParams[2]) {\n return '?'\n } else if (!state.globalParams[2].Value) {\n return state.globalParams[2].DefaultValue\n }\n return state.globalParams[2].Value\n }\n },\n actions: {\n getModules ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiParams.getModules().then(res => {\n commit('set_modules', res.data || {})\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getParams ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiParams.getParams().then(res => {\n commit('set_params', res.data || [])\n commit('set_formatted_params', paramsMixin.formatParams(res.data || []))\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getGlobalParams ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiParams.getGlobalParams().then(res => {\n const params = paramsMixin.formatGlobalParams(res.data)\n commit('set_global_params', params || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getPeriods ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiParams.getPeriods().then(res => {\n commit('set_periods', res.data || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getPricing ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiParams.getPricing().then(res => {\n commit('set_pricing', res.data || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getPaymentType ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiParams.getPaymentType().then(res => {\n commit('set_paymentType', res.data || [])\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getEstablishments ({ commit }) {\n return new Promise((resolve, reject) => {\n ApiParams.getEstablishments().then(res => {\n commit('set_establishments', res.data || [])\n // By default select no one etab (so no etab condition in filter : so all data are display for all etabs)\n // commit('set_selectedEstablishments', [])\n // Depend of the etabs (comment or not those lines)\n // if (this.state.params.selectedEstablishments.length === 0) { // Select At Least One Establishment\n // commit('add_selectedEstablishments', res.data[0].Label || []) // by default the first one\n // }\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getSelectAllEstablishments ({ commit }) {\n commit('set_selectedEstablishments', []) // on vide avant au cas où\n const establishments = JSON.parse(JSON.stringify(this.state.params.establishments))\n establishments.forEach(establishment => {\n commit('add_selectedEstablishments', establishment.ID)\n })\n }\n },\n\n mutations: {\n reset_params (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => { state[key] = initial[key] })\n },\n\n set_modules (state, val) {\n state.modules = val\n },\n\n set_params (state, val) {\n state.params = val\n },\n\n set_formatted_params (state, val) {\n state.formattedParams = val\n },\n\n set_global_params (state, val) {\n state.globalParams = val\n },\n\n set_periods (state, val) {\n state.periods = val.sort((a, b) => moment(a.EndDate).diff(moment(b.EndDate)))\n },\n\n set_pricing (state, val) {\n state.pricing = val\n },\n\n set_paymentType (state, val) {\n state.paymentType = val\n },\n\n set_establishments (state, val) {\n state.establishments = val\n },\n\n upsert_establishment (state, val) {\n const index = state.establishments.findIndex(e => e.ID === val.ID)\n if (index === -1) {\n state.establishments.push(val)\n } else {\n state.establishments[index] = val\n }\n },\n\n set_selectedEstablishments (state, val) {\n const enabledEstablishments = state.establishments.filter(e => e.Status)\n if (enabledEstablishments.length < 2) { // Select nothing if there are only one enabled establishment\n state.selectedEstablishments = []\n } else {\n state.selectedEstablishments = val\n }\n eventbus.$emit('establishments-selected', true)\n },\n\n add_selectedEstablishments (state, val) {\n state.selectedEstablishments.push(val)\n }\n }\n}\n","// no one JS import\n\nconst initialState = () => ({\n filter: {\n\n preSelectFilterSelectedName: 'Aucun',\n\n /// //////////// General cdt to allow fonctionnalities\n\n conditionsSatisfied: true,\n\n /// ////////////\n\n toggle_multiple: [],\n second_toggle_multiple: [],\n\n /// //////////// Activities & activities'Families Picker :\n\n selectedActivities: [],\n selectedFamilies: [],\n\n /// //////////// Planning Saison Picker :\n\n saison: '2018',\n second_saison: '2019',\n\n /// //////////// Planning_Switch : \"Date Mode\" - \"Season Mode\" :\n\n saison_picker_checkbox: null,\n\n /// //////////// Switch : \"Date Compare\" - \"Date du - au\" :\n\n date_picker_checkbox: null,\n\n /// //////////// Date Picker \"Du\" et Date Picker \"Au\" :\n\n du_annee: null,\n du_mois: null,\n du_jour: null,\n\n au_annee: null,\n au_mois: null,\n au_jour: null,\n\n du_menu: false,\n du_picker: new Date().toISOString().substr(0, 10),\n\n au_menu: false,\n au_picker: new Date().toISOString().substr(0, 10),\n\n second_date_range_checkbox: null,\n\n second_du_annee: null,\n second_du_mois: null,\n second_du_jour: null,\n\n second_au_annee: null,\n second_au_mois: null,\n second_au_jour: null,\n\n second_du_menu: false,\n second_du_picker: new Date().toISOString().substr(0, 10),\n\n second_au_menu: false,\n second_au_picker: new Date().toISOString().substr(0, 10),\n\n /// //////////// Annee Picker 1 & 2 (param for data DL : send to backend) :\n\n annee: null,\n mois: null,\n jour: null,\n\n second_annee: null,\n second_mois: null,\n second_jour: null,\n\n /// //////////// Date Picker 1 (param for data displayed on screen) :\n\n year: false,\n month: false,\n day: false,\n\n picker: new Date().toISOString().substr(0, 10),\n picker_diplay: new Date().toISOString().substr(0, 10),\n\n menu: false,\n\n /// //////////// Date Picker 2 (param for data displayed on screen) :\n\n second_year: false,\n second_month: false,\n second_day: false,\n\n second_picker: new Date().toISOString().substr(0, 10),\n second_picker_diplay: new Date().toISOString().substr(0, 10),\n\n second_menu: false\n }\n})\n\nexport default {\n state: initialState,\n getters: {\n statsFilterResaBilansPeriodiques: state => state.filter\n },\n actions: {\n /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n reset_stats_resa_bilans_periodiques (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => { state[key] = initial[key] })\n },\n\n // DATE INITIALE : Standard Périodes ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsActuDateBtnJour ({ commit }) {\n const monthsList = ['Aucun', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']\n if (!this.state.stats.resa.bilansperiodiques.filter.day) {\n // Btn Jour va s'enclencher\n commit('set_statsPickerDisplay', this.state.stats.resa.bilansperiodiques.filter.picker)\n // commit('set_statsPickerDisplay', \"Jour\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.year && !this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Jour s'arrête\n // Btn Année et Mois pas enclenchés\n commit('set_statsPickerDisplay', 'Aucun filtre sur les données')\n } else if (this.state.stats.resa.bilansperiodiques.filter.year && !this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Année enclenché mais pas Mois\n commit('set_statsPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10))\n // commit('set_statsPickerDisplay', \"Année\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.year && this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Mois enclenché mais pas Année\n commit('set_statsPickerDisplay', monthsList[parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10)])\n // commit('set_statsPickerDisplay', \"Mois\");\n } else if (this.state.stats.resa.bilansperiodiques.filter.year && this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Année et Mois enclenchés\n commit('set_statsPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10) + ' - ' + parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10))\n // commit('set_statsPickerDisplay', \"Année + Mois\");\n }\n },\n\n getStatsActuDateBtnMois ({ commit }) {\n const monthsList = ['Aucun', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']\n if (!this.state.stats.resa.bilansperiodiques.filter.day && !this.state.stats.resa.bilansperiodiques.filter.year && !this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Mois va s'enclencher (aucun des 3 btn n'étaient enclechés)\n commit('set_statsPickerDisplay', monthsList[parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10)])\n // commit('set_statsPickerDisplay', \"Mois\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.day && this.state.stats.resa.bilansperiodiques.filter.year && !this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Mois va s'enclencher (seul btn Année est encleché)\n commit('set_statsPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10) + ' - ' + parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10))\n // commit('set_statsPickerDisplay', \"Année + Mois\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.day && !this.state.stats.resa.bilansperiodiques.filter.year && this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Mois va s'arrêter (aucun des 2 autres btn n'étaient enclechés)\n commit('set_statsPickerDisplay', 'Aucun filtre sur les données')\n } else if (!this.state.stats.resa.bilansperiodiques.filter.day && this.state.stats.resa.bilansperiodiques.filter.year && this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Mois va s'arrêter (seul btn Année est encleché)\n commit('set_statsPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10))\n // commit('set_statsPickerDisplay', \"Année\");\n }\n },\n\n getStatsActuDateBtnAnnee ({ commit }) {\n const monthsList = ['Aucun', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']\n if (!this.state.stats.resa.bilansperiodiques.filter.day && !this.state.stats.resa.bilansperiodiques.filter.year && !this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Annee va s'enclencher (aucun des 3 btn n'étaient enclechés)\n commit('set_statsPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10))\n // commit('set_statsPickerDisplay', \"Année\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.day && !this.state.stats.resa.bilansperiodiques.filter.year && this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Année va s'enclencher (seul btn Mois est encleché)\n commit('set_statsPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10) + ' - ' + parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10))\n // commit('set_statsPickerDisplay', \"Année + Mois\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.day && this.state.stats.resa.bilansperiodiques.filter.year && !this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Année va s'arrêter (aucun des 2 autres btn n'étaient enclechés)\n commit('set_statsPickerDisplay', 'Aucun filtre sur les données')\n } else if (!this.state.stats.resa.bilansperiodiques.filter.day && this.state.stats.resa.bilansperiodiques.filter.year && this.state.stats.resa.bilansperiodiques.filter.month) {\n // Btn Année va s'arrêter (seul btn Mois est encleché)\n commit('set_statsPickerDisplay', monthsList[parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10)])\n // commit('set_statsPickerDisplay', \"Mois\");\n }\n },\n\n getStatsActuDateBtnValidate ({ commit }) {\n const monthsList = ['Aucun', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']\n if (this.state.stats.resa.bilansperiodiques.filter.day) {\n commit('set_statsPickerDisplay', this.state.stats.resa.bilansperiodiques.filter.picker)\n } else if (this.state.stats.resa.bilansperiodiques.filter.year && !this.state.stats.resa.bilansperiodiques.filter.month) {\n commit('set_statsPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10))\n } else if (!this.state.stats.resa.bilansperiodiques.filter.year && this.state.stats.resa.bilansperiodiques.filter.month) {\n commit('set_statsPickerDisplay', monthsList[parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10)])\n // commit('set_statsPickerDisplay', \"Mois : \" + parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10));\n } else if (this.state.stats.resa.bilansperiodiques.filter.year && this.state.stats.resa.bilansperiodiques.filter.month) {\n commit('set_statsPickerDisplay', +parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10) + ' - ' + +parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10))\n }\n },\n\n // DATE TO COMPARE //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsSecondActuDateBtnJour ({ commit }) {\n const monthsList = ['Aucun', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']\n // Btn Jour va s'enclencher\n if (!this.state.stats.resa.bilansperiodiques.filter.second_day) {\n // commit('set_statsSecondPickerDisplay', \"Jour\");\n commit('set_statsSecondPickerDisplay', this.state.stats.resa.bilansperiodiques.filter.second_picker)\n } else if (!this.state.stats.resa.bilansperiodiques.filter.second_year && !this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Jour s'arrête\n // Btn Année et Mois pas enclenchés\n commit('set_statsSecondPickerDisplay', 'Aucun filtre sur les données')\n } else if (this.state.stats.resa.bilansperiodiques.filter.second_year && !this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Année enclenché mais pas Mois\n commit('set_statsSecondPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10))\n // commit('set_statsSecondPickerDisplay', \"Année\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.second_year && this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Mois enclenché mais pas Année\n commit('set_statsSecondPickerDisplay', monthsList[parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10)])\n // commit('set_statsSecondPickerDisplay', \"Mois\");\n } else if (this.state.stats.resa.bilansperiodiques.filter.second_year && this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Année et Mois enclenchés\n commit('set_statsSecondPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10) + ' - ' + parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10))\n // commit('set_statsSecondPickerDisplay', \"Année + Mois\");\n }\n },\n\n getStatsSecondActuDateBtnMois ({ commit }) {\n const monthsList = ['Aucun', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']\n if (!this.state.stats.resa.bilansperiodiques.filter.second_day && !this.state.stats.resa.bilansperiodiques.filter.second_year && !this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Mois va s'enclencher (aucun des 3 btn n'étaient enclechés)\n commit('set_statsSecondPickerDisplay', monthsList[parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10)])\n // commit('set_statsSecondPickerDisplay', \"Mois\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.second_day && this.state.stats.resa.bilansperiodiques.filter.second_year && !this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Mois va s'enclencher (seul btn Année est encleché)\n commit('set_statsSecondPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10) + ' - ' + parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10))\n // commit('set_statsSecondPickerDisplay', \"Année + Mois\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.second_day && !this.state.stats.resa.bilansperiodiques.filter.second_year && this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Mois va s'arrêter (aucun des 2 autres btn n'étaient enclechés)\n commit('set_statsSecondPickerDisplay', 'Aucun filtre sur les données')\n } else if (!this.state.stats.resa.bilansperiodiques.filter.second_day && this.state.stats.resa.bilansperiodiques.filter.second_year && this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Mois va s'arrêter (seul btn Année est encleché)\n commit('set_statsSecondPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10))\n // commit('set_statsSecondPickerDisplay', \"Année\");\n }\n },\n\n getStatsSecondActuDateBtnAnnee ({ commit }) {\n const monthsList = ['Aucun', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']\n if (!this.state.stats.resa.bilansperiodiques.filter.second_day && !this.state.stats.resa.bilansperiodiques.filter.second_year && !this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Annee va s'enclencher (aucun des 3 btn n'étaient enclechés)\n commit('set_statsSecondPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10))\n // commit('set_statsSecondPickerDisplay', \"Année\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.second_day && !this.state.stats.resa.bilansperiodiques.filter.second_year && this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Année va s'enclencher (seul btn Mois est encleché)\n commit('set_statsSecondPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10) + ' - ' + parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10))\n // commit('set_statsSecondPickerDisplay', \"Année + Mois\");\n } else if (!this.state.stats.resa.bilansperiodiques.filter.second_day && this.state.stats.resa.bilansperiodiques.filter.second_year && !this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Année va s'arrêter (aucun des 2 autres btn n'étaient enclechés)\n commit('set_statsSecondPickerDisplay', 'Aucun filtre sur les données')\n } else if (!this.state.stats.resa.bilansperiodiques.filter.second_day && this.state.stats.resa.bilansperiodiques.filter.second_year && this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // Btn Année va s'arrêter (seul btn Mois est encleché)\n commit('set_statsSecondPickerDisplay', monthsList[parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10)])\n // commit('set_statsSecondPickerDisplay', \"Mois\");\n }\n },\n\n getStatsSecondActuDateBtnValidate ({ commit }) {\n const monthsList = ['Aucun', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']\n if (this.state.stats.resa.bilansperiodiques.filter.second_day) {\n commit('set_statsSecondPickerDisplay', this.state.stats.resa.bilansperiodiques.filter.second_picker)\n } else if (this.state.stats.resa.bilansperiodiques.filter.second_year && !this.state.stats.resa.bilansperiodiques.filter.second_month) {\n commit('set_statsSecondPickerDisplay', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10))\n } else if (!this.state.stats.resa.bilansperiodiques.filter.second_year && this.state.stats.resa.bilansperiodiques.filter.second_month) {\n // commit('set_statsSecondPickerDisplay', \"Mois : \" + parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10));\n commit('set_statsSecondPickerDisplay', monthsList[parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10)])\n } else if (this.state.stats.resa.bilansperiodiques.filter.second_year && this.state.stats.resa.bilansperiodiques.filter.second_month) {\n commit('set_statsSecondPickerDisplay', +parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10) + ' - ' + +parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10))\n }\n },\n\n // DOWNLOAD DATA //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsActuDateRange ({ commit }) {\n // DU var : annee, mois, jour\n commit('set_statsDuAnnee', parseInt(this.state.stats.resa.bilansperiodiques.filter.du_picker.split('-')[0], 10))\n commit('set_statsDuMois', parseInt(this.state.stats.resa.bilansperiodiques.filter.du_picker.split('-')[1], 10))\n commit('set_statsDuJour', parseInt(this.state.stats.resa.bilansperiodiques.filter.du_picker.split('-')[2], 10))\n // AU var : annee, mois, jour\n commit('set_statsAuAnnee', parseInt(this.state.stats.resa.bilansperiodiques.filter.au_picker.split('-')[0], 10))\n commit('set_statsAuMois', parseInt(this.state.stats.resa.bilansperiodiques.filter.au_picker.split('-')[1], 10))\n commit('set_statsAuJour', parseInt(this.state.stats.resa.bilansperiodiques.filter.au_picker.split('-')[2], 10))\n\n if (this.state.stats.resa.bilansperiodiques.filter.second_date_range_checkbox) {\n // SECOND DU var : annee, mois, jour\n commit('set_statsSecondDuAnnee', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_du_picker.split('-')[0], 10))\n commit('set_statsSecondDuMois', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_du_picker.split('-')[1], 10))\n commit('set_statsSecondDuJour', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_du_picker.split('-')[2], 10))\n // SECOND AU var : annee, mois, jour\n commit('set_statsSecondAuAnnee', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_au_picker.split('-')[0], 10))\n commit('set_statsSecondAuMois', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_au_picker.split('-')[1], 10))\n commit('set_statsSecondAuJour', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_au_picker.split('-')[2], 10))\n }\n },\n\n getStatsActuDate ({ commit }) {\n // var annee, mois, jour\n if (this.state.stats.resa.bilansperiodiques.filter.year) {\n commit('set_statsAnnee', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10))\n } else {\n commit('set_statsAnnee', -1)\n }\n if (this.state.stats.resa.bilansperiodiques.filter.month) {\n commit('set_statsMois', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10))\n } else {\n commit('set_statsMois', -1)\n }\n if (this.state.stats.resa.bilansperiodiques.filter.day) {\n commit('set_statsAnnee', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[0], 10))\n commit('set_statsMois', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[1], 10))\n commit('set_statsJour', parseInt(this.state.stats.resa.bilansperiodiques.filter.picker.split('-')[2], 10))\n } else {\n commit('set_statsJour', -1)\n }\n\n // SECOND var annee, mois, jour\n if (this.state.stats.resa.bilansperiodiques.filter.second_year) {\n commit('set_statsSecondAnnee', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10))\n } else {\n commit('set_statsSecondAnnee', -1)\n }\n if (this.state.stats.resa.bilansperiodiques.filter.second_month) {\n commit('set_statsSecondMois', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10))\n } else {\n commit('set_statsSecondMois', -1)\n }\n if (this.state.stats.resa.bilansperiodiques.filter.second_day) {\n commit('set_statsSecondAnnee', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[0], 10))\n commit('set_statsSecondMois', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[1], 10))\n commit('set_statsSecondJour', parseInt(this.state.stats.resa.bilansperiodiques.filter.second_picker.split('-')[2], 10))\n } else {\n commit('set_statsSecondJour', -1)\n }\n }\n },\n mutations: {\n /// //////////////////////////////////////////////////////////////////////\n set_statPreSelectFilterSelectedName (state, val) {\n state.filter.preSelectFilterSelectedName = val\n },\n /// //////////////////////////////////////////////////////////////////////\n // Date Switch : \"Season Mode\" - \"Standard Period\"\n set_statsSaisonPickerCheckbox (state, val) {\n state.filter.saison_picker_checkbox = val\n },\n // Date Switch : \"Date Range\" - \"Standard Period\"\n set_statsDatePickerCheckbox (state, val) {\n state.filter.date_picker_checkbox = val\n },\n // Do some comparisons\n set_statsSecondDateRangeCheckbox (state, val) {\n state.filter.second_date_range_checkbox = val\n },\n /// //////////////////////////////////////////////////////////////////////\n // Saison : Values 1 : in order to data downlaod\n set_statsSaison (state, val) {\n state.filter.saison = val\n },\n // Saison : Values 2 : in order to data downlaod\n set_statsSecondSaison (state, val) {\n state.filter.second_saison = val\n },\n /// //////////////////////////////////////////////////////////////////////\n // Date : Values \"DU\" : in order to data downlaod\n set_statsDuAnnee (state, val) {\n state.filter.du_annee = val\n },\n set_statsDuMois (state, val) {\n state.filter.du_mois = val\n },\n set_statsDuJour (state, val) {\n state.filter.du_jour = val\n },\n set_statsSecondDuAnnee (state, val) {\n state.filter.second_du_annee = val\n },\n set_statsSecondDuMois (state, val) {\n state.filter.second_du_mois = val\n },\n set_statsSecondDuJour (state, val) {\n state.filter.second_du_jour = val\n },\n // Date : Values \"AU\" : in order to data downlaod\n set_statsAuAnnee (state, val) {\n state.filter.au_annee = val\n },\n set_statsAuMois (state, val) {\n state.filter.au_mois = val\n },\n set_statsAuJour (state, val) {\n state.filter.au_jour = val\n },\n set_statsSecondAuAnnee (state, val) {\n state.filter.second_au_annee = val\n },\n set_statsSecondAuMois (state, val) {\n state.filter.second_au_mois = val\n },\n set_statsSecondAuJour (state, val) {\n state.filter.second_au_jour = val\n },\n // Date : Pickers : \"DU\" et \"AU\"\n set_statsDuPicker (state, val) {\n state.filter.du_picker = val\n },\n set_statsAuPicker (state, val) {\n state.filter.au_picker = val\n },\n set_statsSecondDuPicker (state, val) {\n state.filter.second_du_picker = val\n },\n set_statsSecondAuPicker (state, val) {\n state.filter.second_au_picker = val\n },\n /// //////////////////////////////////////////////////////////////////////\n // Date : Values 1 : in order to data downlaod\n set_statsAnnee (state, val) {\n state.filter.annee = val\n },\n set_statsMois (state, val) {\n state.filter.mois = val\n },\n set_statsJour (state, val) {\n state.filter.jour = val\n },\n // Date : Values 2 : in order to data downlaod\n set_statsSecondAnnee (state, val) {\n state.filter.second_annee = val\n },\n set_statsSecondMois (state, val) {\n state.filter.second_mois = val\n },\n set_statsSecondJour (state, val) {\n state.filter.second_jour = val\n },\n // Date : Pickers\n set_statsPicker (state, val) {\n state.filter.picker = val\n },\n set_statsSecondPicker (state, val) {\n state.filter.second_picker = val\n },\n // Date : Pickers Display\n set_statsPickerDisplay (state, val) {\n state.filter.picker_display = val\n },\n set_statsSecondPickerDisplay (state, val) {\n state.filter.second_picker_display = val\n }\n }\n}\n","// no one JS import\n\nconst initialState = () => ({\n filter: {\n\n preSelectFilterSelectedName: 'Aucun',\n\n // Valeur du Group Radio Btn pour savoir quel type doit être utilisé (Mode SEASON, YEAR, MONTH, WEEK ou DAY)\n date_mode_choisi: 0,\n\n date_mode_annee_value: 0,\n date_mode_mois_value: 1,\n date_mode_semaine_value: 2,\n date_mode_jour_value: 3,\n date_mode_saison_value: 4,\n\n // mode SEASON\n mode_saison_annee: null,\n\n // mode YEAR\n mode_annee_du_annee: null,\n mode_annee_au_annee: null,\n\n // mode MONTH\n mode_mois_du_annee: null,\n mode_mois_au_annee: null,\n\n mode_mois_du_mois: '1',\n mode_mois_au_mois: '12',\n\n // mode WEEK\n mode_semaine_du_annee: null,\n mode_semaine_au_annee: null,\n\n mode_semaine_du_semaine: '1',\n mode_semaine_au_semaine: '52',\n\n /// //////////// Dates Picker :\n\n // mode DAY\n du_menu: false,\n du_picker: new Date().toISOString().substr(0, 10),\n\n au_menu: false,\n au_picker: new Date().toISOString().substr(0, 10),\n\n /// //////////// Animateurs Picker :\n\n selected_animateurs: [],\n\n /// //////////// Horaires Picker :\n\n selected_horaires: [],\n\n /// //////////// Activités Picker :\n\n selected_activites: [],\n\n /// //////////// Articles Picker :\n\n selected_articles: []\n }\n})\n\nexport default {\n\n state: initialState,\n\n getters: {\n statsFilterResaFrequentations: state => state.filter\n },\n\n actions: {\n\n reset_stats_resa_frequentations (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => { state[key] = initial[key] })\n },\n\n /// //////////// Animateurs Picker : //////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsSelectAllTrainers ({ commit }) {\n commit('set_selected_animateurs', [])\n this.state.stats.resa.filter.animateurs.forEach(function (anim) {\n commit('add_selected_animateurs', anim)\n })\n },\n\n /// //////////// Horaires Picker : //////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsSelectAllTimetables ({ commit }) {\n commit('set_selected_horaires', [])\n this.state.stats.resa.filter.horaires.forEach(function (horaire) {\n commit('add_selected_horaires', horaire)\n })\n },\n\n /// //////////// Activités Picker : //////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsSelectAllActivities ({ commit }) {\n commit('set_selected_activites', [])\n this.state.stats.resa.filter.activites.forEach(function (activite) {\n commit('add_selected_activites', activite)\n })\n },\n\n /// //////////// Articles Picker : //////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsSelectAllProducts ({ commit }) {\n commit('set_selected_articles', [])\n this.state.stats.resa.filter.articles.forEach(function (article) {\n commit('add_selected_articles', article)\n })\n }\n\n },\n\n mutations: {\n /// //////////////////////////////////////////////////////////////////////\n set_statPreSelectFilterSelectedName (state, val) {\n state.filter.preSelectFilterSelectedName = val\n },\n /// //////////////////////////////////////////////////////////////////////\n /// //////////// Dates Picker :\n\n // Valeur du Group Radio Btn pour savoir quel type doit être utilisé (Mode SEASON, YEAR, MONTH, WEEK ou DAY)\n set_date_mode_choisi (state, val) {\n state.filter.planning_second_au_annee = val\n },\n\n set_date_mode_annee_value (state, val) {\n state.filter.date_mode_annee_value = val\n },\n set_date_mode_mois_value (state, val) {\n state.filter.date_mode_mois_value = val\n },\n set_date_mode_semaine_value (state, val) {\n state.filter.date_mode_semaine_value = val\n },\n set_date_mode_jour_value (state, val) {\n state.filter.date_mode_jour_value = val\n },\n set_date_mode_saison_value (state, val) {\n state.filter.date_mode_saison_value = val\n },\n\n // mode SEASON\n set_mode_saison_annee (state, val) {\n state.filter.mode_saison_annee = val\n },\n\n // mode YEAR\n set_mode_annee_du_annee (state, val) {\n state.filter.mode_annee_du_annee = val\n },\n set_mode_annee_au_annee (state, val) {\n state.filter.mode_annee_au_annee = val\n },\n\n // mode MONTH\n set_mode_mois_du_annee (state, val) {\n state.filter.mode_mois_du_annee = val\n },\n set_mode_mois_au_annee (state, val) {\n state.filter.mode_mois_au_annee = val\n },\n\n set_mode_mois_du_mois (state, val) {\n state.filter.mode_mois_du_mois = val\n },\n set_mode_mois_au_mois (state, val) {\n state.filter.mode_mois_au_mois = val\n },\n\n // mode WEEK\n set_mode_semaine_du_annee (state, val) {\n state.filter.mode_semaine_du_annee = val\n },\n set_mode_semaine_au_annee (state, val) {\n state.filter.mode_semaine_au_annee = val\n },\n\n set_mode_semaine_du_semaine (state, val) {\n state.filter.mode_semaine_du_semaine = val\n },\n set_mode_semaine_au_semaine (state, val) {\n state.filter.mode_semaine_au_semaine = val\n },\n\n /// //////////// Animateurs Picker :\n\n set_selected_animateurs (state, val) {\n state.filter.selected_animateurs = val\n },\n add_selected_animateurs (state, val) {\n state.filter.selected_animateurs.push(val)\n },\n\n /// //////////// Horaires Picker :\n\n set_selected_horaires (state, val) {\n state.filter.selected_horaires = val\n },\n add_selected_horaires (state, val) {\n state.filter.selected_horaires.push(val)\n },\n\n /// //////////// Activités Picker :\n\n set_selected_activites (state, val) {\n state.filter.selected_activites = val\n },\n add_selected_activites (state, val) {\n state.filter.selected_activites.push(val)\n },\n\n /// //////////// Articles Picker :\n\n set_selected_articles (state, val) {\n state.filter.selected_articles = val\n },\n add_selected_articles (state, val) {\n state.filter.selected_articles.push(val)\n }\n }\n}\n","// moment\nimport moment from 'moment'\n\nconst initialState = () => ({\n filter: {\n\n preSelectFilterSelectedName: 'Aucun',\n\n /// //////////// General cdt to allow fonctionnalities\n\n conditionsSatisfied: true,\n\n /// ////////////\n\n toggle_multiple: [],\n second_toggle_multiple: [],\n\n // /////////////\n\n planning_selectedColorsForEventsPerformances: [],\n planning_selectedColorsForEventsEvolutions: [],\n\n /// //////////// Planning Activities & activities'Families :\n\n planning_selectedActivities: [],\n planning_selectedFamilies: [],\n\n /// //////////// Planning Threshold :\n\n planning_threshold_one: 25,\n planning_threshold_two: 50,\n planning_threshold_three: 75,\n\n /// //////////// Planning Time mode Picker :\n\n planning_timeModeSelected: 'Mode Saison',\n\n /// //////////// Planning Saison Picker :\n\n planning_saisonChoisie: moment().format('YYYY'),\n planning_second_saisonChoisie: moment().subtract(1, 'year').format('YYYY'),\n\n /// //////////// Planning Annee Picker :\n\n planning_anneeChoisissables: [],\n\n planning_anneeChoisie: 'Aucune',\n planning_second_anneeChoisie: 'Aucune',\n\n /// //////////// Planning Month Picker :\n\n planning_moisChoisi: 'Aucun',\n planning_second_moisChoisi: 'Aucun',\n\n /// //////////// Planning_Date Picker \"Du\" et Date Picker \"Au\" :\n\n planning_du_annee: null,\n planning_du_mois: null,\n planning_du_jour: null,\n\n planning_au_annee: null,\n planning_au_mois: null,\n planning_au_jour: null,\n\n planning_du_menu: false,\n planning_du_picker: new Date().toISOString().substr(0, 10),\n\n planning_au_menu: false,\n planning_au_picker: new Date().toISOString().substr(0, 10),\n\n planning_second_du_annee: null,\n planning_second_du_mois: null,\n planning_second_du_jour: null,\n\n planning_second_au_annee: null,\n planning_second_au_mois: null,\n planning_second_au_jour: null,\n\n planning_second_du_menu: false,\n planning_second_du_picker: new Date().toISOString().substr(0, 10),\n\n planning_second_au_menu: false,\n planning_second_au_picker: new Date().toISOString().substr(0, 10)\n }\n})\n\nexport default {\n state: initialState,\n getters: {\n statsFilterResaPlannings: state => state.filter\n },\n actions: {\n /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n reset_stats_resa_plannings (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => { state[key] = initial[key] })\n },\n\n // DOWNLOAD DATA //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsActuDateRangePlanningCR ({ commit }) {\n // DU var : annee, mois, jour\n commit('set_statsPlanningCRDuAnnee', parseInt(this.state.stats.resa.plannings.filter.planning_du_picker.split('-')[0], 10))\n commit('set_statsPlanningCRDuMois', parseInt(this.state.stats.resa.plannings.filter.planning_du_picker.split('-')[1], 10))\n commit('set_statsPlanningCRDuJour', parseInt(this.state.stats.resa.plannings.filter.planning_du_picker.split('-')[2], 10))\n // AU var : annee, mois, jour\n commit('set_statsPlanningCRAuAnnee', parseInt(this.state.stats.resa.plannings.filter.planning_au_picker.split('-')[0], 10))\n commit('set_statsPlanningCRAuMois', parseInt(this.state.stats.resa.plannings.filter.planning_au_picker.split('-')[1], 10))\n commit('set_statsPlanningCRAuJour', parseInt(this.state.stats.resa.plannings.filter.planning_au_picker.split('-')[2], 10))\n\n // SECOND DU var : annee, mois, jour\n commit('set_statsPlanningCRSecondDuAnnee', parseInt(this.state.stats.resa.plannings.filter.planning_second_du_picker.split('-')[0], 10))\n commit('set_statsPlanningCRSecondDuMois', parseInt(this.state.stats.resa.plannings.filter.planning_second_du_picker.split('-')[1], 10))\n commit('set_statsPlanningCRSecondDuJour', parseInt(this.state.stats.resa.plannings.filter.planning_second_du_picker.split('-')[2], 10))\n // SECOND AU var : annee, mois, jour\n commit('set_statsPlanningCRSecondAuAnnee', parseInt(this.state.stats.resa.plannings.filter.planning_second_au_picker.split('-')[0], 10))\n commit('set_statsPlanningCRSecondAuMois', parseInt(this.state.stats.resa.plannings.filter.planning_second_au_picker.split('-')[1], 10))\n commit('set_statsPlanningCRSecondAuJour', parseInt(this.state.stats.resa.plannings.filter.planning_second_au_picker.split('-')[2], 10))\n }\n },\n mutations: {\n /// //////////////////////////////////////////////////////////////////////\n // Plannings CR : Events/Activities to display in function of booking rate, etc. :\n set_planning_selectedColorsForEventsPerformances (state, val) {\n state.filter.planning_selectedColorsForEventsPerformances = val\n },\n add_planning_selectedColorsForEventsPerformances (state, val) {\n state.filter.planning_selectedColorsForEventsPerformances.push(val)\n },\n // Plannings CR : Events/Activities to display in function of evolution between time periods :\n set_planning_selectedColorsForEventsEvolutions (state, val) {\n state.filter.planning_selectedColorsForEventsEvolutions = val\n },\n add_planning_selectedColorsForEventsEvolutions (state, val) {\n state.filter.planning_selectedColorsForEventsEvolutions.push(val)\n },\n /// //////////////////////////////////////////////////////////////////////\n // Plannings CR : Activities and Families :\n set_planning_selectedActivities (state, val) {\n state.filter.planning_selectedActivities = val\n },\n add_planning_selectedActivities (state, val) {\n state.filter.planning_selectedActivities.push(val)\n },\n\n set_planning_selectedFamilies (state, val) {\n state.filter.planning_selectedEvolutionsForEvents = val\n },\n add_planning_selectedFamilies (state, val) {\n state.filter.planning_selectedFamilies.push(val)\n },\n /// //////////////////////////////////////////////////////////////////////\n // Plannings CR : Thresholds :\n set_planning_threshold_one (state, val) {\n state.filter.planning_threshold_one = val\n },\n set_planning_threshold_two (state, val) {\n state.filter.planning_threshold_two = val\n },\n set_planning_threshold_three (state, val) {\n state.filter.planning_threshold_three = val\n },\n /// //////////////////////////////////////////////////////////////////////\n // Plannings CR : Time Mode Picker\n set_statPreSelectFilterSelectedName (state, val) {\n state.filter.preSelectFilterSelectedName = val\n },\n /// //////////////////////////////////////////////////////////////////////\n // Plannings CR : Années choisissables (où il y a des données stats précalculée)\n set_anneeChoisissables (state, val) {\n state.filter.planning_anneeChoisissables = val\n },\n add_anneeChoisissables (state, val) {\n state.filter.planning_anneeChoisissables.push(val)\n },\n /// //////////////////////////////////////////////////////////////////////\n // Plannings CR : Time Mode Picker\n set_statsPlanningCRTimeModeSelected (state, val) {\n state.filter.planning_timeModeSelected = val\n },\n /// //////////////////////////////////////////////////////////////////////\n // Plannings CR : Saison Pickers\n set_saisonChoisie (state, val) {\n state.filter.planning_saisonChoisie = val\n },\n set_second_saisonChoisie (state, val) {\n state.filter.planning_second_saisonChoisie = val\n },\n /// //////////////////////////////////////////////////////////////////////\n // Plannings CR : Date Pickers\n set_anneeChoisie (state, val) {\n state.filter.planning_anneeChoisie = val\n },\n set_moisChoisi (state, val) {\n state.filter.planning_moisChoisi = val\n },\n set_second_anneeChoisie (state, val) {\n state.filter.planning_second_anneeChoisie = val\n },\n set_second_moisChoisi (state, val) {\n state.filter.planning_second_moisChoisi = val\n },\n /// //////////////////////////////////////////////////////////////////////\n // Plannings CR : Date : Values \"DU\" : in order to data downlaod\n set_statsPlanningCRDuAnnee (state, val) {\n state.filter.planning_du_annee = val\n },\n set_statsPlanningCRDuMois (state, val) {\n state.filter.planning_du_mois = val\n },\n set_statsPlanningCRDuJour (state, val) {\n state.filter.planning_du_jour = val\n },\n set_statsPlanningCRSecondDuAnnee (state, val) {\n state.filter.planning_second_du_annee = val\n },\n set_statsPlanningCRSecondDuMois (state, val) {\n state.filter.planning_second_du_mois = val\n },\n set_statsPlanningCRSecondDuJour (state, val) {\n state.filter.planning_second_du_jour = val\n },\n // Plannings CR : Date : Values \"AU\" : in order to data downlaod\n set_statsPlanningCRAuAnnee (state, val) {\n state.filter.planning_au_annee = val\n },\n set_statsPlanningCRAuMois (state, val) {\n state.filter.planning_au_mois = val\n },\n set_statsPlanningCRAuJour (state, val) {\n state.filter.planning_au_jour = val\n },\n set_statsPlanningCRSecondAuAnnee (state, val) {\n state.filter.planning_second_au_annee = val\n },\n set_statsPlanningCRSecondAuMois (state, val) {\n state.filter.planning_second_au_mois = val\n },\n set_statsPlanningCRSecondAuJour (state, val) {\n state.filter.planning_second_au_jour = val\n },\n // Plannings CR : Date : Pickers : \"DU\" et \"AU\"\n set_statsPlanningCRDuPicker (state, val) {\n state.filter.planning_du_picker = val\n },\n set_statsPlanningCRAuPicker (state, val) {\n state.filter.planning_au_picker = val\n },\n set_statsPlanningCRSecondDuPicker (state, val) {\n state.filter.planning_second_du_picker = val\n },\n set_statsPlanningCRSecondAuPicker (state, val) {\n state.filter.planning_second_au_picker = val\n }\n }\n}\n","// moment\nimport moment from 'moment'\n// api\nimport AccountsApi from '~/api/accounts'\nimport ActivitiesApi from '~/api/activities'\nimport ProductsApi from '~/api/products'\nimport StatsApi from '~/api/stats'\n// store modules\nimport bilansperiodiques from './bilansperiodiques'\nimport frequentations from './frequentations'\nimport plannings from './plannings'\nimport SC from '~/utils/stats/consts'\n\nconst initialState = () => ({\n filter: {\n\n conditionsSatisfied: true,\n\n /// //////////// Time Scale for all stats views :\n selectedTimeScale: SC.TimeScales.SEASON,\n selectedStepMode: SC.StepModes.BY_DAY,\n timeScaleBegin: moment().startOf('year'),\n timeScaleEnd: moment().endOf('year'),\n\n /// //////////// Year/Season selector for Activity Analysis View :\n selectedSeason: moment().year().toString(),\n\n /// //////////// Selected values shared between views and used by filters :\n selectedActivitiesFamilies: null,\n selectedActivities: null,\n selectedActivity: null,\n\n recursiveProductsFamilies: false,\n selectedProductsFamilies: null,\n selectedProducts: null,\n\n selectedClients: null,\n\n selectedSellers: null,\n\n selectedTurnstiles: null,\n\n // Spa\n selectedUniverses: null,\n selectedPersonnels: null,\n\n /// //////////// Years Picker :\n annees_choisissables: null, // Used by all \"v-menu\" with years (date to choose)\n\n /// //////////// Activities & Activities' Families Picker :\n\n activites: [],\n familles: [],\n\n /// //////////// Animateurs Picker :\n\n animateurs: [],\n\n /// //////////// Horaires Picker :\n\n horaires: [],\n\n /// //////////// Articles Picker :\n\n articles: [],\n\n /// //////////// Colors to analyse activities performances (booking rate, etc.) :\n\n colorVeryBad: '#FF0000', // red\n colorBad: '#FFA500', // orange\n colorGood: '#FFFF00', // yellow\n colorVeryGood: '#008000', // green\n\n colorVeryLow: 'indigo lighten-3',\n colorLow: 'indigo lighten-1',\n colorHigh: 'indigo darken-2',\n colorVeryHigh: 'indigo darken-4',\n\n /// //////////// Colors to compare activities evolutions between time periods :\n\n colorNone: 'grey',\n colorBetter: 'green',\n colorWorst: 'red',\n colorSame: 'blue'\n }\n})\n\nexport default {\n modules: {\n bilansperiodiques,\n frequentations,\n plannings\n },\n state: initialState,\n getters: {\n statsFilterResa: state => state.filter\n },\n actions: {\n\n reset_stats_resa (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => { state[key] = initial[key] })\n },\n\n /// //////////// Years Checkers : //////////////////////////////////////////////////////////////////////////////////////////\n\n checkIfYearsWithDataAreLoaded ({ commit }) {\n return new Promise((resolve, reject) => {\n StatsApi.getStatsResaYearsWithData().then(res => {\n commit('set_annees_choisissables', [])\n if (res.data.Res && res.data.Res.length > 0) {\n res.data.Res.forEach(function (element) {\n commit('add_annees_choisissables', element)\n })\n } else {\n console.warn('Attention : aucune année choisissables pour les statistiques ! Initialisation avec l\\'année courante.')\n commit('add_annees_choisissables', moment().year().toString())\n }\n resolve(res)\n }).catch(err => {\n console.error('PB in Vue.js fct checkIfYearsWithDataAreLoaded() => StatsApi.getStatsResaYearsWithData()')\n reject(err)\n })\n })\n },\n\n checkIfYearsWithDataAreLoadedNP ({ commit }) {\n StatsApi.getStatsResaYearsWithData().then(res => {\n commit('set_annees_choisissables', [])\n if (res.data.Res && res.data.Res.length > 0) {\n res.data.Res.forEach(function (element) {\n commit('add_annees_choisissables', element)\n })\n } else {\n console.warn('Attention : aucune année choisissables pour les statistiques ! Initialisation avec l\\'année courante.')\n commit('add_annees_choisissables', moment().year().toString())\n }\n }, () => {\n console.error('PB in Vue.js fct checkIfYearsWithDataAreLoaded() => StatsApi.getStatsResaYearsWithData()')\n })\n },\n\n checkIfFirstYearWithDataIsLoaded ({ commit }) {\n if (this.state.stats.resa.frequentations.filter.mode_annee_du_annee === null ||\n this.state.stats.resa.frequentations.filter.mode_mois_du_annee === null ||\n this.state.stats.resa.frequentations.filter.mode_semaine_du_annee === null) {\n StatsApi.getStatsResaFirstYearWithData().then(res => {\n commit('set_mode_annee_du_annee', res.data)\n commit('set_mode_mois_du_annee', res.data)\n commit('set_mode_semaine_du_annee', res.data)\n }, () => {\n console.error('PB in Vue.js fct checkIfFirstYearWithDataIsLoaded() => StatsApi.getStatsResaFirstYearWithData()')\n })\n }\n },\n\n checkIfLastYearWithDataIsLoaded ({ commit }) {\n if (this.state.stats.resa.frequentations.filter.mode_annee_au_annee === null ||\n this.state.stats.resa.frequentations.filter.mode_mois_au_annee === null ||\n this.state.stats.resa.frequentations.filter.mode_semain_au_annee === null ||\n this.state.stats.resa.frequentations.filter.mode_saison_annee === null) {\n StatsApi.getStatsResaLastYearWithData().then(res => {\n commit('set_mode_annee_au_annee', res.data)\n commit('set_mode_mois_au_annee', res.data)\n commit('set_mode_semaine_au_annee', res.data)\n commit('set_mode_saison_annee', res.data)\n }, () => {\n console.error('PB in Vue.js fct checkIfLastYearWithDataIsLoaded() => StatsApi.getStatsResaLastYearWithData()')\n })\n }\n },\n\n /// //////////// Animateurs Picker : //////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsLoadTrainers ({ commit }) {\n return new Promise((resolve, reject) => {\n AccountsApi.getTrainers().then(res => {\n commit('set_animateurs', [])\n res.data.forEach(function (element) {\n commit('add_animateurs', element)\n })\n const tmp = this.state.stats.resa.filter.animateurs.sort(function (x, y) {\n const a = x.Firstname + ' ' + x.Lastname\n const b = y.Firstname + ' ' + y.Lastname\n if (a > b) {\n return 1\n }\n if (b > a) {\n return -1\n }\n return 0\n })\n commit('set_animateurs', tmp)\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n /// //////////// Activités Picker : //////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsLoadActivities ({ commit }) {\n return new Promise((resolve, reject) => {\n ActivitiesApi.getActivities().then(res => {\n commit('set_activites', [])\n res.data.forEach(function (element) {\n if (element.Label.trim()) {\n commit('add_activites', element)\n }\n })\n const tmp = this.state.stats.resa.filter.activites.sort(function (x, y) {\n const a = x.Label\n const b = y.Label\n if (a > b) {\n return 1\n }\n if (b > a) {\n return -1\n }\n return 0\n })\n commit('set_activites', tmp)\n if (this.state.stats.resa.filter.activites && this.state.stats.resa.filter.activites.length) {\n if (!this.state.stats.resa.filter.selectedActivity || this.state.stats.resa.filter.selectedActivity === '') {\n commit('set_selectedActivity', this.state.stats.resa.filter.activites[0])\n }\n\n if (!this.state.stats.resa.filter.selectedActivities || !this.state.stats.resa.filter.selectedActivities.length) {\n commit('set_selectedActivities', [this.state.stats.resa.filter.activites[0]])\n }\n }\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getStatsLoadFamilies ({ commit }) {\n return new Promise((resolve, reject) => {\n ActivitiesApi.getActivitiesFamilies().then(res => {\n commit('set_familles', [])\n res.data.forEach(function (element) {\n if (element.Label.trim()) {\n commit('add_familles', element)\n }\n })\n const tmp = this.state.stats.resa.filter.familles.sort(function (x, y) {\n const a = x.Label\n const b = y.Label\n if (a > b) {\n return 1\n }\n if (b > a) {\n return -1\n }\n return 0\n })\n commit('set_familles', tmp)\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n /// //////////// Articles Picker : //////////////////////////////////////////////////////////////////////////////////////////\n\n getStatsLoadProducts ({ commit }) {\n return new Promise((resolve, reject) => {\n ProductsApi.getProducts().then(res => {\n commit('set_articles', [])\n res.data.Products.forEach(function (element) {\n if (element.Label.FR.trim()) {\n commit('add_articles', element)\n }\n })\n const tmp = this.state.stats.resa.filter.articles.sort(function (x, y) {\n const a = x.Label.FR\n const b = y.Label.FR\n if (a > b) {\n return 1\n }\n if (b > a) {\n return -1\n }\n return 0\n })\n commit('set_articles', tmp)\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n }\n },\n mutations: {\n /// //////////// Time Scale Selector :\n\n set_selectedTimeScale (state, val) {\n state.filter.selectedTimeScale = val\n },\n\n set_selectedStepMode (state, val) {\n state.filter.selectedStepMode = val\n },\n\n set_timeScaleBegin (state, val) {\n state.filter.timeScaleBegin = val\n },\n\n set_timeScaleEnd (state, val) {\n state.filter.timeScaleEnd = val\n },\n\n /// //////////// Season Selector :\n\n set_selectedSeason (state, val) {\n state.filter.selectedSeason = val\n },\n\n /// //////////// Activity Selector :\n\n set_selectedActivity (state, val) {\n state.filter.selectedActivity = val\n },\n\n set_selectedActivities (state, val) {\n state.filter.selectedActivities = val\n },\n\n /// //////////// Clients Selector :\n\n set_selectedClients (state, val) {\n state.filter.selectedClients = val\n },\n\n add_selectedClients (state, val) {\n state.filter.selectedClients.push(val)\n },\n\n /// //////////// Recursive Products Families :\n\n set_recursiveProductsFamilies (state, val) {\n state.filter.recursiveProductsFamilies = val\n },\n\n /// //////////// Products Families Selector :\n\n set_selectedProductsFamilies (state, val) {\n state.filter.selectedProductsFamilies = val\n },\n\n add_selectedProductsFamilies (state, val) {\n state.filter.selectedProductsFamilies.push(val)\n },\n\n /// //////////// Products Selector :\n\n set_selectedProducts (state, val) {\n state.filter.selectedProducts = val\n },\n\n add_selectedProducts (state, val) {\n state.filter.selectedProducts.push(val)\n },\n\n /// //////////// Sellers Selector :\n\n set_selectedSellers (state, val) {\n state.filter.selectedSellers = val\n },\n\n /// //////////// Spa Univers Selector :\n\n set_selectedUniverses (state, val) {\n state.filter.selectedUniverses = val\n },\n\n /// //////////// Spa Personnels Selector :\n\n set_selectedPersonnels (state, val) {\n state.filter.selectedPersonnels = val\n },\n\n /// //////////// Turnstiles Picker :\n\n set_selectedTurnstiles (state, val) {\n state.filter.selectedTurnstiles = val\n },\n add_selectedTurnstiles (state, val) {\n state.filter.selectedTurnstiles.push(val)\n },\n\n /// //////////////////////////////////////////////////////////////////////////\n\n /// //////////// Years Picker :\n\n set_annees_choisissables (state, val) {\n state.filter.annees_choisissables = val\n },\n add_annees_choisissables (state, val) {\n state.filter.annees_choisissables.push(val)\n },\n\n /// //////////// Animateurs Picker :\n\n set_animateurs (state, val) {\n state.filter.animateurs = val\n },\n add_animateurs (state, val) {\n state.filter.animateurs.push(val)\n },\n\n /// //////////// Horaires Picker :\n\n set_horaires (state, val) {\n state.filter.horaires = val\n },\n add_horaires (state, val) {\n state.filter.horaires.push(val)\n },\n\n /// //////////// Activités Picker :\n\n set_activites (state, val) {\n state.filter.activites = val\n },\n add_activites (state, val) {\n state.filter.activites.push(val)\n },\n\n /// //////////// Familles d'activités Picker :\n\n set_familles (state, val) {\n state.filter.familles = val\n },\n add_familles (state, val) {\n state.filter.familles.push(val)\n },\n\n /// //////////// Articles Picker :\n\n set_articles (state, val) {\n state.filter.articles = val\n },\n add_articles (state, val) {\n state.filter.articles.push(val)\n }\n }\n}\n","// store modules\nimport resa from './stats/resa/resa.js'\n\nconst initialState = () => ({\n setup: {\n navigationDrawer: {\n visible: false,\n miniState: false,\n prefenreceMiniState: false\n }\n }\n})\n\nexport default {\n modules: {\n resa\n },\n state: initialState,\n actions: {\n /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n reset_stats (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => { state[key] = initial[key] })\n }\n }\n}\n","const initialState = () => ({\n locationsZoneTree: [],\n selectedZoneTreeLocation: []\n})\n\nexport default {\n state: initialState,\n\n getters: {\n locationsZoneTree: state => state.locationsZoneTree,\n selectedZoneTreeLocation: state => state.selectedZoneTreeLocation\n },\n\n mutations: {\n set_locations_zone_tree (state, tree) {\n state.locationsZoneTree = tree\n },\n set_selected_zone_tree_location (state, location) {\n state.selectedZoneTreeLocation = location\n }\n }\n}\n","import SpaApi from '~/api/spa'\nimport _ from 'lodash'\nimport moment from 'moment'\nimport Vue from 'vue'\n\nconst initialState = () => ({\n /* remote */\n universes: [],\n universe: { ID: 'default' },\n activities: [],\n spaProducts: [],\n personnels: [],\n resources: [],\n /* local */\n spaParams: {\n spaPlanningsStartHour: 7,\n spaPlanningsStartMin: 0,\n spaPlanningsEndHour: 20,\n spaPlanningsEndMin: 0,\n spaHumanConfirmation: false,\n spaShowShortLabel: false,\n spaColumnsShortLabel: false,\n spaGoBackToday: false,\n firstInterval: 7,\n intervalCount: 14,\n allowedHours: [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],\n dayDuration: 14,\n unavailabilitiesReasons: [],\n unavailabilitiesColors: []\n },\n planningDate: { default: moment().format('YYYY-MM-DD') },\n planningPersonnels: { default: [] },\n planningResources: { default: [] },\n showPersonnels: { default: true },\n showResources: { default: true },\n intervalMinutes: { default: 10 },\n intervalHeight: { default: 25 }\n})\n\nexport default {\n state: initialState,\n getters: {\n universes: state => state.universes,\n universe: state => state.universe,\n activities: state => state.activities[state.universe.ID] ?? [],\n activitiesById: state => _.keyBy(state.activities[state.universe.ID] ?? [], 'ID'),\n spaProducts: state => state.spaProducts[state.universe.ID] ?? [],\n spaProductsById: state => _.keyBy(state.spaProducts[state.universe.ID] ?? [], 'Product.ID'),\n personnels: state => state.personnels[state.universe.ID] ?? [],\n personnelsById: state => _.keyBy(state.personnels[state.universe.ID] ?? [], 'ID'),\n resources: state => state.resources[state.universe.ID] ?? [],\n spaParams: state => state.spaParams,\n resourcesById: state => _.keyBy(state.resources[state.universe.ID] ?? [], 'ID'),\n planningDate: state => state.planningDate[state.universe.ID] ?? moment().format('YYYY-MM-DD'),\n planningPersonnels: state => state.planningPersonnels[state.universe.ID] ?? [],\n planningResources: state => state.planningResources[state.universe.ID] ?? [],\n showPersonnels: state => state.showPersonnels[state.universe.ID] ?? true,\n showResources: state => state.showResources[state.universe.ID] ?? true,\n intervalMinutes: state => state.intervalMinutes[state.universe.ID] ?? 10,\n intervalHeight: state => state.intervalHeight[state.universe.ID] ?? 25\n },\n actions: {\n getUniverses ({ commit, state }) {\n return new Promise((resolve, reject) => {\n SpaApi.getSpaUniverses().then(res => {\n const universes = res.data ?? []\n commit('set_universes', universes)\n if (state.universe === {} || universes.findIndex(u => u.ID === state.universe.ID) === -1) {\n commit('set_universe', universes.find(u => u.State) ?? {})\n } else {\n const uIdx = universes.findIndex(u => u.ID === state.universe.ID)\n commit('set_universe', universes[uIdx])\n }\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getActivities ({ commit }) {\n return new Promise((resolve, reject) => {\n SpaApi.getSpaActivities().then(res => {\n commit('set_activities', _.groupBy(res.data ?? [], 'UniverseID'))\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getSpaProducts ({ commit }) {\n return new Promise((resolve, reject) => {\n SpaApi.getSpaProducts({ State: true }).then(res => {\n commit('set_spa_products', _.groupBy(res.data ?? [], 'Link.UniverseID'))\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getPersonnels ({ commit, state }) {\n return new Promise((resolve, reject) => {\n SpaApi.getSpaPersonnels({ State: true }).then(res => {\n commit('set_personnels', _.groupBy(res.data ?? [], 'UniverseID'))\n\n // Ensure that there is no disabled personnel still in planning\n if (res.data && state.planningPersonnels[state.universe.ID]) {\n commit('set_planning_personnels', state.planningPersonnels[state.universe.ID].filter(id => res.data.some(r => r.ID === id)))\n }\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n getResources ({ commit }) {\n return new Promise((resolve, reject) => {\n SpaApi.getSpaResources({ State: true }).then(res => {\n commit('set_resources', _.groupBy(res.data ?? [], 'UniverseID'))\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n }\n },\n mutations: {\n reset_spa (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => { state[key] = initial[key] })\n },\n set_universes (state, val) {\n state.universes = val\n },\n set_universe (state, val) {\n state.universe = val\n\n const startTime = moment(state.universe.Params.plannings_start_time, 'hh:mm')\n const endTime = moment(state.universe.Params.plannings_end_time, 'hh:mm')\n const intervalCount = endTime.hour() - startTime.hour() + (endTime.minute() !== 0 ? 1 : 0)\n\n state.spaParams = {\n spaPlanningsStartHour: startTime.hour(),\n spaPlanningsStartMin: startTime.minute(),\n spaPlanningsEndHour: endTime.hour(),\n spaPlanningsEndMin: endTime.minute(),\n spaHumanConfirmation: state.universe.Params.human_confirmation,\n spaShowShortLabel: state.universe.Params.show_short_label,\n spaColumnsShortLabel: state.universe.Params.columns_short_label,\n spaGoBackToday: state.universe.Params.go_back_today,\n spaSmallCalendarIntervalWidth: state.universe.Params.small_calendar_interval_width,\n spaWebAllowedTimetables: state.universe.Params.web_allowed_timetables,\n unavailabilitiesReasons: state.universe.Params.unavailabilities_reasons,\n unavailabilitiesColors: state.universe.Params.unavailabilities_colors,\n firstInterval: startTime.hour(),\n intervalCount,\n allowedHours: Array.from(Array(intervalCount), (x, index) => startTime.hour() + index),\n dayDuration: endTime.diff(startTime, 'minutes')\n }\n },\n set_activities (state, val) {\n state.activities = val\n },\n set_spa_products (state, val) {\n state.spaProducts = val\n },\n set_personnels (state, val) {\n state.personnels = val\n },\n set_resources (state, val) {\n state.resources = val\n },\n set_planning_date (state, val) {\n Vue.set(state.planningDate, state.universe.ID, val)\n },\n set_planning_personnels (state, val) {\n Vue.set(state.planningPersonnels, state.universe.ID, val)\n },\n set_planning_resources (state, val) {\n Vue.set(state.planningResources, state.universe.ID, val)\n },\n set_show_personnels (state, val) {\n Vue.set(state.showPersonnels, state.universe.ID, val)\n },\n set_show_resources (state, val) {\n Vue.set(state.showResources, state.universe.ID, val)\n },\n set_interval_minutes (state, val) {\n Vue.set(state.intervalMinutes, state.universe.ID, val)\n },\n set_interval_height (state, val) {\n Vue.set(state.intervalHeight, state.universe.ID, val)\n }\n }\n}\n","import ActivitiesApi from '~/api/activities'\nimport AccountsApi from '~/api/accounts'\nimport _ from 'lodash'\nimport Vue from 'vue'\n\nconst initialState = () => ({\n /* remote */\n planningActivities: [],\n planningActivityFamilies: [],\n trainers: [],\n levels: []\n /* local */\n})\n\nexport default {\n state: initialState,\n getters: {\n planningActivities: state => state.planningActivities,\n planningActivityFamilies: state => state.planningActivityFamilies,\n trainers: state => state.trainers,\n levels: state => state.levels\n },\n actions: {\n getPlanningActivities ({ commit }) {\n return new Promise((resolve, reject) => {\n ActivitiesApi.getActivities({ State: true }).then(res => {\n commit('set_activities', _.keyBy(res.data ?? [], 'ID'))\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n getPlanningActivityFamilies ({ commit }) {\n return new Promise((resolve, reject) => {\n ActivitiesApi.getActivitiesFamilies().then(res => {\n commit('set_activity_families', _.keyBy(res.data ?? [], 'ID'))\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n getTrainers ({ commit }) {\n return new Promise((resolve, reject) => {\n AccountsApi.getTrainers().then(res => {\n if (res.data) {\n res.data.forEach(train => {\n Vue.set(train, 'Fullname', `${train.Firstname} ${train.Lastname}`)\n })\n commit('set_trainers', _.keyBy(res.data ?? [], 'ID'))\n } else {\n commit('set_trainers', {})\n }\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n },\n getLevels ({ commit }) {\n return new Promise((resolve, reject) => {\n ActivitiesApi.getLevels().then(res => {\n if (res.data) {\n commit('set_levels', _.keyBy(res.data ?? [], 'ID'))\n } else {\n commit('set_levels', {})\n }\n resolve(res)\n }).catch(err => {\n reject(err)\n })\n })\n }\n },\n mutations: {\n set_activities (state, val) {\n state.planningActivities = val\n },\n set_activity_families (state, val) {\n state.planningActivityFamilies = val\n },\n set_trainers (state, val) {\n state.trainers = val\n },\n set_levels (state, val) {\n state.levels = val\n }\n }\n}\n","const initialState = () => ({\n subscribers: {\n 'r://turnstile-info': 0,\n 'r://turnstile-history': 0,\n 'r://access-control-vouchers': 0,\n 'r://clients': 0,\n 'r://spa-bookings': 0,\n 'r://area-attendance': 0,\n 'r://establishments': 0,\n 'r://areas': 0,\n 'r://lockers': 0,\n 'r://locker-action/state': 0,\n 'r://locker-action/config': 0,\n 'r://locker-action/history': 0,\n 'r://locker-blocks': 0,\n 'r://locker-gateways': 0,\n 'r://locker-bookings': 0,\n 'r://locker-bookings-new': 0,\n 'r://locker-incidents-new': 0,\n 'r://locker-incidents-update': 0,\n 'r://vouchersheets': 0,\n 'r://vouchersheet-progress': 0,\n 'r://products': 0\n }\n})\n\nexport default {\n state: initialState,\n getters: {\n getSubscribersFor: state => r => {\n return state.subscribers[r]\n }\n },\n actions: {\n resetSubscribers ({ commit }) {\n commit('reset_subscribers')\n },\n subscribeTo ({ commit }, r) {\n commit('subscribe', r)\n },\n unsubscribeFrom ({ commit }, r) {\n commit('unsubscribe', r)\n }\n },\n mutations: {\n reset_ws (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => {\n state[key] = initial[key]\n })\n },\n reset_subscribers (state) {\n state.subscribers = {\n 'r://turnstile-info': 0,\n 'r://turnstile-history': 0,\n 'r://access-control-vouchers': 0,\n 'r://clients': 0,\n 'r://spa-bookings': 0,\n 'r://area-attendance': 0,\n 'r://establishments': 0,\n 'r://areas': 0,\n 'r://lockers': 0,\n 'r://locker-action/state': 0,\n 'r://locker-action/config': 0,\n 'r://locker-action/history': 0,\n 'r://locker-blocks': 0,\n 'r://locker-gateways': 0,\n 'r://locker-bookings': 0,\n 'r://locker-bookings-new': 0,\n 'r://locker-incidents-new': 0,\n 'r://locker-incidents-update': 0,\n 'r://vouchersheets': 0,\n 'r://vouchersheet-progress': 0,\n 'r://kiosks': 0,\n 'r://products': 0\n }\n },\n subscribe (state, r) {\n state.subscribers[r]++\n },\n unsubscribe (state, r) {\n if (state.subscribers[r] > 0) {\n state.subscribers[r]--\n }\n }\n }\n}\n","import TemplatesApi from '@/api/templates'\n\nfunction getDefault () {\n return {\n dynamicValues: [],\n iterableContext: false,\n template: {\n ID: null,\n Label: '',\n Type: 'ticket',\n Area: {\n Width: 9.0,\n Height: 5.0,\n PageBreakHeight: 0,\n HeaderHeight: 0,\n FooterHeight: 0,\n Background: {\n StoredFileName: '',\n OriginalFileName: '',\n DateCreated: null\n },\n BackgroundCover: 'cover'\n },\n Holders: [],\n Editable: true\n },\n focusedHolder: null,\n focusedBlock: null,\n zoom: 100\n\n }\n}\n\nconst state = getDefault()\n\nconst mutations = {\n clear (state) {\n Object.assign(state, getDefault())\n },\n resetTemplate (state) {\n state.template = getDefault().template\n },\n setDynamicValues (state, dynamicValues) {\n state.dynamicValues = dynamicValues\n },\n setTemplate (state, template) {\n state.template = template\n },\n updateTemplateArea (state, area) {\n state.template.Area = Object.assign({}, state.template.Area, area)\n },\n addHolder (state, holder) {\n state.template.Holders.push(holder)\n },\n updateHolder (state, update) {\n const holder = state.template.Holders.find(h => h.ID === update.ID)\n Object.assign(holder, update)\n },\n unfocus (state) {\n state.focusedHolder = null\n state.focusedBlock = null\n },\n setIterableContext (state, iterableContext) {\n state.iterableContext = iterableContext\n },\n focusBlock (state, block) {\n // reset iterale context\n state.iterableContext = false\n\n state.focusedBlock = block\n },\n focusHolder (state, holderID) {\n state.focusedHolder = state.template.Holders.find(h => h.ID === holderID)\n },\n deleteFocusedHolder (state) {\n const focusedHolderIndex = state.template.Holders.findIndex(h => h === state.focusedHolder)\n state.template.Holders.splice(focusedHolderIndex, 1)\n state.focusedHolder = null\n state.focusedBlock = null\n },\n zoomIn (state) {\n if (state.zoom + 25 <= 200) state.zoom += 25\n },\n zoomOut (state) {\n if (state.zoom - 25 >= 25) state.zoom -= 25\n }\n}\n\nconst actions = {\n loadDynamicValues ({ commit }) {\n return new Promise((resolve, reject) => {\n TemplatesApi.getDynamicValues()\n .then((res) => {\n commit('setDynamicValues', res.data)\n resolve()\n })\n .catch((err) =>\n reject(err)\n )\n })\n },\n loadTemplate ({ commit, state }, id) {\n return new Promise((resolve, reject) => {\n if (state.template.ID !== id) {\n TemplatesApi.getTemplate(id)\n .then((res) => {\n // save\n commit('setTemplate', res.data)\n resolve(res.data)\n })\n .catch((err) =>\n reject(err)\n )\n } else {\n resolve(state.template)\n }\n })\n },\n\n upsertTemplate ({ commit, state }) {\n return new Promise((resolve, reject) => {\n if (state.template.ID) {\n TemplatesApi.updateTemplate(state.template.ID, state.template)\n .then((res) => {\n resolve(res)\n })\n .catch((err) =>\n reject(err)\n )\n } else {\n // Create and redirect URL\n TemplatesApi.createTemplate(state.template)\n .then((res) => {\n commit('setTemplate', res.data)\n resolve()\n })\n .catch((err) =>\n reject(err)\n )\n }\n })\n },\n\n getPreview ({ state }) {\n return new Promise((resolve, reject) => {\n TemplatesApi.getTemplatePreview(state.template.ID)\n .then((res) => {\n const url = window.URL.createObjectURL(\n new Blob([res.data])\n )\n const link = document.createElement('a')\n link.href = url\n link.setAttribute('download', 'preview.pdf') // or any other extension\n document.body.appendChild(link)\n link.click()\n resolve()\n })\n .catch((err) =>\n reject(err)\n )\n })\n }\n}\n\nconst getters = {\n dynamicValues (state) {\n const templateDynamicValues = []\n state.dynamicValues.forEach(v => {\n const entry = Object.assign({}, v)\n const inIterable = v.IterableAvailability && Object.keys(v.IterableAvailability).includes(state.template.Type)\n if (inIterable) {\n entry.IterableAvailability = v.IterableAvailability[state.template.Type]\n } else {\n delete entry.IterableAvailability\n }\n const inSingle = v.SingleAvailability && v.SingleAvailability.includes(state.template.Type)\n\n if (inIterable || inSingle) templateDynamicValues.push(entry)\n })\n\n return templateDynamicValues\n },\n\n contextDynamicValues (state, getters) {\n return getters.dynamicValues.filter(v => {\n let available = false\n\n if (state.iterableContext) {\n available = v.IterableAvailability && v.IterableAvailability.includes(state.focusedHolder.MainBlock.Type)\n } else {\n available = v.SingleAvailability && v.SingleAvailability.includes(state.template.Type)\n }\n\n if (state.focusedBlock) {\n available = available && state.focusedBlock.Type === v.BlockType\n }\n\n return available\n }) ?? []\n },\n\n existIterableDynamicValues (state) {\n return state.dynamicValues.some(v => v.IterableAvailability && Object.keys(v.IterableAvailability).includes(state.template.Type))\n },\n\n getHolderByID: (state) => (id) => {\n return state.template.Holders.find(h => h.ID === id)\n }\n\n}\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n getters\n}\n","import Vue from 'vue'\nimport LockersApi from '@/api/lockers.js'\n\nconst initialState = () => ({\n gateways: [],\n lockerTypes: [],\n newIncidentsCounter: 0,\n locationsTree: [],\n selectedTreeLocation: [],\n establishmentsWithLockersStats: [],\n areasWithLockersStats: [],\n blocksWithLockersStats: []\n})\n\nexport default {\n state: initialState,\n\n getters: {\n gateways: state => state.gateways,\n lockerTypes: state => state.lockerTypes,\n newIncidentsCounter: state => state.newIncidentsCounter,\n establishmentsWithLockersStats: state => state.establishmentsWithLockersStats,\n areasWithLockersStats: state => state.areasWithLockersStats,\n blocksWithLockersStats: state => state.blocksWithLockersStats,\n locationsTree: state => state.locationsTree,\n selectedTreeLocation: state => state.selectedTreeLocation\n },\n\n mutations: {\n reset_lockers (state) {\n const initial = initialState()\n Object.keys(initial).forEach(key => { state[key] = initial[key] })\n },\n\n set_gateways (state, gateways) {\n state.gateways = gateways\n },\n update_gateways (state, gateway) {\n const updatedGatewayIndex = state.gateways.findIndex(\n gtw => gtw.ID === gateway.ID\n )\n if (updatedGatewayIndex === -1) {\n state.gateways.push(gateway)\n } else {\n Vue.set(state.gateways, updatedGatewayIndex, gateway)\n }\n },\n\n set_lockerTypes (state, types) {\n state.lockerTypes = types\n },\n\n reset_locker_incidents (state) {\n state.newIncidentsCounter = 0\n },\n\n new_locker_incident (state) {\n state.newIncidentsCounter++\n },\n\n set_establishments_with_lockers_stats (state, establishments) {\n state.establishmentsWithLockersStats = establishments\n },\n\n update_establishment_with_lockers_stats (state, establishment) {\n const updatedEstablishmentIndex = state.establishmentsWithLockersStats.findIndex(\n e => e.ID === establishment.ID\n )\n if (updatedEstablishmentIndex === -1) {\n state.establishmentsWithLockersStats.push(establishment)\n } else {\n Vue.set(state.establishmentsWithLockersStats, updatedEstablishmentIndex, establishment)\n }\n },\n\n set_areas_with_lockers_stats (state, areas) {\n state.areasWithLockersStats = areas\n },\n\n update_area_with_lockers_stats (state, area) {\n const updatedAreakIndex = state.areasWithLockersStats.findIndex(\n a => a.ID === area.ID\n )\n if (updatedAreakIndex === -1) {\n state.areasWithLockersStats.push(area)\n } else {\n Vue.set(state.areasWithLockersStats, updatedAreakIndex, area)\n }\n },\n\n set_blocks_with_lockers_stats (state, blocks) {\n state.blocksWithLockersStats = blocks\n },\n\n update_block_with_lockers_stats (state, block) {\n const updatedBlockIndex = state.blocksWithLockersStats.findIndex(\n b => b.ID === block.ID\n )\n if (updatedBlockIndex === -1) {\n state.blocksWithLockersStats.push(block)\n } else {\n Vue.set(state.blocksWithLockersStats, updatedBlockIndex, block)\n }\n },\n\n set_locations_tree (state, tree) {\n state.locationsTree = tree\n },\n\n set_selected_tree_location (state, location) {\n state.selectedTreeLocation = location\n }\n },\n\n actions: {\n getGateways ({ commit }) {\n return new Promise((resolve, reject) => {\n LockersApi.getLockerGateways()\n .then(res => {\n commit('set_gateways', res.data)\n resolve(res)\n })\n .catch(err => {\n reject(err)\n })\n })\n },\n\n onGatewayUpdate ({ commit }, gateway) {\n commit('update_gateways', gateway)\n },\n\n getLockers ({ commit }, filters) {\n return new Promise((resolve, reject) => {\n LockersApi.getLockers({ ...filters })\n .then(res => {\n commit('set_lockers', res.data)\n resolve(res)\n })\n .catch(err => {\n reject(err)\n })\n })\n },\n\n onLockerUpdate ({ commit }, locker) {\n commit('update_lockers', locker)\n },\n\n getLockerTypes ({ commit }) {\n return new Promise((resolve, reject) => {\n LockersApi.getLockersTypes()\n .then(res => {\n commit('set_lockerTypes', res.data)\n resolve(res)\n })\n .catch(err => {\n reject(err)\n })\n })\n },\n\n onNewLockerIncident ({ commit }) {\n commit('new_locker_incident')\n },\n\n onLockerIncidentsViewed ({ commit }) {\n commit('reset_locker_incidents')\n },\n\n loadLocationsStats ({ commit }) {\n return new Promise((resolve, reject) => {\n LockersApi.getEstablishmentsWithLockersStats()\n .then(res => {\n commit('set_establishments_with_lockers_stats', res.data)\n LockersApi.getAreasWithLockersStats()\n .then(res => {\n commit('set_areas_with_lockers_stats', res.data)\n LockersApi.getBlocksWithLockersStats()\n .then(res => {\n commit('set_blocks_with_lockers_stats', res.data)\n resolve('ok')\n }).catch(err => {\n reject(err)\n })\n }).catch(err => {\n reject(err)\n })\n }).catch(err => {\n reject(err)\n })\n })\n },\n\n updateLocationsStats ({ commit }, { establishmentID, areaID, blockID }) {\n return new Promise((resolve, reject) => {\n const concurrentLoad = [\n LockersApi.getEstablishmentWithLockersStats(establishmentID)\n .then(res => {\n commit('update_establishment_with_lockers_stats', res.data)\n }).catch(err => {\n reject(err)\n }),\n LockersApi.getAreaWithLockersStats(areaID)\n .then(res => {\n commit('update_area_with_lockers_stats', res.data)\n }).catch(err => {\n reject(err)\n }),\n LockersApi.getBlockWithLockersStats(blockID)\n .then(res => {\n commit('update_block_with_lockers_stats', res.data)\n }).catch(err => {\n reject(err)\n })\n ]\n\n Promise.all(concurrentLoad).then(() => {\n resolve('ok')\n })\n })\n }\n }\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport moment from 'moment'\nimport createPersistedState from 'vuex-persistedstate'\n\nimport main from './main'\nimport params from './params'\nimport stats from './stats.js'\nimport turnstiles from './turnstiles.js'\nimport spa from './spa'\nimport planning from './planning'\nimport ws from './ws'\nimport template from './template'\nimport lockers from './lockers'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n plugins: [createPersistedState({\n reducer: (state) => {\n const reduced = JSON.parse(JSON.stringify(state))\n reduced.main.auth.status = 'idle'\n delete reduced.main.products\n reduced.main.accessTimeslots = []\n\n return (reduced)\n },\n rehydrated (store) {\n // TODO: Make this dynamic per module\n if (typeof store.state.stats.resa.filter.timeScaleBegin === 'string') {\n store.state.stats.resa.filter.timeScaleBegin = moment(store.state.stats.resa.filter.timeScaleBegin)\n }\n if (typeof store.state.stats.resa.filter.timeScaleEnd === 'string') {\n store.state.stats.resa.filter.timeScaleEnd = moment(store.state.stats.resa.filter.timeScaleEnd)\n }\n }\n })],\n modules: {\n main,\n params,\n stats,\n spa,\n planning,\n ws,\n template,\n turnstiles,\n lockers\n },\n state: {},\n getters: {},\n mutations: {},\n actions: {\n resetAll ({ commit }) {\n commit('reset_main')\n commit('reset_params')\n commit('reset_stats')\n commit('reset_stats_spa')\n commit('reset_stats_resa')\n commit('reset_stats_resa_frequentations')\n commit('reset_stats_resa_bilans_periodiques')\n commit('reset_stats_resa_plannings')\n commit('reset_spa')\n commit('reset_ws')\n commit('reset_turnstiles')\n commit('reset_lockers')\n }\n }\n})\n","const out = {\n TimeScales: {\n DAY: 1,\n WEEK: 2,\n MONTH: 3,\n // YEAR: 4, // hide for BrickTimeScale.vue\n SEASON: 5,\n CUSTOM: 6\n },\n TimeScalesLabels: {\n 1: 'Jour',\n 2: 'Semaine',\n 3: 'Mois',\n // 4: 'Année', // hide for BrickTimeScale.vue\n 5: 'Saison',\n 6: 'Personnalisé'\n },\n TimeScalesValues: {\n DAY: 'day',\n WEEK: 'week',\n MONTH: 'month',\n YEAR: 'year',\n SEASON: 'season',\n CUSTOM: 'custom'\n },\n\n StepModes: {\n BY_YEAR: 0,\n BY_MONTH: 1,\n BY_WEEK: 2,\n BY_DAY: 3,\n BY_SEASON: 4,\n BY_HOUR: 5\n },\n StepModesLabels: {\n 0: 'par année',\n 1: 'par mois',\n 2: 'par semaine',\n 3: 'par jour',\n 4: 'par saison',\n 5: 'par heure'\n },\n StepModesValues: {\n BY_YEAR: 'byYear',\n BY_MONTH: 'byMonth',\n BY_WEEK: 'byWeek',\n BY_DAY: 'byDay',\n BY_SEASON: 'bySeason',\n BY_HOUR: 'byHour'\n },\n\n // TODO: Replace it\n DateModeChosen: {\n BY_YEAR: 0,\n BY_MONTH: 1,\n BY_WEEK: 2,\n BY_DAY: 3,\n BY_SEASON: 4,\n BY_HOUR: 5\n },\n // TODO: Replace it\n DateModeStep: {\n BY_YEAR: 'byYear',\n BY_MONTH: 'byMonth',\n BY_WEEK: 'byWeek',\n BY_DAY: 'byDay',\n BY_SEASON: 'bySeason',\n BY_HOUR: 'byHour'\n },\n PassingsOptions: {\n TYPES: 1,\n FAMILIES: 2,\n PRODUCTS: 3\n },\n TrainersOptions: {\n COUNT_BOOKINGS_SLOTS: 1,\n COUNT_BOOKINGS: 2,\n COUNT_BOOKINGS_SLOTS_WITHOUT_ACCOUNT: 3,\n COUNT_PARTICIPATIONS: 4,\n RATE_BOOKINGS_PER_PLACES_ON_SALES: 5,\n RATE_PARTICIPATIONS_PER_PLACES_ON_SALES: 6,\n RATE_PARTICIPATIONS_PER_BOOKINGS: 7,\n COUNT_WORKING_HOUR: 8,\n COUNT_WORKING_MINUTE: 9\n }\n}\n\nout.TimeScalesKP = []\nfor (const i in out.TimeScalesLabels) {\n const val = out.TimeScalesLabels[i]\n out.TimeScalesKP.push({ value: parseInt(i), text: val })\n}\n\nout.StepModesKP = []\nfor (const i in out.StepModesLabels) {\n const val = out.StepModesLabels[i]\n out.StepModesKP.push({ value: parseInt(i), text: val })\n}\n\nexport default out\n","var map = {\n\t\"./af\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 82682,\n\t\"./ar-sa.js\": 82682,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 31545,\n\t\"./bo.js\": 31545,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 44429,\n\t\"./bs.js\": 44429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 52477,\n\t\"./fo.js\": 52477,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 93383,\n\t\"./gom-latn.js\": 93383,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 78474,\n\t\"./ky.js\": 78474,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 73739,\n\t\"./ml.js\": 73739,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 24457,\n\t\"./ro.js\": 24457,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 86794,\n\t\"./sq.js\": 86794,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"5\":\"a917783b\",\"10\":\"9e12231b\",\"20\":\"c2c0b4bc\",\"179\":\"a3b79497\",\"205\":\"95ca5aa2\",\"230\":\"f86ce94c\",\"231\":\"3e4f4830\",\"238\":\"44485b1c\",\"254\":\"fb3aed62\",\"274\":\"ed9fb163\",\"286\":\"61cc3f3d\",\"352\":\"2e997808\",\"490\":\"b71303c4\",\"537\":\"736d2c42\",\"554\":\"54fb2da1\",\"563\":\"f8087f25\",\"756\":\"0555e111\",\"816\":\"c74cc1a5\",\"938\":\"aa5240ca\",\"985\":\"8a0f8aea\",\"1077\":\"34e30ab4\",\"1158\":\"34d607a6\",\"1209\":\"310a3bb3\",\"1303\":\"09591234\",\"1429\":\"ba3235f3\",\"1487\":\"9a18e467\",\"1548\":\"bd2c9565\",\"1558\":\"7e296442\",\"1593\":\"45fe7d69\",\"1647\":\"9a9d1727\",\"1651\":\"19fe48f2\",\"1652\":\"5bb5ae03\",\"1792\":\"de9e5e0e\",\"1890\":\"0715e5ab\",\"1949\":\"45f19694\",\"1986\":\"506c76a6\",\"2081\":\"5d02ff40\",\"2147\":\"1daa0f33\",\"2166\":\"b94002e2\",\"2184\":\"558f4a5b\",\"2194\":\"43909660\",\"2272\":\"614a7c64\",\"2468\":\"a16316e4\",\"2491\":\"827a7c12\",\"2521\":\"80a6e588\",\"2524\":\"51131fe9\",\"2559\":\"48902440\",\"2620\":\"77c97f06\",\"2654\":\"4638b5fb\",\"2719\":\"6f90b7df\",\"2918\":\"756ec635\",\"3040\":\"c9920627\",\"3126\":\"634b7aa2\",\"3167\":\"f6551537\",\"3190\":\"63494824\",\"3515\":\"6d8b1298\",\"3556\":\"b7e2611c\",\"3570\":\"f1f85efc\",\"3614\":\"df7b04cc\",\"3621\":\"37ed7527\",\"3698\":\"309f2e9a\",\"3790\":\"c1ca16bf\",\"3793\":\"2ab9a0de\",\"3857\":\"d8da5349\",\"3890\":\"82078dd3\",\"3965\":\"91a5c561\",\"4000\":\"6276b25c\",\"4072\":\"62d1c86b\",\"4231\":\"d39f3fc2\",\"4266\":\"dd68bec3\",\"4448\":\"cac7603e\",\"4455\":\"74048e34\",\"4529\":\"864da8ca\",\"4578\":\"d23b24c2\",\"4590\":\"033d02fa\",\"4662\":\"12066fb6\",\"4747\":\"8bf5de42\",\"4765\":\"055d807a\",\"4914\":\"54446f29\",\"4940\":\"20e6d523\",\"4944\":\"4019c17e\",\"4945\":\"6bad6124\",\"4948\":\"266bb1e6\",\"5064\":\"3c323f50\",\"5260\":\"3c84026e\",\"5297\":\"e5241798\",\"5385\":\"c423da2e\",\"5448\":\"5591de7f\",\"5457\":\"be6510ba\",\"5503\":\"f6a1d9be\",\"5532\":\"8f71acbf\",\"5603\":\"d90044b4\",\"5717\":\"bfe25a82\",\"5752\":\"b39ccef3\",\"5764\":\"d9da90eb\",\"5857\":\"127285e6\",\"5987\":\"21fbf5b3\",\"6028\":\"f3c64cd5\",\"6044\":\"542ae4af\",\"6214\":\"6a994b6e\",\"6363\":\"01676cc0\",\"6390\":\"9ffca78a\",\"6422\":\"6f3b522f\",\"6624\":\"fa3ca014\",\"6941\":\"84f2bf1e\",\"6968\":\"1014c8ff\",\"7061\":\"4e43eeab\",\"7099\":\"4d7538ec\",\"7153\":\"9e0f3618\",\"7169\":\"f461c591\",\"7224\":\"26cf0b94\",\"7229\":\"44b4800c\",\"7287\":\"bf259216\",\"7333\":\"57ee6c03\",\"7449\":\"9018a3ed\",\"7471\":\"7b6263cb\",\"7507\":\"66a3fb33\",\"7548\":\"2ea084be\",\"7554\":\"7f466a64\",\"7629\":\"0a2d4410\",\"7706\":\"ee16f277\",\"7741\":\"b1c6de60\",\"7814\":\"ac8c41a0\",\"7950\":\"58c926ac\",\"7970\":\"bd8edf81\",\"7998\":\"dc517db1\",\"8049\":\"17357622\",\"8081\":\"18c6e64d\",\"8089\":\"6c76e470\",\"8199\":\"b59efb58\",\"8387\":\"a46d064b\",\"8410\":\"15c3b507\",\"8601\":\"2100c0af\",\"8704\":\"cf2cabdb\",\"8734\":\"e2e24217\",\"8772\":\"eb170329\",\"8809\":\"b7644e2b\",\"9031\":\"2f781815\",\"9048\":\"f8614a11\",\"9118\":\"235f9aeb\",\"9138\":\"718d9885\",\"9283\":\"31e623bf\",\"9334\":\"f63b5cba\",\"9357\":\"dad2d3d8\",\"9397\":\"724a1e37\",\"9447\":\"594cb810\",\"9520\":\"65c26e5d\",\"9719\":\"e157daad\",\"9916\":\"9d3d9bfa\",\"9927\":\"258222a3\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"179\":\"c0f106df\",\"205\":\"5116cd11\",\"231\":\"4e8adbc1\",\"238\":\"74eb71df\",\"254\":\"b50094e9\",\"286\":\"02ad775a\",\"756\":\"8bb54fe6\",\"816\":\"54de615e\",\"985\":\"202016ba\",\"1077\":\"e9765061\",\"1158\":\"d6e2ee48\",\"1303\":\"58854080\",\"1548\":\"a46b22f4\",\"1651\":\"8d670143\",\"1792\":\"ea204b68\",\"2147\":\"f1353cb6\",\"2166\":\"f09c0e0e\",\"2194\":\"69c70abf\",\"2491\":\"6573a75f\",\"2521\":\"b091ae1d\",\"2620\":\"5116cd11\",\"2719\":\"ad566297\",\"3515\":\"d6e2ee48\",\"3556\":\"42b44602\",\"3570\":\"cd2601f5\",\"3614\":\"3505d4d9\",\"3621\":\"29b51e0c\",\"3698\":\"ed9d8038\",\"3790\":\"e23f6920\",\"3793\":\"6c1898d8\",\"3890\":\"c168102a\",\"3965\":\"e9f824d7\",\"4231\":\"8db3230e\",\"4448\":\"d949e550\",\"4455\":\"c5bd0830\",\"4590\":\"d6e2ee48\",\"4662\":\"8bb54fe6\",\"4747\":\"c7d90cc1\",\"4914\":\"0572f8bd\",\"4944\":\"c4ab70e3\",\"4945\":\"bf84ef39\",\"5260\":\"ec6d69cf\",\"5457\":\"b091b969\",\"5503\":\"7108cc9e\",\"5532\":\"03b716d0\",\"5717\":\"8a6ee14f\",\"5752\":\"ed9d9c87\",\"5764\":\"6bf838da\",\"5987\":\"2becbf4c\",\"6422\":\"656a9c20\",\"7061\":\"f8714404\",\"7153\":\"29b51e0c\",\"7169\":\"b1f8b9b8\",\"7224\":\"512bdc97\",\"7287\":\"a37656e6\",\"7471\":\"6221d983\",\"7507\":\"aff8cc9e\",\"7554\":\"9b161c34\",\"7629\":\"39ee9954\",\"7741\":\"ba53b08e\",\"7950\":\"35f5f839\",\"7970\":\"2d884fce\",\"8049\":\"35f5f839\",\"8089\":\"b627beb4\",\"8387\":\"acaf14a5\",\"8410\":\"06973736\",\"8601\":\"92ac3806\",\"8704\":\"b0c09ee5\",\"8809\":\"5dbdd97f\",\"9118\":\"ed9d8038\",\"9138\":\"bd638efc\",\"9283\":\"95cbac10\",\"9357\":\"405e5a0d\",\"9397\":\"eb31b490\",\"9447\":\"cf6405b4\",\"9520\":\"a5ebc230\",\"9927\":\"0bbd1d15\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"resa-frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"179\":1,\"205\":1,\"231\":1,\"238\":1,\"254\":1,\"286\":1,\"756\":1,\"816\":1,\"985\":1,\"1077\":1,\"1158\":1,\"1303\":1,\"1548\":1,\"1651\":1,\"1792\":1,\"2147\":1,\"2166\":1,\"2194\":1,\"2491\":1,\"2521\":1,\"2620\":1,\"2719\":1,\"3515\":1,\"3556\":1,\"3570\":1,\"3614\":1,\"3621\":1,\"3698\":1,\"3790\":1,\"3793\":1,\"3890\":1,\"3965\":1,\"4231\":1,\"4448\":1,\"4455\":1,\"4590\":1,\"4662\":1,\"4747\":1,\"4914\":1,\"4944\":1,\"4945\":1,\"5260\":1,\"5457\":1,\"5503\":1,\"5532\":1,\"5717\":1,\"5752\":1,\"5764\":1,\"5987\":1,\"6422\":1,\"7061\":1,\"7153\":1,\"7169\":1,\"7224\":1,\"7287\":1,\"7471\":1,\"7507\":1,\"7554\":1,\"7629\":1,\"7741\":1,\"7950\":1,\"7970\":1,\"8049\":1,\"8089\":1,\"8387\":1,\"8410\":1,\"8601\":1,\"8704\":1,\"8809\":1,\"9118\":1,\"9138\":1,\"9283\":1,\"9357\":1,\"9397\":1,\"9447\":1,\"9520\":1,\"9927\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^((|4)23|747)1$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkresa_frontend\"] = self[\"webpackChunkresa_frontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], () => (__webpack_require__(20821)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","key","attrs","value","_v","_e","client","_vm","model","$set","OrgInfo","$$v","expression","rules","required","readonly","callback","_c","staticClass","Type","scopedSlots","fn","item","ref","on","birthdateDatepicker","birthdateFormatted","menuBirthday","bottom","$event","params","quotationsPricings","hasQuotationAccess","clientAddress","Address","Contact","mailValidation","Status","mailValidationLoading","slot","class","isParent","parentSearch","search","lockerCodeReveal","staticRenderFns","mixins","ClientsMixin","props","type","Boolean","default","data","orgTypes","text","userCodeFormat","isNaN","parseInt","userCodeMin","length","C","LOCKERS","USER_CODE","MIN_LENGTH","userCodeMax","MAX_LENGTH","Msg","loading","items","select","clientTypes","icon","quotationsSalesRepresentatives","quotationsProductsCatalogues","loadingQuotationsSalesRepresentatives","loadingQuotationsProductsCatalogues","loadingQuotationsPricings","computed","mapGetters","hasRight","pricingOptions","out","pricing","forEach","p","PeriodID","findIndex","currentPeriod","ID","push","Label","FR","displayLockersFields","modules","$store","getters","lockers","currentClientPricing","Pricings","accountPricing","find","isPast","From","To","isFuture","PricingID","expiration","currentClientPricingID","get","Streetnum","set","val","re","matches","trim","match","watch","v","formatDate","BirthDate","moment","format","formatBirthDate","parseDate","initParentSearch","checkIsParent","checkMail","formatParent","performParentSearch","Parent","undefined","mounted","$emit","assign","ClientType","QuotationAccess","QuotationsApi","getQuotationSalesRepresentatives","then","res","catch","$snotify","error","console","finally","getQuotationProductsCatalogues","getQuotationPricings","methods","isValid","$refs","form","validate","resetForm","reset","resetValidation","Email","ClientsApi","getClients","Limit","Items","Clients","getClient","_","Search","Firstname","Lastname","_updateClientPricing","newPricingID","updateClientPricing","component","render","slide","slideSecondType","t","openTicket","getTicketStatus","domProps","categories","newTicket","getTickets","axios","createTicket","getTicket","getTicketMessages","createTicketMessage","TicketID","createTicketAttachment","getOdeonParams","getBookstackToken","getOdeonAuthToken","postFile","file","formData","FormData","append","headers","back","showImage","showImageSrc","_s","MessageType","Message","editorMessage","customer","activeTicket","this","_self","editor","_l","index","_b","onFileSelected","action","String","title","Function","isActive","components","MenuItem","chain","focus","toggleBold","run","toggleItalic","toggleStrike","toggleCode","toggleHighlight","toggleBulletList","toggleOrderedList","toggleCodeBlock","addImage","clearNodes","unsetAllMarks","undo","redo","imageUpload","click","files","OdeonApi","setImage","src","URL","dropImagePlugin","upload","Plugin","handlePaste","view","event","slice","Array","from","clipboardData","schema","state","image","getAsFile","indexOf","preventDefault","node","nodes","create","transaction","tr","replaceSelectionWith","dispatch","reader","FileReader","onload","readerEvent","target","result","readAsDataURL","handleDOMEvents","drop","_event$dataTransfer$f","hasFiles","dataTransfer","images","filter","test","coordinates","posAtCoords","left","clientX","top","clientY","async","insert","pos","IMAGE_INPUT_REGEX","createImageExtension","uploadFn","Node","name","inline","group","draggable","addAttributes","alt","parseHTML","tag","getAttrs","dom","element","getAttribute","renderHTML","HTMLAttributes","addCommands","selection","position","$cursor","$to","addInputRules","nodeInputRule","getAttributes","addProseMirrorPlugins","TiptapMenuBar","EditorContent","placeholder","self","Editor","content","extensions","StarterKit","Placeholder","configure","Image","Dropcursor","onUpdate","getHTML","beforeDestroy","destroy","clear","commands","clearContent","DateMixin","TiptapEditor","messages","messageTypeColor","messageTypeIcon","System","Information","Chat","Note","Resolution","fetchMessages","$nextTick","messageImages","document","querySelectorAll","messageImage","onclick","fetchMessagesInterval","setInterval","clearInterval","stripTags","input","replace","getShortTitle","substring","parseMessage","messageContent","parser","DOMParser","doc","parseFromString","imgs","img","imageSrc","setAttribute","querySelector","innerHTML","formatMessage","sendChat","doScroll","m","objDiv","getElementById","scrollTop","scrollHeight","status","consts","TICKET_STATUS","ts","color","odeonHelper","WebviewMixin","OdeonMixin","TicketDetailsPanel","vm","Consts","visible","Category","wvEnabled","InitialMessage","isTicketSending","tickets","ticket","ticketMessages","odeonUserID","odeonHost","bookstackLoading","odeonLoading","ticketStatusById","filteredTickets","diff","LastUpdate","sort","a","b","isAfter","odeon","UserID","Host","fetchTickets","err","goToDocs","window","open","Cookie","goToOdeon","Token","ticketWasUpdated","userLastSeen","LastSeen","s","Seen","isBefore","numUnread","i","IsPrivate","wvOdeonUnreadAmount","send","newTicketForm","relevantData","currentSeller","wvGetDataValue","currentCashregister","Name","Version","currentEstablishment","currentClient","currentSale","BeginDate","RelevantData","ticketRes","closeNewTicket","screenRecording","blob","utils","dataURLToBlob","File","uploadRes","AttachmentID","Identifier","Private","MimeType","InvalidReason","voucherID","searchEticket","voucher","Exist","voucherDeliveredProducts","UsedAmount","Amount","selectedProductID","productId","active","toggle","formatMoney","Voucher","convertToCredit","clientSearch","newClientMode","hasClient","associatedCards","associateCard","card","ProductID","mappedProducts","cardType","cardIndex","productCompatibleCardTypes","convertEticketToCredit","giftVouchers","itemsPerPageOptions","pagination","infoOnly","ClientForm","step","validating","productCardAssignation","cardTypes","failedToCheckVoucher","newClient","validationLoading","giftVouchersLoading","searchHeaders","align","sortable","page","itemsPerPage","sortBy","sortDesc","totalGiftVouchers","spaProducts","focusInterval","seller","clientFullname","performClientSearch","targetClient","loadGiftVouchers","handler","deep","created","resetEticket","authUser","FirstName","focusInput","SpaApi","getSpaProducts","State","destroyed","deliveredProducts","product","getProductAction","p1","mapped","Products","mappedCardTypes","CardType","selectedProduct","ClientGiftID","allCanGoOnQRCode","DeliveredItems","every","cardtypes","some","includes","allGoesOnQRCode","cardtype","values","ClientGift","di","packedProducts","recurseGetPackedProducts","flat","packedProduct","existingIndex","amount","deliveredSubscriptions","Subscription","deliveredCards","cards","hasQRCodeAssigned","hasProductAssignedToCardTypeWithoutCard","missingCardtype","productID","cardSlot","targetClientHasOne","Decimal","toFixed","setCode","validateEticket","setSeller","PackedProducts","subPackedProducts","spp","filters","states","ApiVouchers","getGiftVouchers","getPaginationFromDataTableOptions","Total","Vouchers","voucherField","deliveredCardIndex","wvAssociateCard","cardNumber","c","CardNumber","associatedSpaProduct","Product","VoucherCreditValue","VOUCHER_TYPES","CREDIT","VoucherCreditUnitValue","CREDIT_UNIT","label","clientCardTypes","Cards","concat","cardTypeIdx","compatibleCardTypes","setProductCardtype","useSearchedVoucher","Code","resetAssociation","Promise","reject","scanVoucher","onProductSelected","ApiProducts","getCardTypes","_res$data","setTimeout","clientSearchField","validConsumeEticket","clientForm","validateVoucher","VoucherID","SelectedProductID","IsNewClient","NewClient","ProductCardAssignation","AssociatedCards","ClientID","SellerName","successMessage","EventBus","success","wvVoucherValidated","wvToast","AccessControlVouchersGenerationNeeded","convertVoucherGiftToCredit","close","isPartiallyUsed","productsAlreadyCreditCagnotte","ApiClients","Vue","use","Vuetify","directives","Ripple","theme","dark","themes","light","primary","secondary","accent","info","warning","customProperties","icons","iconfont","lang","locales","fr","current","Snotify","toast","SnotifyPosition","rightBottom","closeOnClick","timeout","titleMaxLength","showProgressBar","isDashboardLayoutDisabled","staticStyle","stopPropagation","drawer","voucherScanDialog","hasVcr","goToVCR","onMenu","_u","odeonPopup","goBack","history","$router","go","ForbiddenPage","OdeonPopup","VoucherScan","MainMixin","WsMixin","version","changelogDialog","unread","barcode","reading","$connect","ws_IsConnected","ws_Authenticate","authToken","_ws_Register","$options","sockets","onopen","onclose","$socket","readyState","$disconnect","$on","route","loadWebviewForcedRoute","opts","onerror","ws_KeepAlive","message","ws_On","WS_RESOURCE_LOCKER_INCIDENTS_NEW","onNewLockerIncident","addEventListener","keyCode","isLoggedIn","ApiAuth","checkAuthToken","commit","location","pathname","getDefaultRoute","$route","wvReady","ws_Off","ws_IsAuthenticated","hasDimsBackoffice","dimsBackofficeUrl","vcrUrl","userInitials","substr","LastName","matched","idx","meta","disableDashboardLayout","navDrawerItems","planning","alert","ctm","clients","business","routeName","spa","stats","activities","kiosks","newIncidentsCounter","quotations","logout","wvLogout","fullPath","forceReload","href","reload","onUnreadCount","ws_cb_ResponseAuth","Success","confirm","buttons","bold","remove","ws_cb_onNotify","payload","Resource","Event","goToDims","urlVCR","startsWith","endsWith","AccountID","ClientAccountID","infos","getAuthToken","VueNativeSock","config","ServerURL","protocol","host","reconnection","connectManually","LottieVuePlayer","productionTip","mixin","iconizer","labelizer","colors","date","sales","accessControl","router","store","vuetify","h","App","$mount","WS_RESOURCE_TURNSTILE_INFO","WS_RESOURCE_TURNSTILE_HISTORY","WS_RESOURCE_ACCESS_CONTROL_VOUCHERS","WS_RESOURCE_CLIENTS","WS_RESOURCE_SPA_BOOKINGS","WS_RESOURCE_AREA_ATTENDANCE","WS_RESOURCE_ESTABLISHMENTS","WS_RESOURCE_AREAS","WS_RESOURCE_LOCKERS","WS_RESOURCE_LOCKERS_STATE","WS_RESOURCE_LOCKERS_CONFIG","WS_RESOURCE_LOCKERS_HISTORY","WS_RESOURCE_LOCKER_BLOCKS","WS_RESOURCE_LOCKER_GATEWAYS","WS_RESOURCE_LOCKER_BOOKINGS","WS_RESOURCE_LOCKER_BOOKINGS_NEW","WS_RESOURCE_LOCKER_BOOKINGS_STOP","WS_RESOURCE_LOCKER_BOOKINGS_CANCEL","WS_RESOURCE_LOCKER_INCIDENTS_UPDATE","WS_RESOURCE_INDOOR_POSITIONING","WS_RESOURCE_KIOVID","WS_RESOURCE_DISPLAYS","WS_RESOURCE_VOUCHERSHEETS","WS_RESOURCE_VOUCHERSHEET_PROGRESS","WS_RESOURCE_KIOSKS","WS_RESOURCE_PRODUCTS","ACCESS_CONTROL_EVENT_UNK","ACCESS_CONTROL_EVENT_BOX_READY","ACCESS_CONTROL_EVENT_BOX_ERROR","ACCESS_CONTROL_EVENT_BOX_OFFLINE","ACCESS_CONTROL_EVENT_TS_READY","ACCESS_CONTROL_EVENT_TS_ERROR","ACCESS_CONTROL_EVENT_TS_OFFLINE","ACCESS_CONTROL_EVENT_UNK_CARD","ACCESS_CONTROL_EVENT_PASSING_ALLOW","ACCESS_CONTROL_EVENT_PASSING_DENIED","ACCESS_CONTROL_EVENT_PASSING_TIMEOUT","ACCESS_CONTROL_EVENT_PASSING_CONFIRM","ACCESS_CONTROL_EVENT_BOX_LOG","ACCESS_CONTROL_EVENT_BARRIER_MECHANICAL_FAULT","ACCESS_CONTROL_EVENT_SAFETY_SIGNAL","ACCESS_CONTROL_EVENT_SAFETY_DEVICE_MISSING","ACCESS_CONTROL_EVENT_BARRIER_TOO_FAST","ACCESS_CONTROL_EVENT_BOOM_CONTACT_SWING_AWAY","ACCESS_CONTROL_EVENT_VANDALISM","ACCESS_CONTROL_EVENT_IMPACT_DETECTION","ACCESS_CONTROL_EVENT_MAINS_POWER_FAILURE","ACCESS_CONTROL_EVENT_EEPROM_CHECKSUM_ERROR","ACCESS_CONTROL_EVENT_WATCHDOG_RESET","ACCESS_CONTROL_EVENT_SOFTWARE_ERROR_VS","ACCESS_CONTROL_EVENT_SOFTWARE_ERROR_SYSTEMBUS","ACCESS_CONTROL_EVENT_ERROR_ON_HOMING","ACCESS_CONTROL_EVENT_CAN_OVERRUN","ACCESS_CONTROL_EVENT_CAN_HW_FAULT","ACCESS_CONTROL_EVENT_HEARTBEAT_ERROR","ACCESS_CONTROL_EVENT_OVER_CURRENT","ACCESS_CONTROL_EVENT_OVER_VOLTAGE","ACCESS_CONTROL_EVENT_UNDER_VOLTAGE","ACCESS_CONTROL_EVENT_OVER_TEMPERATURE","ACCESS_CONTROL_EVENT_DERATING_ERROR","ACCESS_CONTROL_EVENT_IMPACT_DETECTION2","ACCESS_CONTROL_EVENT_MOTOR_COMMUNICATION_ERROR","ACCESS_CONTROL_EVENT_DBG_SAFETY_DEVICE_ACTIVE","ACCESS_CONTROL_EVENT_HW_ENABLE_TEST_FAILED","ACCESS_CONTROL_EVENT_SAFETY_DEVICE_TEST_FAILED","ACCESS_CONTROL_EVENT_DBG_SAFETY_LOOP_ON_DETECTOR1_ACTIVE","ACCESS_CONTROL_EVENT_DBG_SAFETY_LOOP_ON_DETECTOR2_ACTIVE","ACCESS_CONTROL_EVENT_MOTOR_BOOTLOADER_ACTIVE","ACCESS_CONTROL_EVENT_MOTOR_UPDATE_FAILURE","ACCESS_CONTROL_EVENT_MOTOR_UPDATE_PERFORMED","ACCESS_CONTROL_EVENT_SHORT_CIRCUIT_LOOP_A","ACCESS_CONTROL_EVENT_SHORT_CIRCUIT_LOOP_B","ACCESS_CONTROL_EVENT_LOOP_A_BROKEN","ACCESS_CONTROL_EVENT_LOOP_B_BROKEN","ACCESS_CONTROL_EVENT_LOOP_REFERENCE_ERROR","ACCESS_CONTROL_EVENT_DBG_FREQUENCY_MEASUREMENT_ERROR","ACCESS_CONTROL_EVENT_DBG_MEASUREMENT_MONITORING_A","ACCESS_CONTROL_EVENT_DBG_MEASUREMENT_MONITORING_B","ACCESS_CONTROL_EVENT_DBG_LOOP_MULTIPLEX_ERROR","ACCESS_CONTROL_EVENT_DBG_NEGATIVE_FREQUENCY_DIFFERENCE","ACCESS_CONTROL_EVENT_HARDWARE_ERROR","ACCESS_CONTROL_EVENT_ERROR_LOOP_A","ACCESS_CONTROL_EVENT_ERROR_LOOP_B","PASSING_TYPE_CARD_QUERY","PASSING_TYPE_TURNSTILE_PASSING","PASSING_TYPE_PUNISH_LATE_EXIT","PASSING_DIRECTION_UNSET","PASSING_DIRECTION_IN","PASSING_DIRECTION_OUT","BOOKING_PERIOD_DAYTIME","BOOKING_PERIOD_MORNING","BOOKING_PERIOD_AFTERNOON","BOOKING_PERIOD_EVENING","BOOKING_SOURCE_WEB","BOOKING_SOURCE_CASHREGISTER","BOOKING_SOURCE_MOBILE","BOOKING_SOURCE_KIOSK","BOOKING_STATUS_PENDING","BOOKING_STATUS_VALIDATED","BOOKING_STATUS_CANCELLED","BOOKING_STATUS_WAITING","BOOKING_SLOT_WEB_MODE_ZERO","BOOKING_SLOT_WEB_MODE_UNLIMITED","BOOKING_SLOT_WEB_MODE_SPECIFIC","BOOKING_SLOT_REPEAT_WEB_PUBLISHED_NONE","BOOKING_SLOT_REPEAT_WEB_PUBLISHED_INFO","BOOKING_SLOT_REPEAT_WEB_PUBLISHED_BOOK","SUBSCRIPTION_TYPE_CREDIT","SUBSCRIPTION_TYPE_SUBSCRIPTION","SUBSCRIPTION_TYPE_PASS_Q","SUBSCRIPTION_TYPE_PASS_H","SUBSCRIPTION_TYPE_PACK","SUBSCRIPTION_TYPE_OTHER","SUBSCRIPTION_TYPE_2DTAG","SPA_PRODUCT_MODE_ALL","SPA_PRODUCT_MODE_MULTI_OF","SPA_NOTIFICATION_CREATE","SPA_NOTIFICATION_UPDATE","SPA_NOTIFICATION_DELETE","SPA_NOTIFICATION_REMINDER","RENEW_OPTIONS_USE_SUBSCRIPTION_VALIDITY_ONLY","RENEW_OPTIONS_ADD_REMAINING_VALIDITY","RENEW_OPTIONS_KEEP_BALANCE_ALWAYS","RENEW_OPTIONS_KEEP_BALANCE_IF_NOT_EXPIRED","RENEW_OPTIONS_KEEP_BALANCE_NEVER","GROUP_EXIT_AUTO_NEVER","GROUP_EXIT_AUTO_MANUAL_ONLY","GROUP_EXIT_AUTO_ALWAYS","PRODUCT_VALIDITY_SALE_DATE","PRODUCT_VALIDITY_FIXED","PRODUCT_VALIDITY_FIRST_USE","PRODUCT_VALIDITY_CUSTOM_DATE","PRODUCT_VALIDITY_MATCH_BOOKING_DATE","PRODUCT_VALIDITY_CUSTOM_PERIOD","DURATION_PER_DAY","DURATION_PER_MONTH","DURATION_PER_YEAR","FREQUENCY_NEVER","FREQUENCY_OCCASIONAL","FREQUENCY_MONTHLY","FREQUENCY_YEARLY","MODE_FIRST_PURCHASE_FIX_DATES","MODE_FIRST_PURCHASE_DATE_TO_DATE","SALE_STATE_DRAFT","SALE_STATE_PAUSED","SALE_STATE_PAYING","SALE_STATE_READY_CONFIRMED","SALE_STATE_CONFIRMED","SALE_STATE_CANCELLED","SALE_STATE_PAUSED_PAYING","SALE_STATE_PAYMENT_PENDING","SALE_STATE_ARRHES","SALE_STATE_SCHEDULED","BOOKING_SLOT_REPEAT_STATUS_DRAFT","BOOKING_SLOT_REPEAT_STATUS_VALID","BOOKING_SLOT_REPEAT_STATUS_DELETED","MAIL_STATUS_OK","MAIL_STATUS_UNDETERMINED","MAIL_STATUS_BAD_FORMAT","MAIL_STATUS_HOST_UNRESOLVABLE","MAIL_STATUS_UNKNOWN_USER","BOOKING_IS_AUTHORIZED","LIMIT_BOOKING_TIME_PASSED","SLOT_OUT_OF_VISIBILITY","NO_PRODUCT","WRONG_CLIENT_GROUP","SWIMING_LEVEL_NOT_GOOD","MAX_BOOKING_PER_WEEK_REACHED","ALREADY_BOOKED","NO_PLACE_AVAILABLE","NO_PLACE_AVAILABLE_WEB","WEB_MODE_UNAVAILABLE","UNKNOWN_KIOVID","KIOSK_KIOVID","CASHREGISTER_KIOVID","CLIENTS","GENDERS","UNKNOW","FEMALE","MALE","STATE","DISABLED","VALID","CLIENT_TYPE_PERSON","CLIENT_TYPE_ORG","CLIENT_TYPE_OTHER","CLIENT_ORG_CE","CLIENT_ORG_COLLECTIVITY","CLIENT_ORG_GROUPING","CLIENT_ORG_ORGANIZATION","CLIENT_ORG_INDIVIDUAL","CLIENT_ORG_PRIVATE","CLIENT_ORG_PUBLIC","PRICING_DEFAULT","GLOBAL_PARAMS","PARAM_DECIMAL_AMOUNT","PARAM_CURRENCY_SIGN","PARAM_ALERT_STOCK","PARAM_THEME_DEFAULT","PARAM_ASSOCIATION_CLIENT_AUTO","PARAM_LANGUAGE","PARAM_KEYPAD","PARAM_RECEIPT_CHECKED","PARAM_DATA_PATH","PARAM_PRODUCT_LIST_FIRST","PARAM_PRODUCT_FIRST_IN_SALE","PARAM_PRODUCT_FAV","PARAM_MULTI_CLIENT","PARAM_POSTAL_CODE_AFTER_SALE","PARAM_CHANGE_PRICE_ON_LINE","PARAM_PAYMENT_LATER","PARAM_MULTI_PAYMENT","PARAM_CARD_ENABLE","PARAM_CHANGE_TYPE_PAYMENT_AFTER_SALE","PARAM_PAUSE_SALE","PARAM_MAX_CLIENTS_IN_SALE","PARAM_ARCHIVE_AUTO","PARAM_KEYPAD_DISCOUNT","PARAM_BEGIN_PERIOD","PARAM_NBR_WRONG_CASHFUND","PARAM_CASHBOOK_TYPE_VERIF","PARAM_SALE_LOST","PARAM_PRINTER_RECEIPT","PARAM_PRINTER_BILL","PARAM_VOUCHER","PARAM_UNIT_POINT","PARAM_DELAYED_PAYEMENT","PARAM_CREDIT","PARAM_PAYMENT_SELECT_TYPE_FIRST","PARAM_MQTT_ENABLE","PARAM_BROKER_ADDRESS","PARAM_SYNCHRO_WEB","PARAM_DEV_TOOLS","PARAM_API_KEY","PARAM_CENTRAL_ADDRESS","PARAM_SQL_ADDRESS","PARAM_USE_TPE","PARAM_TPE_COM_PORT","PARAM_INTERNET","PARAM_SWITCH_CLIENT_AUTO","PARAM_CASH_DRAWER","PARAM_UI_ZOOM_FACTOR","PARAM_UPDATER_ADDRESS","PARAM_UPDATER_API_KEY","PARAM_MESSAGES_JUSTIFICATION","PARAM_VALIDATION_PAYMENT_AUTO","PARAM_PAYMENT_MODE_NORMAL","PARAM_AUTO_DECO_TIME","PARAM_CASH_DRAWER_ENABLE","PARAM_WIDTH_RECEIPT","PARAM_QRCODE_MESSAGE","PARAM_QRCODE_PRINTER","PARAM_BARCODE_PRINTER","PARAM_BARCODE_SIZE","PARAM_QRCODE_PARAMS","PARAM_COLOR_PRICINGS_PRIORITY","PARAM_USE_EXTERNAL_DISPLAY","PARAM_PAYMENT_DIFF_FOR_CLIENT","PARAM_AUTOCREATE_ONLINE_ACCOUNT","PARAM_ASK_FOR_OTHER_CARD","PARAM_SHOW_MORE_TOOLBAR","PARAM_SHOW_SUBS_IN_TICKET","PARAM_PRODUCTS_IN_CASHBOOK_TICKET","PARAM_AUTO_PRINT_CASHBOOK_TICKET","PARAM_DIMS1_URL","PARAM_DIMS2_URL","PARAM_DIMS2_API_KEY","PARAM_DENY_ASSIGNED_CARD","PARAM_SHORT_CASHBOOK_TICKET","PARAM_EXPORT_SKIP_AVOIRS","PARAM_PRINT_ON_FAST_TICKET","PARAM_EXPORT_ADD_NEW_PAGE","PARAM_EXPORT_SKIP_DIFFERED","PARAM_DUPLICATE_FOR_ORG","PARAM_AUTO_PRINT_CASH_FUND_START","PARAM_AUTO_PRINT_CASH_FUND_END","PARAM_CLIENTS_NAME_STANDARDIZATION","PARAM_CORRECTION_GRAND_TOTAL","PARAM_SUB_INITIAL_CASHFUND","PARAM_MAILMAN_ADDRESS","PARAM_SHOW_MQTT_STATUS","PARAM_USE_CHEQUE_READER","PARAM_CHEQUE_READER_COM","PARAM_SHOW_TOTAL_QTY_ON_CARD","PARAM_REFRESH_ALL_SUBS_ON_CARD","PARAM_CASHREGISTER_ESTABLISHMENT","PARAM_BILL_SUMMARY_TOP_MARGIN","PARAM_ARRHES","PARAM_TVA_ON_PAYMENTS_STATS","PARAM_SPA_BOOKINGS_ON_TRACKING","PARAM_SHOW_PERCENTAGE_ON_EXPORT","PARAM_TICKET_TEMPLATE","PARAM_ACCESS_CONTROL_VOUCHER_TEMPLATE","PARAM_ADD_MORE_INFOS_AT_SALE_END","PARAM_SHOW_ESTABLISHMENT_LOGO_ON_TICKET","PARAM_BILL_TEMPLATE","PARAM_VOUCHER_TEMPLATE","PARAM_VOUCHER_GIFT_CARD_TEMPLATE","PARAM_VOUCHER_DISCOUNT_TEMPLATE","PARAM_VOUCHER_WEB_GIFT_CARD_TEMPLATE","PARAM_ENABLE_SALE_GIFT","PARAM_HIDE_FAMILIES_IN_SALE","PARAM_PREVENT_CREDIT_CARD_CANCEL","PARAM_WEB_ACCESS_CONTROL_VOUCHER_TEMPLATE","PARAM_LOCKER_DELAY_BETWEEN_BOOKINGS","PARAM_LOCKER_GATEWAY_SCAN_LOOP_INTERVAL","PARAM_UPDATE_IN_PLACE","PARAM_USE_EXIT_BOXES_FOR_MANUAL_ACCESS","PARAM_SKIP_EXTERNAL_DEFERED_IN_PRODUCTS_EXPORT","PARAM_ENABLE_COVID_PASS","PARAM_AUTOCREATE_PERIODS","PARAM_EXPORT_ADD_CAGNOTTE_COLLECTIONS","PARAM_CREDIT_VOUCHER_REMAINING_AMOUNT","PARAM_SHOW_ALL_DEFERRED_PAYMENTS","PARAM_ZEBRA_WB_TEMPLATE","PARAM_ACV_ON_ZEBRA_WB","PARAM_VOUCHER_GIFT_CARD_VALIDITY","PARAM_CANCEL_SALE_WITH_ALL_PAYMENT_MEAN","PARAM_PAUSE_SALE_STARTED_PAYING","PARAM_CREDIT_UNITS_FOR_GIFTING_CLIENT","PARAM_USE_TURNSTILE_MODE","PARAM_ENABLE_CIVIL_REF","PARAM_DEFAULT_AUTODEBIT_DAY","PARAM_COLLECTABLE_VOUCHER_TEMPLATE","PARAM_ZEBRA_PRINTER","PARAM_IMAGE_USED_FOR_BILL","PARAM_PRINTS_WITH_SELLER_NAME","PARAM_OPEN_DRAWER_ON_CREDIT_CARD_PAYMENT","PARAM_TPE_COM_MODE","PARAM_TPE_COM_IP","PARAM_EXPORT_PRICING_VENTILATION","PARAM_TPE_PROTOCOL_VERSION","PARAM_ENABLE_DISCOUNTS","PARAM_BILL_FOOTER_NOTE","PARAM_CASHDRAWER_JUSTIFICATION_MESSAGES","PARAM_FORBID_EXCEEDING_VOUCHER_PAYMENT","PARAM_ENABLE_CLIENT_PICTURES","PARAM_WEBCAM_DEVICE","PARAM_DEFAULT_PRICING_CODES","PARAM_PRIORITY_CITIES","PARAM_DIMS2_LOCAL_URL","PARAM_HIDE_OTHER_ESTABLISHMENTS_ACCESS_CONTROL","PARAM_SHOW_BOOKINGS_ON_TICKET","PARAM_RESET_SUB_START_DATE_ON_RECHARGE","PARAM_TPE_INTERVENTION_DELAY","PARAM_DISABLE_SCREEN_RECORDING","PARAM_ADDRESS_FORCE_UPPERCASE","SMS","SERVICE_UNKNOWN","ENDPOINT_UNKNOWN","OPERATOR_UNKNOWN","OPERATOR_OVH","OPERATORS","BY_ACTIVITY","BY_DAY","GROUP_BY","description","CONFIRMATION_STATUS","NONE","DESIRED","NO_PHONENUMBER","UNDELIVERED","AWAITING","NO_REPLY","REPLY_YES","REPLY_NO","REPLY_OTHER","NO_REPLY_EXPECTED","GIFT_CARD","DISCOUNT","PRODUCT","ORDER","COLLECTABLE","TEMPLATE_TYPES","TICKET","VOUCHER","VOUCHER_WEB_GIFT_CARD","VOUCHER_GIFT_CARD","VOUCHER_DISCOUNT","ACCESS_CONTROL_VOUCHER","WEB_ACCESS_CONTROL_VOUCHER","VOUCHER_COLLECTABLE","BILL","RENEWABLE_SUBSCRIPTION_CONTRACT","COMMUNICATIONS","CHANNEL_KEEP_ALIVE","CHANNEL_SUBSCRIBE","CHANNEL_UNSUBSCRIBE","CHANNEL_NOTIFY","CHANNEL_ERROR","RESOURCE_ENVIRONMENT","RESOURCE_CONNECTIVITY","RESOURCE_SESSION_ID","RESOURCE_CASHREGISTER","RESOURCE_CASHREGISTER_HEALTH","RESOURCE_CASHREGISTER_UPDATE_PROGRESS","RESOURCE_CASHREGISTER_SYNC_PROGRESS","RESOURCE_CASHREGISTER_SYNC_OUT_PROGRESS","RESOURCE_CASHREGISTER_SCREEN_RECORDING","RESOURCE_TURNSTILE_INFO","RESOURCE_TURNSTILE_HISTORY","RESOURCE_ACCESS_CONTROL_VOUCHERS","RESOURCE_CLIENTS","RESOURCE_SPA_BOOKINGS","RESOURCE_AREA_ATTENDANCE","RESOURCE_COMPARISON_PROGRESS","RESOURCE_RESYNC_PROGRESS","EXPORT_TYPES","EXCEL","PRODUCT_SIMPLE","PRODUCT_WITH_PRICING","PAYMENTS","EXCEPTED_PAYMENTS","SALES_SIMPLE","SALES_LINES","SALES_PAYMENTS","CASHFUND_SIMPLE","CASHFUND_DETAILS","GENERAL","SALES_CREDIT_NOTE","CHEQUES","DEFERREDPAYMENTS","DISCOUNTS","SALES_CORRECTIONS","JET","STOCKS","DOCUMENTS","GT","POSTAL_CODES","PAYMENT_TYPES","DEFERRED_PAYMENTS_BY_CLIENTS","SALES_NOMINATIVE_PAYMENTS","MODIFICATIONS","DEFERRED_EXTERNAL_PAYMENTS_BY_CLIENTS","DEFERRED_EXTERNAL_PAYMENTS","SLIPS","PAUSED_SUBSCRIPTIONS","PAYMENT_TYPES_PER_DAY","PDF","COLLECTION","PRODUCTS","FAMILIES","PRODUCTS_BY_FAMILIES","CLIENT_SALES","CREDIT_CARD_PAYMENTS","HOLIDAY_VOUCHER_SLIPS","SPORTS_COUPONS","CREDIT_NOTES","SPECIAL_PRICES","DEFERRED_PAYMENTS","ARRHES","TVA_BY_FAMILIES","KIOSKS","TYPE","SCHOOL_KIOSK","TIME_KIOSK","BOOKING_KIOSK","PURCHASE_KIOSK","PAY_LATER_KIOSK","CONSULTATION_KIOSK","ESTABLISHMENTS_FILTER","SHOW_ONLY_KIOSK_ESTABLISHMENT","SHOW_PREFILTER_KIOSK_ESTABLISHMENT","SHOW_ALL_ESTABLISHMENTS","MASTER_CODE","LOCKER_STATE","STATE_OPENED","STATE_CLOSED","STATE_ERROR","STATE_UNKNOWN","LOCKER_STATUS","STATUS_AVAILABLE","STATUS_IN_USE","STATUS_PREPARED","STATUS_OVERSTAY","STATUS_DISABLED","STATUS_IN_ERROR","LOCKER_ACCESS_MODE","FREE_ACCESS","RESERVATION","AFFECTATION","LOCKER_BOOKING_MODE","MODE_BOOKING","MODE_AFFECTATION","MODE_SINGLE_USE","INCIDENT_TYPE","OTHER_INCIDENT","NO_LOCKERS_AVAILABLE_AT_BOOKING_START_INCIDENT","NO_LOCKERS_AVAILABLE_AT_BOOKING_RETRY_INCIDENT","NOT_OPENED_AT_THE_END_OF_BOOKING_INCIDENT","LOW_BATTERY_LOCKER_INCIDENT","LOCKER_STATE_NOT_OPENED_INCIDENT","LOCKER_STATE_NOT_CLOSED_INCIDENT","OFFLINE_GATEWAY_INCIDENT","OFFLINE_LOCKER_INCIDENT","NON_VALID_MASTER_CODE_LOCKER_INCIDENT","BOOKING_STATE","BOOKING_REGISTERED","BOOKING_STARTED","BOOKING_ENDED","BOOKING_CANCELED","BOOKING_OVERSTAY","BOOKING_ERROR","BOOKING_ENDED_WITH_OVERSTAY","EVENT_TYPE","TIME_ADVANCE","TIME_DELAY","MECHANICAL_FAILURE","USER_OPENING","MASTER_OPENING","USER_CLOSING","INITIALIZATION","AUTOMATIC_OPEN_RENT_TIME","NON_VALID_MASTER_CODE","TIMED_OUT_CODE","OCCUPIED_CARD","NON_VALID_CARD","USER_OPENING_KEYPAD","USER_CLOSING_KEYPAD","MASTER_OPENING_KEYPAD","MASTER_CLOSING_KEYPAD","AUTOMATIC_OPENING","MASTER_CLOSING","LOW_BATTERY","FULL_CARD","ERASE_BT","STREAMLOR_FREE_CONFIGURATION","STREAMLOR_DEDICATED_CONFIGURATION","STREAMLOR_MASTER_OPENING","STREAMLOR_MASTER_CLOSING","STATS","SALES_SELLERS","SALES_CLIENTS","SALES_SPA_SERVICES","SALES_SPA_CARES","SALES_SPA_BOOKINGS","RESA_PARAMS","SMSER_GROUP_BY","SMSER_OPERATOR","SPA_PLANNINGS_START_HOUR","SPA_PLANNINGS_START_MIN","SPA_PLANNINGS_END_HOUR","SPA_PLANNINGS_END_MIN","PLANNING_START_HOUR","PLANNING_START_MIN","PLANNING_END_HOUR","PLANNING_END_MIN","BOOKING_MARGIN_MINUTES","NUMBER_OF_WEEK_VISIBLE","SLOT_VISIBILITY_UNLOCK_WEEKDAY","SLOT_VISIBILITY_UNLOCK_TIME","CANCELLING_DELAY","LIMIT_TIME_FOR_BOOKING","HOURS_BEFORE_IMMEDIATE_BOOKING","MAX_IMMEDIATE_BOOKINGS_BY_DAY","MAX_ACTIVE_BOOKINGS","SUBSCRIPTION_PASSING_DELAY_MINUTES","TIME_PASS_MIN_DEBIT","TIME_PASS_MIN_REMAINING","TIME_PASS_MIN_STOP","UNIQUE_DEBIT_PER_ZONE","BOOKING_CANCELLATION_DAYS_LIMIT","ANONYMIZE_DELAY","REQUIRE_COVID_PASS","DELAY_BETWEEN_RESERVATIONS","INTERVAL_BETWEEN_GATEWAY_LOOPS","USERCODE_LENGTH","ENABLE_LATE_EXIT_PENALTY","LATE_EXIT_DELAY","LATE_EXIT_BOOKING_TOLERANCE","ENABLE_SUB_EXPIRATION_BOOKING_CHECK","BOOKING_VALIDATES_ENTIRE_DAY","LOCKERS_LED","COVID_PASSING_DELAY_MINUTES","SMSER_AWAITING_RESPONSE_SPA_BOOKINGS","SPA_HUMAN_CONFIRMATION","SPA_SHOW_SHORT_LABEL","PLANNING_SHOW_FILLING","PAYPAL_ENABLED","PAYFIP_ENABLED","STATS_EXPORTS_EXCEL_DISPLAY_NO_DATA","LOCKERS_UNIQUE_MASTER_CODE","LOCKERS_BUZZER","LOCKERS_BLOCK_ON_FAILS","LOCKERS_AUTO_OPENING","LOCKERS_AUTO_CLOSING","LOCKERS_BLOCK_BUZZER","LOCKERS_BLOCK_BLOCK_ON_FAILS","LOCKERS_BLOCK_AUTO_OPENING","LOCKERS_BLOCK_AUTO_CLOSING","LOCKERS_DELAY_BETWEEN_RESERVATIONS","LOCKERS_BLOCK_OPENING_IF_LATE","LOCKERS_SCHEDULED_HISTORY_FETCH","SMSER_SENDER","SMSER_CUSTOM_MESSAGE_SPA_BOOKINGS","SMSER_ENDPOINT","SMSER_APPLICATION_KEY","SMSER_APPLICATION_SECRET","SMSER_CONSUMER_KEY","SMSER_SELECTED_SERVICE","MAILER_WEBSITE_NAME","MAILER_WEBSITE_LINK","MAILER_LOGO_URL","MAILER_FROM","MAILER_COPYRIGHT","MAIN_DEFAULT_MODULE","MAILER_CUSTOM_SPA_CREATE","MAILER_CUSTOM_SPA_MODIFY","MAILER_CUSTOM_SPA_DELETE","MAILER_CUSTOM_SPA_REMINDER","PAYPAL_LIVE_CLIENT_ID","PAYPAL_SANDBOX_CLIENT_ID","PAYPAL_LIVE_SECRET_ID","PAYPAL_SANDBOX_SECRET_ID","PAYPAL_MODE","PAYFIP_CLIENT_ID","PAYFIP_MODE","WEB_ESTABLISHMENT","LOCKERS_AUTO_OPENING_HOUR","PLANNING_DAYS","STATS_SEASON","STATS_PERFORMANCE_TRESHOLDS","LOCKERS_AUTO_OPENING_DAYS","EXTENDING_VALIDITY_DATE_FOR_SUBSCRIPTIONS","BOOKING_OPENING_DATE","BOOKING_TERMINAL_PLANNING_TYPE","MAILER_CUSTOM_ACTIVITIES_CONFIRM","MAILER_CUSTOM_ACTIVITIES_CANCEL","MAILER_CUSTOM_SALE_CONFIRMATION","MAILER_CUSTOM_SEND_ALL_DOCUMENTS","SPA_ABSENCES_AMOUNT_WARNING","QUOTATIONS_PAYMENT_TYPES_CREDIT_CARD","QUOTATIONS_PAYMENT_TYPES_BANK_TRANSFER","QUOTATIONS_PAYMENT_TYPES_DEFERRED","QUOTATIONS_EXPIRATION_DELAY","QUOTATIONS_SALES_EXPIRATION_DELAY","QUOTATIONS_VOUCHERS_EXPIRATION_DELAY","QUOTATIONS_MINIMUM_AMOUNT","EXIT_DELAY_BEFORE_PAY_LATER","EXIT_DELAY_AFTER_PAY_LATER","DENY_EMPTY_HOURLY_PASS_ON_EXIT","AUTO_POWEROFF_KIOSKS","EXIT_UPDELAY_BEFORE_PAY_LATER_WITH_SPA_BOOKING","DURATION_EXIT_AUTH_AFTER_TIMESLOT","SAGE_EMAIL","DEFAULT_OUT_TURNSTILE","GENERATE_SHEET_AFTER_SALE_CONFIRMED","BOOKING_CHECK_CODES","AUTHORIZED","TIME_PASSED","NO_VOUCHER","LEVEL_NOT_GOOD","BOOKING_CHECK_CODE_BOOKINGS_LIMIT_REACHED","INCOMPATIBLE_AGE","NOT_ENOUGH_QUANTITY","NOT_ENOUGH_UNITS","SUBSCRIPTION_EXPIRED","BOOKING_NOT_OPEN","MEDICERT_REQUIRED","PRODUCT_UNRECHARGEABLE","PERIODIC_SLOT_UNALLOWED","BOOKING_RESTRICTION_MODES","SLIDING","BLOCKING","GLOBAL","BOOKING_TERMINAL_PLANNING_TYPES","GROUPED_BY_ACTIVITY","MIXED_ACTIVITIES","PUDDLE","PAYMENT_RESULTS","SUCCESS","ABORTED","REFUSED","ERROR","PRINTER_PAPER_LEVELS","FULL","NEAR_END","EMPTY","FAMILIES_TYPES","CASHREGISTER","KIOSK","WEB","ACCESS_CONTROL","EXPORT","DAILY","QUOTATION","CARD_TYPES","QRCODE","WRISTBAND_QRCODE","QUOTATIONS","DRAFT","WAITING","WAITING_BO","VALIDATED","TO_PAY","PAID","PRICE_ORIGIN","PRICE_ORIGIN_DEFAULT","PRICE_ORIGIN_PRICING","PRICE_ORIGIN_DISCOUNT","PRICE_ORIGIN_MANUAL_PERCENT","PRICE_ORIGIN_MANUAL_PRICE","PRICE_ORIGIN_PRICING_DEGRESSIVE","PRICE_ORIGIN_PRORATA","FAKE_PRODUCT_UNITS","GUEST_ACCOUNT_LABEL","OFFERABLE_MODE","ALLOW","FORCE","TRANSFER_TYPE","TRANSFER","RECUPERATION","DISCOUNT_TYPES","PERCENT","PRICE","PRICE_BY_PRODUCT","OFFERED_PRODUCTS","DISCOUNT_CONDITION_TYPES","OR","AND","EQ_PRODUCTS_AMOUNT","GTE_PRODUCTS_AMOUNT","GTE_SALE_TOTAL","TPE_CONNEXION_MODE","WIRED","NETWORK","WALLEE","noReply","ACCESS_CONTROL_TYPE","ACCESS_CONTROL_OTHER","ACCESS_CONTROL_TURNSTILE_RFID","ACCESS_CONTROL_TURNSTILE_QR","ACCESS_CONTROL_DOOR_RFID","ACCESS_CONTROL_DOOR_QR","ACCESS_CONTROL_KIOSK_QR","ACCESS_CONTROL_PUSH_BUTTON","ACCESS_CONTROL_MOBILE","ACCESS_CONTROL_KIOSK_RFID","MAIL_STATUS","PAYMENTS_TYPES","PAYMENT_FLAVOUR_CASH","PAYMENT_FLAVOUR_CREDITCARD","PAYMENT_FLAVOUR_CHECK","PAYMENT_FLAVOUR_UNITS","PAYMENT_FLAVOUR_TRANSFER","PAYMENT_FLAVOUR_DEFERRED","PAYMENT_FLAVOUR_COUPON","PAYMENT_FLAVOUR_SAVINGS","PAYMENT_FLAVOUR_OTHER","PAYMENT_FLAVOUR_HOLIDAY_VOUCHER","PAYMENT_FLAVOUR_SPORTS_COUPON","PAYMENT_FLAVOUR_WEB","PAYMENT_FLAVOUR_DEFERRED_EXTERNAL","PAYMENT_FLAVOUR_OTHER_WITH_OVERPAID","PAYMENT_FLAVOUR_DISTANCE_SELLING","PAYMENT_FLAVOUR_MEAL_VOUCHER","PAYMENT_FLAVOUR_WEB_INSTALLMENTS","DEFAULT_QRCODE_ID","WRISTBAND_QRCODE_ID","TRACKING_TYPES","TRACKING_TYPE_SUBSCRIPTIONS","TRACKING_TYPE_PURCHASES","TRACKING_TYPE_PASSINGS","TRACKING_TYPE_QUANTITIES","TRACKING_TYPE_SPABOOKINGS","TRACKING_TYPE_BOOKINGS","TRACKING_TYPE_PERIODIC_BOOKINGS","SELLER_RIGHTS","RIGHT_PARAMS","RIGHT_SALES","RIGHT_CHANGE_TYPE_PAYMENT","RIGHT_CONSULT_PRODUCT","RIGHT_CREDIT_NOTE","RIGHT_CONSULT_SALES","RIGHT_CLIENT_PLUS","RIGHT_PRODUCT_PLUS","RIGHT_EXPORT","RIGHT_STATS","RIGHT_PRICING_FAMILY","RIGHT_KEYPAD","RIGHT_PERIOD","RIGHT_STAFF","RIGHT_PROFIL","RIGHT_GRAND_TOTAL","RIGHT_JET","RIGHT_CHANGE_PRICE_ON_LINE","RIGHT_PAYMENT_LATER","RIGHT_DISCOUNT","RIGHT_STOCK","RIGHT_PARAMS_SPE","RIGHT_CORRECTION","RIGHT_CHANGE_SALE_SELLER","RIGHT_LOCKERS","RIGHT_STOCK_TRANSFER","RIGHT_MANUAL_CREDIT","RIGHT_EDIT_SUB","RIGHT_REPRINT_SALE_ACCESS_CONTROL_VOUCHERS","clientsGender","x","clientsGenders","elem","getCards","el","AttributionDate","Subscriptions","clientHasCardType","clientHasCardTypeCompatibleForProduct","getSubscriptions","products","isArray","getClientSubscription","cli","subscriptionID","sub","clientHasValidSubscriptionWithProductID","productsMap","subscriptionHelper","isSubscriptionValid","clientHasRequiredLevelForSlot","Levels","ActivitiesLevels","l","ActivityID","LevelID","isClientLevelGoodForSlot","level","ActivityLevels","Required","currentPeriodID","pricingID","dateHelpers","Pricing","newPricing","currentClientPricingIndex","isToday","splice","formatDateAPI","Validity","addToDateTime","d","changeDateFormat","fIn","fOut","durationBetweenDates","d1","d2","formatDurationInSecondsHuman","formatDurationInMinutesHuman","abs","minutes","hours","inHours","min","Math","floor","seconds","formatDateUS","parsedDate","year","isDateFormatValid","formatDateTime","formatDateTimeFile","formatDateTimeSeconds","formatDateHuman","formatDateWeek","formatHumanBirthDate","formatDateTimeHuman","formatTime","formatTimeSecs","formatHourShort","formatWeekDay","formatWeekNumber","unit","add","prevDay","subtract","nextDay","prevWeek","nextWeek","nextMonth","isThisHour","hour","timeNow","dateNow","datetimeNow","isSameOrAfter","compareDate","isSame","compareDateDesc","getAge","getWeekdayLabel","dayNumber","locale","getGolangWeekday","isoWeekday","getWeekdayFromGolang","weekday","getWeekNumber","week","getMonthLabel","getMonthShortLabel","formatDay","getDateDay","day","getDateMonth","month","isZeroDate","isSameDay","getDateAtWeekdayAfter","dateRef","refDateWeekday","daysToAdd","getDateAtWeekdayBefore","daysToSub","currentDate","yesterday","previousWeekStart","startOf","previousWeekEnd","endOf","currentWeekStart","currentWeekEnd","previousMonthStart","previousMonthEnd","currentMonthStart","currentMonthEnd","currentYearStart","currentYearEnd","previousYearStart","previousYearEnd","startOfDay","endOfDay","requiredRule","isIntegerRule","isInteger","isPositiveRule","isPositive","isIntegerOrNullRule","isPositiveOrNullRule","isPositiveOrZeroRule","isPositiveOrZero","isNumericRule","isNumeric","isNumericOrNullRule","isGreatherThanRule","parseFloat","isGreatherOrEqualRule","decimals","isLessThanRule","isLessOrEqualRule","isEmailRule","isValidEmail","isEmailOrNullRule","defaultParams","autoPoweroffKiosks","spaPlanningsStartHour","spaPlanningsStartMin","spaPlanningsEndHour","spaPlanningsEndMin","spaHumanConfirmation","spaShowShortLabel","spaAbsencesAmountWarning","mainDefaultModule","bookingCancellationDaysLimit","paypalEnabled","paypalLiveClientId","paypalSandboxClientId","paypalLiveSecretId","paypalSandboxSecretId","paypalMode","payfipEnabled","payfipClientId","payfipMode","webEstablishment","mailerWebsiteName","mailerWebsiteLink","mailerLogoUrl","mailerFrom","mailerCopyright","mailerCustomSpaCreate","mailerCustomSpaModify","mailerCustomSpaDelete","mailerCustomSpaReminder","mailerCustomSaleConfirmation","smserSender","smserGroupBy","constants","smserCustomMessageSpaBookings","smserAwaitingResponseSpaBookings","smserOperator","smserEndpoint","smserApplicationKey","smserApplicationSecret","smserConsumerKey","smserSelectedService","planningStartHour","planningStartMin","planningEndHour","planningEndMin","planningDays","planningShowFilling","bookingOpeningDate","numberOfWeekVisible","slotVisibilityUnlockWeekday","slotVisibilityUnlockTime","cancellingDelay","limitTimeForBooking","extendingValidityDateForSubscriptions","hoursBeforeImmediateBooking","maxImmediateBookingsByDay","bookingsLimit","bookingsLimitNormalConstraint","bookingsLimitHighConstraint","bookingsLimitMode","bookingMarginMinutes","subscriptionPassingDelayMinutes","timePassMinDebit","timePassMinRemaining","timePassMinStop","uniqueDebitPerZone","requireCovidPass","covidPassingDelayMinutes","enableLateExitPenalty","denyEmptyHourlyPassOnExit","lateExitDelay","lateExitBookingTolerance","enableSubExpirationBookingCheck","bookingValidatesEntireDay","exitDelayBeforePayLater","exitDelayAfterPayLater","exitUpdelayBeforePayLaterWithSpaBooking","durationExitAuthAfterTimeslot","sageEmail","generateSheetAfterSaleConfirmed","statsExportsExcelDisplayNoData","statsSeason","start","end","statsPerformanceTresholds","first","second","third","lockersDelayBetweenReservations","lockersBlockOpeningIfLate","lockersScheduledHistoryFetch","lockersIntervalBetweenGatewayLoops","lockersUniqueMasterCode","lockersGlobalMasterCode","lockersBuzzer","lockersBlockOnFails","lockersAutoOpening","lockersAutoOpeningHour","lockersAutoOpeningDays","lockersAutoClosing","lockersLed","quotationsPaymentTypesCreditCard","quotationsPaymentTypesDeferred","quotationsPaymentTypesBankTransfer","quotationsExpirationDelay","quotationsSalesExpirationDelay","quotationsVouchersExpirationDelay","quotationsMinimumAmount","formatParams","formattedParams","formatParam","camelCaseName","$1","toUpperCase","Value","JSON","parse","formatGlobalParams","parseParams","parsedParams","toString","stringify","split","join","toLowerCase","subscription","productData","warn","Discontinued","Paused","SubscriptionLimitDate","SubscriptionStartDate","Quantity","isSubscriptionCompatibleFor","bookingSlot","activity","getClientCompatibleSubscriptions","subs","isSubscriptionValidFor","getCardsValidSubscriptionsFor","subscriptions","cardsHasValidSubscriptionFor","subscriptionQuantity","Offset","Sort","field","fieldIdx","groupBy","xs","reduce","rv","equals","Date","getTime","prototype","k","newUUID","crypto","getRandomValues","Uint8Array","dataURL","base64Data","mimeType","binaryData","atob","arrayBuffer","ArrayBuffer","uint8Array","charCodeAt","Blob","fileToBase64","Number","turnstilesTypes","passingTypes","passingDirections","turnstilesStates","accessControlEventTypes","ui","bookingStatuses","bookingRepeatStatuses","bookingSlotWebModes","bookingSlotRepeatPublicationStatuses","bookingCheckCodes","clientHelper","dateHelper","padZero","str","len","zeros","getColorForString","hash","lightOrDark","r","g","hsp","sqrt","invertColor","hex","HexToHSL","H","cmin","cmax","max","delta","round","changeColorLum","lum","rgb","pastelizeColor","HSLToHex","darkenizeColor","HexToRGBA","hexCode","opacity","turnstilesStateColor","parentState","turnstilesState","bookingStatusColor","bookings","bookingStatus","parseColor","createElement","rgba","body","appendChild","red","green","blue","alpha","style","getComputedStyle","parentNode","removeChild","colorsHelper","subscriptionTypeStr","subscriptionType","bookingStatusStr","bookingSourceStr","bookingSource","saleType","sale","turnstileTypeStr","turnstileType","turnstileDirectionStr","passingDirection","passingTypeStr","passingType","passingDirectionStr","accessControlEventTypeStr","accessControlEventType","createdSinceOptions","salesTypes","turnstilesTypeAvailablesForImmediateDebit","turnstilesDirections","subscriptionTypes","collectionLabels","cashbook","grandtotal","param","period","passings","booking_slot","textValues","bookingSourceIcon","bookingStatusIcon","turnstilesStateIcon","turnstileTypeIcons","getDisableActivities","activitiesId","disable","activityId","act","activityDuration","removeMarginBefore","removeMarginAfter","duration","Duration","MarginDurationBefore","MarginDurationAfter","activityEndMoment","spaBooking","Timestamp","RemoveMarginBefore","RemoveMarginAfter","spaHelper","templateTypes","selectedTemplateParam","templateType","lockersStates","lockersStatuses","lockersAccessModes","lockersBookingModes","detail","lockersIncidentsTypes","lockersBookingStates","lockersEventTypes","ledOptionsTypes","daysTypes","lockersState","lockersStatus","lockersAccessMode","lockersBookingMode","lockersIncidentType","lockersBookingState","lockersEventType","ledOptionsType","daysType","helpers","onlineModules","requiredPerm","hasLandingPage","bookingTerminalPlanningTypes","paramsHelper","getPaymentName","allPaymentType","paymentType","pt","getSaleProductsQuantity","quantity","Lines","line","getSaleLines","getSaleLine","forEachSaleLine","func","clientID","getSaleTotalByClient","clientId","lines","total","isProductInSale","inSale","cliID","getProductPriceForClient","clientPricingID","clientHelpers","productPricing","Price","getSaleDiscountCodes","clientLines","SpecialPrice","DiscountCodes","saleTypes","saleStates","discountConditionTypes","validityTypes","durationTypes","frequencies","frequenciesAlt","firstPurchaseModes","TURNSTILE_STATE_OFFLINE","TURNSTILE_STATE_READY","TURNSTILE_STATE_ERROR","turnstilesGroupTypes","ACCESS_CONTROL_EVENT_WRNG_LOOP_A_BROKEN","ACCESS_CONTROL_EVENT_WRNG_LOOP_B_BROKEN","turnstilesACBoxState","box","Turnstiles","turnstileGroupType","isPassingDateValid","mm","bookingRepeatStatus","bookingSlotWebMode","bookingSlotRepeatPublicationStatus","bookingCheckCode","civilite","sex","SALE_TYPE_AVOIR","SALE_TYPE_CORRECTION","valueDescription","useProductsIDs","validateValueRules","formsHelper","CreditNote","Correction","saleState","discountType","curencySymbol","discountTypes","prefix","formatValue","template","DiscountValue","iconColor","productOfferedAmount","UnchoosableProductsIDs","discountConditionType","durationType","subscriptionStatus","getTimeslots","createTimeslots","updateTimeslots","deleteTimeslot","getTimeslotGroup","getTimeslotsGroup","updateTimeslotGroup","GroupID","deleteTimeslotGroup","getTimeslotTemplates","createTimeslotTemplate","updateTimeslotTemplate","deleteTimeslotTemplate","postRefreshTimeslots","getScan","postScanFlash","getPenalties","recreditPenaltyPassing","updateZoneProfile","getZoneProfiles","deleteZoneProfile","addTurnstilesOnZoneProfile","profilID","getTurnstilesInZoneProfileByAreaID","getAccessControlLogs","getClientAccounts","postClientCreateAccount","postClientDisableAccount","patchClientOnlineUser","postClientEnableAccount","postClientPermissions","getTrainers","getSellers","updateAccountPassword","accountId","resetAccountPassword","getPermissionsProfiles","createPermissionsProfile","updatePermissionsProfile","getActivities","getPeriodicActivities","getActivity","getActivitiesFamilies","getLevels","getAreas","createArea","updateArea","getAreasAttendance","areas","AreaID","login","user","loginToken","token","getClientUnits","getClientAlerts","createClient","updateClient","upsertClientMandate","mandate","updateClientSubscriptions","deleteClient","mail","baseURL","Config","BaseURL","request","common","Authorization","response","global","cashRegisterIPC","emit","url","getTurnstiles","getPassings","sendTurnstilePassing","getPassingsExcel","responseType","postGroups","putGroups","Params","Data","deleteGroups","sendAccessControlGroupSignal","getLockerGateways","putLockerGateways","getLockers","getLocker","getUnassociatedLockers","putLocker","putLockerSettings","deleteLocker","changeAreaLockersState","changeBlockLockersState","changeLockersState","changeLockerState","changeLockersConfig","associateLocker","dissociateLocker","changeLockerPreparation","putLockersMastercode","getLockersTypes","getLockersType","postLockersType","putLockersType","deleteLockersType","getLockersBlocks","getLockersBlock","postLockersBlock","putLockersBlock","deleteLockersBlock","putLockersBlockSettings","getLockerBookings","getLockerBooking","putLockerBooking","getLockerBookingIncidents","bookingId","checkAttributedLockersAllOpened","newLockerBooking","stopLockerBooking","cancelLockerBooking","retryLockerAttribution","getLockersIncidents","putLockersIncidents","getLockersEvents","refreshHistory","putLockersGlobalSettings","getEstablishmentWithLockersStats","getEstablishmentsWithLockersStats","getEstablishmentsWithAffectableLockers","getAreaWithLockersStats","getAreasWithLockersStats","getAreasWithAffectableLockers","getBlockWithLockersStats","getBlocksWithLockersStats","getBlocksWithAffectableLockers","getModules","getParams","postParams","updateMailer","updateSMSer","getMailerPreview","previewType","getGlobalParams","postGlobalParams","getPeriods","getPricing","getPaymentType","getEstablishments","getEstablishment","postEstablishment","putEstablishment","getProducts","getProductsStats","getProductsByIDs","getPaginatedProducts","getFamilies","getProductsStockConsumption","pickFromStock","getFamiliesTreeWithProducts","putProduct","productUUID","postFamily","putFamily","familyUUID","getQuotation","quotationuuid","getPaginatedQuotations","getQuotations","postQuotation","putQuotation","deleteQuotation","getQuotationLine","lineuuid","getQuotationLines","postQuotationLine","putQuotationLine","deleteQuotationLine","getQuotationhHistory","getQuotationhHistories","getQuotationSale","getQuotationSales","postQuotationSale","putQuotationSale","saleuuid","getQuotationSaleBill","orderuuid","getQuotationExportPDF","getQuotationExportExcel","getQuotationsExportExcel","postQuotationSendMail","getQuotationPricing","pricinguuid","postQuotationPricing","putQuotationPricing","deleteQuotationPricing","getQuotationProduct","productuuid","getQuotationProducts","postQuotationProduct","putQuotationProduct","deleteQuotationProduct","initQuotationProducts","getQuotationProductsFamilie","familyuuid","getQuotationProductsFamilies","postQuotationProductsFamily","putQuotationProductsFamily","deleteQuotationProductsFamily","getQuotationProductsCatalogue","catalogueuuid","postQuotationProductsCatalogue","putQuotationCatalogue","deleteQuotationCatalogue","getQuotationClient","clientuuid","getQuotationClients","postQuotationClient","putQuotationClient","deleteQuotationClient","getQuotationClientProductsAndFamilies","getQuotationSalesRepresentative","postQuotationSalesRepresentative","putQuotationSalesRepresentative","deleteQuotationSalesRepresentative","getSpaUniverses","getSpaUniverse","createSpaUniverse","updateSpaUniverse","getSpaWebAvailabilitiesModels","getSpaWebAvailabilitiesModel","postSpaWebAvailabilitiesModel","putSpaWebAvailabilitiesModel","getSpaUniverseWebAvailabilities","universeUUID","postSpaUniverseWebAvailabilities","putSpaUniverseWebAvailabilities","webAvailabilityUUID","deleteSpaUniverseWebAvailabilities","deleteSpaUniverseWebAvailabilitie","getSpaResources","getSpaResource","createSpaResource","updateSpaResource","updateSpaResourceActivities","getSpaPersonnels","getSpaPersonnel","createSpaPersonnel","updateSpaPersonnel","updateSpaPersonnelActivities","getSpaPersonnelsUnavailabilities","createSpaPersonnelUnavailability","updateSpaPersonnelUnavailability","deleteSpaPersonnelUnavailability","deleteSpaPersonnelUnavailabilityMass","getSpaUnavailabilitiesModels","createSpaUnavailabilityModel","updateSpaUnavailabilityModel","deleteSpaUnavailabilityModel","createSpaApplyUnavailabilityModel","getSpaActivities","getSpaActivity","createSpaActivity","updateSpaActivity","getSpaActivityFamilies","createSpaActivityFamily","updateSpaActivityFamily","deleteSpaActivityFamily","getSpaProduct","createSpaProduct","updateSpaProduct","getSpaBookings","getPaginatedSpaBookings","updateSpaBooking","sendSpaBookingNotification","getClientsWithUnplacedSpaBookings","createSpaSale","getSpaPendingSales","getSpaPendingProducts","enableSpaPendingSale","deleteSpaSale","syncAllStats","deleteAllStats","resetAllStats","refreshAllStats","getSyncAllStatsTimetables","getNewSyncAllStatsTimetables","getSyncAllStatsTimetablesFormatted","getPredictionsPassings","getStatsDashboardLayouts","upsertStatsDashboardLayout","getStatsResaYearsWithData","getStatsResaFirstYearWithData","getStatsResaLastYearWithData","getStatsPassingsFrequentations","getStatsPassingsPlannings","getStatsPassingsByProductTypeExcelGlobal","getStatsPassingsByProductExcelGlobal","getStatsPassingsByActivityExcelGlobal","postStatsPassingsExcelClientsDataTable","getStatsSalesPeriodicReport","getSoldProductsPeriodicReport","getStatsSpaResourcesOccupationRates","getStatsSpaPersonnelsOccupationRates","selectSavedFiltersResaNames","selectSavedFiltersResa","insertSavedFilterResa","updateSavedFilterResa","deleteSavedFilterResa","getStatsResaFrequentationsParActivite","getStatsResaDescriptivesProportionsTypesResa","getStatsResaDescriptivesActivitiesData","getStatsResaDescriptivesClientsAge","getBookingsSlotsDetailled","getBookingsSlotsCount","getTrainersDetailled","getStatsResaPlanningsCRByDateRange","getTemplates","getTemplate","createTemplate","updateTemplate","getTemplatePreview","getDynamicValues","getVouchers","options","getPaginatedVouchers","getGiftVouchersExcel","downloadVoucher","updateVoucher","massPushVouchers","postSheets","putSheet","getSheets","getPaginatedSheets","getSheet","getSheetsPdf","postSheetsPdfPreview","getSheetsExcel","getSheetsInvoice","postVoucherSale","getWeekTypes","putWeekType","postWeekType","deleteWeekType","process","VUE_APP_API_HOST","origin","WSURL","_process$env$VUE_APP_","eventbus","formatDateCustom","layout","getDiff","unitOfTime","parsedDate1","parsedDate2","getWeekDayName","capitalize","charAt","getWeekDayNumber","dateBetween","isBetween","getEstablishmentFromID","establishmentID","establishment","establishments","getEstablishmentAreas","EstablishmentID","getAreaFromID","areaID","area","getProductByID","defaultRoutes","cashregister","nextRoute","DefaultModule","webviewData","wvGetData","wvEmit","channel","args","wvEmitPromise","emitPromise","wvClose","wvAuthError","wvLoggedIn","wvResumeSale","saleId","SaleID","wvRemoveSaleLine","saleLineID","unreadAmount","wvPeriodicBookingSaved","periodicBookingID","WSFrameTypeKeepAlive","WSFrameTypeError","WSFrameTypeSubscribe","WSFrameTypeNotify","WSFrameTypeRequestAuth","WSFrameTypeResponseAuth","WSFrameTypeUpdateTurnstile","WSFrameTypeUnsubscribe","wsState","Authenticated","onmessage","_ws_OnMessage","_ws_Unregister","json","ws_cb_onError","_ws_sendWithRetry","skipRetry","sendObj","ws_Subscribe","ws_Unsubscribe","callbacks","getSubscribersFor","$off","ws_UpdateTurnstile","turnstile","path","redirect","children","new","hasRights","rights","Permissions","isAuthenticated","setForbidden","checkRights","allowed","Router","mode","base","routes","AuthRoutes","PlanningRoutes","TurnstilesRoutes","ClientsRoutes","QuotationRoutes","SpaRoutes","StatsRoutes","BusinessRoutes","LockersRoutes","ActivitiesRoutes","SetupRoutes","CashregisterWebviewsRoutes","KiosksRoutes","beforeEach","to","next","nearestWithTitle","reverse","initialState","auth","tsBoxes","weekTypes","accessTimeslots","accessTimeslotsLoading","navigation_drawer_permanent","forbidden","authStatus","rightName","rightNames","getProductLabel","getProductLabelShort","LabelShort","families","familiesById","familiesTree","recurseGetParents","fam","Subfamilies","FullPathLabel","navigationDrawerState","actions","Result","userInfo","User","DimsBackofficeURL","VcrURL","autologin","ApiCtm","IsSubscription","ApiAreas","found","main","ApiWeekTypes","getAccessTimeslots","ApiAccessControl","mutations","reset_main","initial","auth_request","set_auth_status","auth_success","auth_error","set_auth_permissions","perms","set_forbidden","set_turnstiles_boxes","set_products","set_families","set_areas","set_weekTypes","set_accessTimeslots","set_accessTimeslotsLoading","indoorpos","paramsMixin","globalParams","periods","selectedEstablishments","StartDate","EndDate","establishmentsById","season","currencySymbol","DefaultValue","ApiParams","getSelectAllEstablishments","reset_params","set_modules","set_params","set_formatted_params","set_global_params","set_periods","set_pricing","set_paymentType","set_establishments","upsert_establishment","set_selectedEstablishments","enabledEstablishments","add_selectedEstablishments","preSelectFilterSelectedName","conditionsSatisfied","toggle_multiple","second_toggle_multiple","selectedActivities","selectedFamilies","saison","second_saison","saison_picker_checkbox","date_picker_checkbox","du_annee","du_mois","du_jour","au_annee","au_mois","au_jour","du_menu","du_picker","toISOString","au_menu","au_picker","second_date_range_checkbox","second_du_annee","second_du_mois","second_du_jour","second_au_annee","second_au_mois","second_au_jour","second_du_menu","second_du_picker","second_au_menu","second_au_picker","annee","mois","jour","second_annee","second_mois","second_jour","picker","picker_diplay","menu","second_year","second_month","second_day","second_picker","second_picker_diplay","second_menu","statsFilterResaBilansPeriodiques","reset_stats_resa_bilans_periodiques","getStatsActuDateBtnJour","monthsList","resa","bilansperiodiques","getStatsActuDateBtnMois","getStatsActuDateBtnAnnee","getStatsActuDateBtnValidate","getStatsSecondActuDateBtnJour","getStatsSecondActuDateBtnMois","getStatsSecondActuDateBtnAnnee","getStatsSecondActuDateBtnValidate","getStatsActuDateRange","getStatsActuDate","set_statPreSelectFilterSelectedName","set_statsSaisonPickerCheckbox","set_statsDatePickerCheckbox","set_statsSecondDateRangeCheckbox","set_statsSaison","set_statsSecondSaison","set_statsDuAnnee","set_statsDuMois","set_statsDuJour","set_statsSecondDuAnnee","set_statsSecondDuMois","set_statsSecondDuJour","set_statsAuAnnee","set_statsAuMois","set_statsAuJour","set_statsSecondAuAnnee","set_statsSecondAuMois","set_statsSecondAuJour","set_statsDuPicker","set_statsAuPicker","set_statsSecondDuPicker","set_statsSecondAuPicker","set_statsAnnee","set_statsMois","set_statsJour","set_statsSecondAnnee","set_statsSecondMois","set_statsSecondJour","set_statsPicker","set_statsSecondPicker","set_statsPickerDisplay","picker_display","set_statsSecondPickerDisplay","second_picker_display","date_mode_choisi","date_mode_annee_value","date_mode_mois_value","date_mode_semaine_value","date_mode_jour_value","date_mode_saison_value","mode_saison_annee","mode_annee_du_annee","mode_annee_au_annee","mode_mois_du_annee","mode_mois_au_annee","mode_mois_du_mois","mode_mois_au_mois","mode_semaine_du_annee","mode_semaine_au_annee","mode_semaine_du_semaine","mode_semaine_au_semaine","selected_animateurs","selected_horaires","selected_activites","selected_articles","statsFilterResaFrequentations","reset_stats_resa_frequentations","getStatsSelectAllTrainers","animateurs","anim","getStatsSelectAllTimetables","horaires","horaire","getStatsSelectAllActivities","activites","activite","getStatsSelectAllProducts","articles","article","set_date_mode_choisi","planning_second_au_annee","set_date_mode_annee_value","set_date_mode_mois_value","set_date_mode_semaine_value","set_date_mode_jour_value","set_date_mode_saison_value","set_mode_saison_annee","set_mode_annee_du_annee","set_mode_annee_au_annee","set_mode_mois_du_annee","set_mode_mois_au_annee","set_mode_mois_du_mois","set_mode_mois_au_mois","set_mode_semaine_du_annee","set_mode_semaine_au_annee","set_mode_semaine_du_semaine","set_mode_semaine_au_semaine","set_selected_animateurs","add_selected_animateurs","set_selected_horaires","add_selected_horaires","set_selected_activites","add_selected_activites","set_selected_articles","add_selected_articles","planning_selectedColorsForEventsPerformances","planning_selectedColorsForEventsEvolutions","planning_selectedActivities","planning_selectedFamilies","planning_threshold_one","planning_threshold_two","planning_threshold_three","planning_timeModeSelected","planning_saisonChoisie","planning_second_saisonChoisie","planning_anneeChoisissables","planning_anneeChoisie","planning_second_anneeChoisie","planning_moisChoisi","planning_second_moisChoisi","planning_du_annee","planning_du_mois","planning_du_jour","planning_au_annee","planning_au_mois","planning_au_jour","planning_du_menu","planning_du_picker","planning_au_menu","planning_au_picker","planning_second_du_annee","planning_second_du_mois","planning_second_du_jour","planning_second_au_mois","planning_second_au_jour","planning_second_du_menu","planning_second_du_picker","planning_second_au_menu","planning_second_au_picker","statsFilterResaPlannings","reset_stats_resa_plannings","getStatsActuDateRangePlanningCR","plannings","set_planning_selectedColorsForEventsPerformances","add_planning_selectedColorsForEventsPerformances","set_planning_selectedColorsForEventsEvolutions","add_planning_selectedColorsForEventsEvolutions","set_planning_selectedActivities","add_planning_selectedActivities","set_planning_selectedFamilies","planning_selectedEvolutionsForEvents","add_planning_selectedFamilies","set_planning_threshold_one","set_planning_threshold_two","set_planning_threshold_three","set_anneeChoisissables","add_anneeChoisissables","set_statsPlanningCRTimeModeSelected","set_saisonChoisie","set_second_saisonChoisie","set_anneeChoisie","set_moisChoisi","set_second_anneeChoisie","set_second_moisChoisi","set_statsPlanningCRDuAnnee","set_statsPlanningCRDuMois","set_statsPlanningCRDuJour","set_statsPlanningCRSecondDuAnnee","set_statsPlanningCRSecondDuMois","set_statsPlanningCRSecondDuJour","set_statsPlanningCRAuAnnee","set_statsPlanningCRAuMois","set_statsPlanningCRAuJour","set_statsPlanningCRSecondAuAnnee","set_statsPlanningCRSecondAuMois","set_statsPlanningCRSecondAuJour","set_statsPlanningCRDuPicker","set_statsPlanningCRAuPicker","set_statsPlanningCRSecondDuPicker","set_statsPlanningCRSecondAuPicker","selectedTimeScale","SC","TimeScales","SEASON","selectedStepMode","StepModes","timeScaleBegin","timeScaleEnd","selectedSeason","selectedActivitiesFamilies","selectedActivity","recursiveProductsFamilies","selectedProductsFamilies","selectedProducts","selectedClients","selectedSellers","selectedTurnstiles","selectedUniverses","selectedPersonnels","annees_choisissables","familles","colorVeryBad","colorBad","colorGood","colorVeryGood","colorVeryLow","colorLow","colorHigh","colorVeryHigh","colorNone","colorBetter","colorWorst","colorSame","frequentations","statsFilterResa","reset_stats_resa","checkIfYearsWithDataAreLoaded","StatsApi","Res","checkIfYearsWithDataAreLoadedNP","checkIfFirstYearWithDataIsLoaded","checkIfLastYearWithDataIsLoaded","mode_semain_au_annee","getStatsLoadTrainers","AccountsApi","tmp","y","getStatsLoadActivities","ActivitiesApi","getStatsLoadFamilies","getStatsLoadProducts","ProductsApi","set_selectedTimeScale","set_selectedStepMode","set_timeScaleBegin","set_timeScaleEnd","set_selectedSeason","set_selectedActivity","set_selectedActivities","set_selectedClients","add_selectedClients","set_recursiveProductsFamilies","set_selectedProductsFamilies","add_selectedProductsFamilies","set_selectedProducts","add_selectedProducts","set_selectedSellers","set_selectedUniverses","set_selectedPersonnels","set_selectedTurnstiles","add_selectedTurnstiles","set_annees_choisissables","add_annees_choisissables","set_animateurs","add_animateurs","set_horaires","add_horaires","set_activites","add_activites","set_familles","add_familles","set_articles","add_articles","setup","navigationDrawer","miniState","prefenreceMiniState","reset_stats","locationsZoneTree","selectedZoneTreeLocation","set_locations_zone_tree","tree","set_selected_zone_tree_location","universes","universe","personnels","resources","spaParams","spaColumnsShortLabel","spaGoBackToday","firstInterval","intervalCount","allowedHours","dayDuration","unavailabilitiesReasons","unavailabilitiesColors","planningDate","planningPersonnels","planningResources","showPersonnels","showResources","intervalMinutes","intervalHeight","_state$activities$sta","activitiesById","_state$activities$sta2","_state$spaProducts$st","spaProductsById","_state$spaProducts$st2","_state$personnels$sta","personnelsById","_state$personnels$sta2","_state$resources$stat","resourcesById","_state$resources$stat2","_state$planningDate$s","_state$planningPerson","_state$planningResour","_state$showPersonnels","_state$showResources$","_state$intervalMinute","_state$intervalHeight","getUniverses","u","_universes$find","uIdx","_res$data2","_res$data3","getPersonnels","_res$data4","getResources","_res$data5","reset_spa","set_universes","set_universe","startTime","plannings_start_time","endTime","plannings_end_time","minute","human_confirmation","show_short_label","columns_short_label","go_back_today","spaSmallCalendarIntervalWidth","small_calendar_interval_width","spaWebAllowedTimetables","web_allowed_timetables","unavailabilities_reasons","unavailabilities_colors","set_activities","set_spa_products","set_personnels","set_resources","set_planning_date","set_planning_personnels","set_planning_resources","set_show_personnels","set_show_resources","set_interval_minutes","set_interval_height","planningActivities","planningActivityFamilies","trainers","levels","getPlanningActivities","getPlanningActivityFamilies","train","set_activity_families","set_trainers","set_levels","subscribers","resetSubscribers","subscribeTo","unsubscribeFrom","reset_ws","reset_subscribers","subscribe","unsubscribe","getDefault","dynamicValues","iterableContext","Area","Width","Height","PageBreakHeight","HeaderHeight","FooterHeight","Background","StoredFileName","OriginalFileName","DateCreated","BackgroundCover","Holders","Editable","focusedHolder","focusedBlock","zoom","resetTemplate","setDynamicValues","setTemplate","updateTemplateArea","addHolder","holder","updateHolder","update","unfocus","setIterableContext","focusBlock","block","focusHolder","holderID","deleteFocusedHolder","focusedHolderIndex","zoomIn","zoomOut","loadDynamicValues","TemplatesApi","loadTemplate","upsertTemplate","getPreview","createObjectURL","link","templateDynamicValues","entry","inIterable","IterableAvailability","inSingle","SingleAvailability","contextDynamicValues","_getters$dynamicValue","available","MainBlock","BlockType","existIterableDynamicValues","getHolderByID","namespaced","gateways","lockerTypes","locationsTree","selectedTreeLocation","establishmentsWithLockersStats","areasWithLockersStats","blocksWithLockersStats","reset_lockers","set_gateways","update_gateways","gateway","updatedGatewayIndex","gtw","set_lockerTypes","types","reset_locker_incidents","new_locker_incident","set_establishments_with_lockers_stats","update_establishment_with_lockers_stats","updatedEstablishmentIndex","set_areas_with_lockers_stats","update_area_with_lockers_stats","updatedAreakIndex","set_blocks_with_lockers_stats","blocks","update_block_with_lockers_stats","updatedBlockIndex","set_locations_tree","set_selected_tree_location","getGateways","LockersApi","onGatewayUpdate","onLockerUpdate","locker","getLockerTypes","onLockerIncidentsViewed","loadLocationsStats","updateLocationsStats","blockID","concurrentLoad","all","Vuex","plugins","createPersistedState","reducer","reduced","rehydrated","ws","turnstiles","resetAll","DAY","WEEK","MONTH","CUSTOM","TimeScalesLabels","TimeScalesValues","YEAR","BY_YEAR","BY_MONTH","BY_WEEK","BY_SEASON","BY_HOUR","StepModesLabels","StepModesValues","DateModeChosen","DateModeStep","PassingsOptions","TYPES","TrainersOptions","COUNT_BOOKINGS_SLOTS","COUNT_BOOKINGS","COUNT_BOOKINGS_SLOTS_WITHOUT_ACCOUNT","COUNT_PARTICIPATIONS","RATE_BOOKINGS_PER_PLACES_ON_SALES","RATE_PARTICIPATIONS_PER_PLACES_ON_SALES","RATE_PARTICIPATIONS_PER_BOOKINGS","COUNT_WORKING_HOUR","COUNT_WORKING_MINUTE","TimeScalesKP","StepModesKP","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","n","getter","__esModule","definition","defineProperty","enumerable","f","chunkId","promises","miniCssF","globalThis","hmd","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","done","script","needAttach","scripts","getElementsByTagName","charset","nc","onScriptComplete","prev","clearTimeout","doneFns","bind","head","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","insertBefore","nextSibling","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}