{"version":3,"file":"js/app.e8e0b2e2.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\": 80476,\n\t\"./af.js\": 80476,\n\t\"./ar\": 77413,\n\t\"./ar-dz\": 42050,\n\t\"./ar-dz.js\": 42050,\n\t\"./ar-kw\": 57862,\n\t\"./ar-kw.js\": 57862,\n\t\"./ar-ly\": 6829,\n\t\"./ar-ly.js\": 6829,\n\t\"./ar-ma\": 60317,\n\t\"./ar-ma.js\": 60317,\n\t\"./ar-sa\": 68245,\n\t\"./ar-sa.js\": 68245,\n\t\"./ar-tn\": 81469,\n\t\"./ar-tn.js\": 81469,\n\t\"./ar.js\": 77413,\n\t\"./az\": 62091,\n\t\"./az.js\": 62091,\n\t\"./be\": 22493,\n\t\"./be.js\": 22493,\n\t\"./bg\": 46594,\n\t\"./bg.js\": 46594,\n\t\"./bm\": 9354,\n\t\"./bm.js\": 9354,\n\t\"./bn\": 39383,\n\t\"./bn-bd\": 83151,\n\t\"./bn-bd.js\": 83151,\n\t\"./bn.js\": 39383,\n\t\"./bo\": 20323,\n\t\"./bo.js\": 20323,\n\t\"./br\": 61786,\n\t\"./br.js\": 61786,\n\t\"./bs\": 91774,\n\t\"./bs.js\": 91774,\n\t\"./ca\": 89496,\n\t\"./ca.js\": 89496,\n\t\"./cs\": 47017,\n\t\"./cs.js\": 47017,\n\t\"./cv\": 40896,\n\t\"./cv.js\": 40896,\n\t\"./cy\": 33803,\n\t\"./cy.js\": 33803,\n\t\"./da\": 9087,\n\t\"./da.js\": 9087,\n\t\"./de\": 54823,\n\t\"./de-at\": 45169,\n\t\"./de-at.js\": 45169,\n\t\"./de-ch\": 86945,\n\t\"./de-ch.js\": 86945,\n\t\"./de.js\": 54823,\n\t\"./dv\": 98061,\n\t\"./dv.js\": 98061,\n\t\"./el\": 24653,\n\t\"./el.js\": 24653,\n\t\"./en-au\": 8291,\n\t\"./en-au.js\": 8291,\n\t\"./en-ca\": 62304,\n\t\"./en-ca.js\": 62304,\n\t\"./en-gb\": 45384,\n\t\"./en-gb.js\": 45384,\n\t\"./en-ie\": 30510,\n\t\"./en-ie.js\": 30510,\n\t\"./en-il\": 44605,\n\t\"./en-il.js\": 44605,\n\t\"./en-in\": 36692,\n\t\"./en-in.js\": 36692,\n\t\"./en-nz\": 23374,\n\t\"./en-nz.js\": 23374,\n\t\"./en-sg\": 83158,\n\t\"./en-sg.js\": 83158,\n\t\"./eo\": 10802,\n\t\"./eo.js\": 10802,\n\t\"./es\": 12705,\n\t\"./es-do\": 2703,\n\t\"./es-do.js\": 2703,\n\t\"./es-mx\": 79329,\n\t\"./es-mx.js\": 79329,\n\t\"./es-us\": 8307,\n\t\"./es-us.js\": 8307,\n\t\"./es.js\": 12705,\n\t\"./et\": 45788,\n\t\"./et.js\": 45788,\n\t\"./eu\": 17596,\n\t\"./eu.js\": 17596,\n\t\"./fa\": 20826,\n\t\"./fa.js\": 20826,\n\t\"./fi\": 2351,\n\t\"./fi.js\": 2351,\n\t\"./fil\": 88515,\n\t\"./fil.js\": 88515,\n\t\"./fo\": 67442,\n\t\"./fo.js\": 67442,\n\t\"./fr\": 60472,\n\t\"./fr-ca\": 91865,\n\t\"./fr-ca.js\": 91865,\n\t\"./fr-ch\": 8087,\n\t\"./fr-ch.js\": 8087,\n\t\"./fr.js\": 60472,\n\t\"./fy\": 60656,\n\t\"./fy.js\": 60656,\n\t\"./ga\": 57583,\n\t\"./ga.js\": 57583,\n\t\"./gd\": 60927,\n\t\"./gd.js\": 60927,\n\t\"./gl\": 88716,\n\t\"./gl.js\": 88716,\n\t\"./gom-deva\": 62566,\n\t\"./gom-deva.js\": 62566,\n\t\"./gom-latn\": 44614,\n\t\"./gom-latn.js\": 44614,\n\t\"./gu\": 22823,\n\t\"./gu.js\": 22823,\n\t\"./he\": 203,\n\t\"./he.js\": 203,\n\t\"./hi\": 85,\n\t\"./hi.js\": 85,\n\t\"./hr\": 34342,\n\t\"./hr.js\": 34342,\n\t\"./hu\": 78334,\n\t\"./hu.js\": 78334,\n\t\"./hy-am\": 69496,\n\t\"./hy-am.js\": 69496,\n\t\"./id\": 52987,\n\t\"./id.js\": 52987,\n\t\"./is\": 87793,\n\t\"./is.js\": 87793,\n\t\"./it\": 79533,\n\t\"./it-ch\": 86831,\n\t\"./it-ch.js\": 86831,\n\t\"./it.js\": 79533,\n\t\"./ja\": 79006,\n\t\"./ja.js\": 79006,\n\t\"./jv\": 35090,\n\t\"./jv.js\": 35090,\n\t\"./ka\": 78077,\n\t\"./ka.js\": 78077,\n\t\"./kk\": 66125,\n\t\"./kk.js\": 66125,\n\t\"./km\": 79189,\n\t\"./km.js\": 79189,\n\t\"./kn\": 11464,\n\t\"./kn.js\": 11464,\n\t\"./ko\": 20602,\n\t\"./ko.js\": 20602,\n\t\"./ku\": 20132,\n\t\"./ku.js\": 20132,\n\t\"./ky\": 97330,\n\t\"./ky.js\": 97330,\n\t\"./lb\": 38450,\n\t\"./lb.js\": 38450,\n\t\"./lo\": 74361,\n\t\"./lo.js\": 74361,\n\t\"./lt\": 88312,\n\t\"./lt.js\": 88312,\n\t\"./lv\": 64167,\n\t\"./lv.js\": 64167,\n\t\"./me\": 69661,\n\t\"./me.js\": 69661,\n\t\"./mi\": 50860,\n\t\"./mi.js\": 50860,\n\t\"./mk\": 46663,\n\t\"./mk.js\": 46663,\n\t\"./ml\": 99434,\n\t\"./ml.js\": 99434,\n\t\"./mn\": 28804,\n\t\"./mn.js\": 28804,\n\t\"./mr\": 75565,\n\t\"./mr.js\": 75565,\n\t\"./ms\": 6427,\n\t\"./ms-my\": 66753,\n\t\"./ms-my.js\": 66753,\n\t\"./ms.js\": 6427,\n\t\"./mt\": 85292,\n\t\"./mt.js\": 85292,\n\t\"./my\": 12188,\n\t\"./my.js\": 12188,\n\t\"./nb\": 45727,\n\t\"./nb.js\": 45727,\n\t\"./ne\": 96647,\n\t\"./ne.js\": 96647,\n\t\"./nl\": 20592,\n\t\"./nl-be\": 23523,\n\t\"./nl-be.js\": 23523,\n\t\"./nl.js\": 20592,\n\t\"./nn\": 56634,\n\t\"./nn.js\": 56634,\n\t\"./oc-lnc\": 37995,\n\t\"./oc-lnc.js\": 37995,\n\t\"./pa-in\": 44265,\n\t\"./pa-in.js\": 44265,\n\t\"./pl\": 5066,\n\t\"./pl.js\": 5066,\n\t\"./pt\": 21165,\n\t\"./pt-br\": 68655,\n\t\"./pt-br.js\": 68655,\n\t\"./pt.js\": 21165,\n\t\"./ro\": 54301,\n\t\"./ro.js\": 54301,\n\t\"./ru\": 95211,\n\t\"./ru.js\": 95211,\n\t\"./sd\": 21097,\n\t\"./sd.js\": 21097,\n\t\"./se\": 87493,\n\t\"./se.js\": 87493,\n\t\"./si\": 58341,\n\t\"./si.js\": 58341,\n\t\"./sk\": 74786,\n\t\"./sk.js\": 74786,\n\t\"./sl\": 12034,\n\t\"./sl.js\": 12034,\n\t\"./sq\": 12504,\n\t\"./sq.js\": 12504,\n\t\"./sr\": 71298,\n\t\"./sr-cyrl\": 44833,\n\t\"./sr-cyrl.js\": 44833,\n\t\"./sr.js\": 71298,\n\t\"./ss\": 33099,\n\t\"./ss.js\": 33099,\n\t\"./sv\": 9857,\n\t\"./sv.js\": 9857,\n\t\"./sw\": 66217,\n\t\"./sw.js\": 66217,\n\t\"./ta\": 39076,\n\t\"./ta.js\": 39076,\n\t\"./te\": 32246,\n\t\"./te.js\": 32246,\n\t\"./tet\": 38754,\n\t\"./tet.js\": 38754,\n\t\"./tg\": 37499,\n\t\"./tg.js\": 37499,\n\t\"./th\": 13090,\n\t\"./th.js\": 13090,\n\t\"./tk\": 56496,\n\t\"./tk.js\": 56496,\n\t\"./tl-ph\": 84674,\n\t\"./tl-ph.js\": 84674,\n\t\"./tlh\": 99133,\n\t\"./tlh.js\": 99133,\n\t\"./tr\": 85348,\n\t\"./tr.js\": 85348,\n\t\"./tzl\": 38864,\n\t\"./tzl.js\": 38864,\n\t\"./tzm\": 35691,\n\t\"./tzm-latn\": 37882,\n\t\"./tzm-latn.js\": 37882,\n\t\"./tzm.js\": 35691,\n\t\"./ug-cn\": 30685,\n\t\"./ug-cn.js\": 30685,\n\t\"./uk\": 52440,\n\t\"./uk.js\": 52440,\n\t\"./ur\": 44411,\n\t\"./ur.js\": 44411,\n\t\"./uz\": 2517,\n\t\"./uz-latn\": 28535,\n\t\"./uz-latn.js\": 28535,\n\t\"./uz.js\": 2517,\n\t\"./vi\": 76173,\n\t\"./vi.js\": 76173,\n\t\"./x-pseudo\": 37999,\n\t\"./x-pseudo.js\": 37999,\n\t\"./yo\": 14066,\n\t\"./yo.js\": 14066,\n\t\"./zh-cn\": 32051,\n\t\"./zh-cn.js\": 32051,\n\t\"./zh-hk\": 12493,\n\t\"./zh-hk.js\": 12493,\n\t\"./zh-mo\": 94629,\n\t\"./zh-mo.js\": 94629,\n\t\"./zh-tw\": 37525,\n\t\"./zh-tw.js\": 37525\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 = 79133;","var map = {\n\t\"./af\": 36721,\n\t\"./af.js\": 36721,\n\t\"./ar\": 61869,\n\t\"./ar-dz\": 91575,\n\t\"./ar-dz.js\": 91575,\n\t\"./ar-kw\": 47165,\n\t\"./ar-kw.js\": 47165,\n\t\"./ar-ly\": 43509,\n\t\"./ar-ly.js\": 43509,\n\t\"./ar-ma\": 56104,\n\t\"./ar-ma.js\": 56104,\n\t\"./ar-sa\": 66499,\n\t\"./ar-sa.js\": 66499,\n\t\"./ar-tn\": 3887,\n\t\"./ar-tn.js\": 3887,\n\t\"./ar.js\": 61869,\n\t\"./az\": 73929,\n\t\"./az.js\": 73929,\n\t\"./be\": 85668,\n\t\"./be.js\": 85668,\n\t\"./bg\": 84645,\n\t\"./bg.js\": 84645,\n\t\"./bm\": 32959,\n\t\"./bm.js\": 32959,\n\t\"./bn\": 15275,\n\t\"./bn-bd\": 80806,\n\t\"./bn-bd.js\": 80806,\n\t\"./bn.js\": 15275,\n\t\"./bo\": 52991,\n\t\"./bo.js\": 52991,\n\t\"./br\": 36893,\n\t\"./br.js\": 36893,\n\t\"./bs\": 54090,\n\t\"./bs.js\": 54090,\n\t\"./ca\": 24356,\n\t\"./ca.js\": 24356,\n\t\"./cs\": 68111,\n\t\"./cs.js\": 68111,\n\t\"./cv\": 51855,\n\t\"./cv.js\": 51855,\n\t\"./cy\": 37925,\n\t\"./cy.js\": 37925,\n\t\"./da\": 95840,\n\t\"./da.js\": 95840,\n\t\"./de\": 34956,\n\t\"./de-at\": 43478,\n\t\"./de-at.js\": 43478,\n\t\"./de-ch\": 65907,\n\t\"./de-ch.js\": 65907,\n\t\"./de.js\": 34956,\n\t\"./dv\": 37401,\n\t\"./dv.js\": 37401,\n\t\"./el\": 93580,\n\t\"./el.js\": 93580,\n\t\"./en-au\": 29382,\n\t\"./en-au.js\": 29382,\n\t\"./en-ca\": 25966,\n\t\"./en-ca.js\": 25966,\n\t\"./en-gb\": 76441,\n\t\"./en-gb.js\": 76441,\n\t\"./en-ie\": 55173,\n\t\"./en-ie.js\": 55173,\n\t\"./en-il\": 74392,\n\t\"./en-il.js\": 74392,\n\t\"./en-in\": 50803,\n\t\"./en-in.js\": 50803,\n\t\"./en-nz\": 23966,\n\t\"./en-nz.js\": 23966,\n\t\"./en-sg\": 48259,\n\t\"./en-sg.js\": 48259,\n\t\"./eo\": 46995,\n\t\"./eo.js\": 46995,\n\t\"./es\": 76464,\n\t\"./es-do\": 46875,\n\t\"./es-do.js\": 46875,\n\t\"./es-mx\": 58643,\n\t\"./es-mx.js\": 58643,\n\t\"./es-us\": 23193,\n\t\"./es-us.js\": 23193,\n\t\"./es.js\": 76464,\n\t\"./et\": 33287,\n\t\"./et.js\": 33287,\n\t\"./eu\": 80673,\n\t\"./eu.js\": 80673,\n\t\"./fa\": 72929,\n\t\"./fa.js\": 72929,\n\t\"./fi\": 14644,\n\t\"./fi.js\": 14644,\n\t\"./fil\": 29930,\n\t\"./fil.js\": 29930,\n\t\"./fo\": 89031,\n\t\"./fo.js\": 89031,\n\t\"./fr\": 77074,\n\t\"./fr-ca\": 67018,\n\t\"./fr-ca.js\": 67018,\n\t\"./fr-ch\": 16789,\n\t\"./fr-ch.js\": 16789,\n\t\"./fr.js\": 77074,\n\t\"./fy\": 25386,\n\t\"./fy.js\": 25386,\n\t\"./ga\": 49547,\n\t\"./ga.js\": 49547,\n\t\"./gd\": 13252,\n\t\"./gd.js\": 13252,\n\t\"./gl\": 81995,\n\t\"./gl.js\": 81995,\n\t\"./gom-deva\": 24874,\n\t\"./gom-deva.js\": 24874,\n\t\"./gom-latn\": 97063,\n\t\"./gom-latn.js\": 97063,\n\t\"./gu\": 27410,\n\t\"./gu.js\": 27410,\n\t\"./he\": 76315,\n\t\"./he.js\": 76315,\n\t\"./hi\": 40439,\n\t\"./hi.js\": 40439,\n\t\"./hr\": 9330,\n\t\"./hr.js\": 9330,\n\t\"./hu\": 82703,\n\t\"./hu.js\": 82703,\n\t\"./hy-am\": 99635,\n\t\"./hy-am.js\": 99635,\n\t\"./id\": 48998,\n\t\"./id.js\": 48998,\n\t\"./is\": 5236,\n\t\"./is.js\": 5236,\n\t\"./it\": 37789,\n\t\"./it-ch\": 43562,\n\t\"./it-ch.js\": 43562,\n\t\"./it.js\": 37789,\n\t\"./ja\": 52184,\n\t\"./ja.js\": 52184,\n\t\"./jv\": 54582,\n\t\"./jv.js\": 54582,\n\t\"./ka\": 1237,\n\t\"./ka.js\": 1237,\n\t\"./kk\": 88041,\n\t\"./kk.js\": 88041,\n\t\"./km\": 92268,\n\t\"./km.js\": 92268,\n\t\"./kn\": 10243,\n\t\"./kn.js\": 10243,\n\t\"./ko\": 8259,\n\t\"./ko.js\": 8259,\n\t\"./ku\": 79589,\n\t\"./ku.js\": 79589,\n\t\"./ky\": 38316,\n\t\"./ky.js\": 38316,\n\t\"./lb\": 35195,\n\t\"./lb.js\": 35195,\n\t\"./lo\": 50179,\n\t\"./lo.js\": 50179,\n\t\"./lt\": 36288,\n\t\"./lt.js\": 36288,\n\t\"./lv\": 5369,\n\t\"./lv.js\": 5369,\n\t\"./me\": 48954,\n\t\"./me.js\": 48954,\n\t\"./mi\": 60212,\n\t\"./mi.js\": 60212,\n\t\"./mk\": 76905,\n\t\"./mk.js\": 76905,\n\t\"./ml\": 26402,\n\t\"./ml.js\": 26402,\n\t\"./mn\": 13598,\n\t\"./mn.js\": 13598,\n\t\"./mr\": 86390,\n\t\"./mr.js\": 86390,\n\t\"./ms\": 144,\n\t\"./ms-my\": 55300,\n\t\"./ms-my.js\": 55300,\n\t\"./ms.js\": 144,\n\t\"./mt\": 56914,\n\t\"./mt.js\": 56914,\n\t\"./my\": 37257,\n\t\"./my.js\": 37257,\n\t\"./nb\": 40133,\n\t\"./nb.js\": 40133,\n\t\"./ne\": 95827,\n\t\"./ne.js\": 95827,\n\t\"./nl\": 98050,\n\t\"./nl-be\": 25446,\n\t\"./nl-be.js\": 25446,\n\t\"./nl.js\": 98050,\n\t\"./nn\": 47089,\n\t\"./nn.js\": 47089,\n\t\"./oc-lnc\": 45793,\n\t\"./oc-lnc.js\": 45793,\n\t\"./pa-in\": 38100,\n\t\"./pa-in.js\": 38100,\n\t\"./pl\": 18870,\n\t\"./pl.js\": 18870,\n\t\"./pt\": 90448,\n\t\"./pt-br\": 60531,\n\t\"./pt-br.js\": 60531,\n\t\"./pt.js\": 90448,\n\t\"./ro\": 43784,\n\t\"./ro.js\": 43784,\n\t\"./ru\": 68248,\n\t\"./ru.js\": 68248,\n\t\"./sd\": 69995,\n\t\"./sd.js\": 69995,\n\t\"./se\": 93110,\n\t\"./se.js\": 93110,\n\t\"./si\": 16854,\n\t\"./si.js\": 16854,\n\t\"./sk\": 2784,\n\t\"./sk.js\": 2784,\n\t\"./sl\": 18692,\n\t\"./sl.js\": 18692,\n\t\"./sq\": 20703,\n\t\"./sq.js\": 20703,\n\t\"./sr\": 4690,\n\t\"./sr-cyrl\": 33050,\n\t\"./sr-cyrl.js\": 33050,\n\t\"./sr.js\": 4690,\n\t\"./ss\": 17131,\n\t\"./ss.js\": 17131,\n\t\"./sv\": 56034,\n\t\"./sv.js\": 56034,\n\t\"./sw\": 26945,\n\t\"./sw.js\": 26945,\n\t\"./ta\": 46795,\n\t\"./ta.js\": 46795,\n\t\"./te\": 46593,\n\t\"./te.js\": 46593,\n\t\"./tet\": 42309,\n\t\"./tet.js\": 42309,\n\t\"./tg\": 85904,\n\t\"./tg.js\": 85904,\n\t\"./th\": 8404,\n\t\"./th.js\": 8404,\n\t\"./tk\": 98574,\n\t\"./tk.js\": 98574,\n\t\"./tl-ph\": 98699,\n\t\"./tl-ph.js\": 98699,\n\t\"./tlh\": 77175,\n\t\"./tlh.js\": 77175,\n\t\"./tr\": 15227,\n\t\"./tr.js\": 15227,\n\t\"./tzl\": 8257,\n\t\"./tzl.js\": 8257,\n\t\"./tzm\": 73026,\n\t\"./tzm-latn\": 30411,\n\t\"./tzm-latn.js\": 30411,\n\t\"./tzm.js\": 73026,\n\t\"./ug-cn\": 95332,\n\t\"./ug-cn.js\": 95332,\n\t\"./uk\": 36852,\n\t\"./uk.js\": 36852,\n\t\"./ur\": 5201,\n\t\"./ur.js\": 5201,\n\t\"./uz\": 20114,\n\t\"./uz-latn\": 49999,\n\t\"./uz-latn.js\": 49999,\n\t\"./uz.js\": 20114,\n\t\"./vi\": 43799,\n\t\"./vi.js\": 43799,\n\t\"./x-pseudo\": 83235,\n\t\"./x-pseudo.js\": 83235,\n\t\"./yo\": 95802,\n\t\"./yo.js\": 95802,\n\t\"./zh-cn\": 75555,\n\t\"./zh-cn.js\": 75555,\n\t\"./zh-hk\": 2423,\n\t\"./zh-hk.js\": 2423,\n\t\"./zh-mo\": 77968,\n\t\"./zh-mo.js\": 77968,\n\t\"./zh-tw\": 92281,\n\t\"./zh-tw.js\": 92281\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 = 16134;","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\":\"\"},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=19645146&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=19645146&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 \"19645146\",\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\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 addTurnstileOnZoneProfile: (data) => axios.post(`/access-control/zone-profile/${data.ZoneProfileID}/addTurnstile/${data.TurnstileID}`),\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 }\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 }\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\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\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 = 46700;","// 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 + \".\" + {\"7\":\"ba696c77\",\"30\":\"a1408620\",\"69\":\"3d1d2a5b\",\"539\":\"1f5813e4\",\"554\":\"f35f6f04\",\"653\":\"cb992255\",\"674\":\"9d3213ab\",\"720\":\"ad2df243\",\"750\":\"9fc8c84a\",\"775\":\"16ac5832\",\"777\":\"b8e9aefd\",\"821\":\"88366082\",\"894\":\"e9eb9c9e\",\"928\":\"0222bb2d\",\"929\":\"0e1e0d48\",\"1008\":\"70302cd9\",\"1033\":\"7c02043f\",\"1248\":\"fcaf4845\",\"1365\":\"70958528\",\"1449\":\"bf9af845\",\"1594\":\"9a4172bf\",\"1668\":\"4eba30f9\",\"1747\":\"964cfd83\",\"1851\":\"e514b2ef\",\"1880\":\"ec770fa1\",\"2040\":\"ceba363c\",\"2268\":\"64d4d5c7\",\"2383\":\"37d82a09\",\"2409\":\"663eb711\",\"2435\":\"ba8c0297\",\"2443\":\"54b1d03c\",\"2447\":\"a5555fc2\",\"2509\":\"aa271da7\",\"2531\":\"36299851\",\"2654\":\"9f55d787\",\"2662\":\"c2dc4f66\",\"2772\":\"e45f258f\",\"2795\":\"5e193469\",\"2864\":\"a7e1bdf3\",\"3000\":\"210e2455\",\"3115\":\"688819d1\",\"3291\":\"53faf48e\",\"3397\":\"11e47fca\",\"3585\":\"87867de5\",\"3666\":\"aad676b0\",\"3724\":\"7f9eba37\",\"3747\":\"2a9b69fa\",\"3813\":\"82ead895\",\"3868\":\"01c68ad6\",\"3869\":\"e55076f1\",\"3959\":\"e3bf91ba\",\"4020\":\"74c5a1ce\",\"4146\":\"eaba6bc0\",\"4170\":\"20240aea\",\"4179\":\"bda3007e\",\"4348\":\"fec8ed10\",\"4439\":\"7fdf1c55\",\"4462\":\"e2e4bf38\",\"4574\":\"8b4c1cee\",\"4582\":\"446f13a4\",\"4787\":\"a28d90ac\",\"4895\":\"2d2ce443\",\"4906\":\"249a8dc7\",\"4917\":\"8db84dfa\",\"5066\":\"8338be9d\",\"5105\":\"3f6a2dec\",\"5129\":\"3a8ff7eb\",\"5211\":\"eb6d0a3a\",\"5271\":\"516f5ad3\",\"5296\":\"0815cffd\",\"5305\":\"5141b13f\",\"5409\":\"9b249c2a\",\"5422\":\"7472be00\",\"5492\":\"af94ba92\",\"5520\":\"774b1ca9\",\"5531\":\"c89feb6c\",\"5678\":\"0873164c\",\"5820\":\"73c70ce7\",\"5863\":\"4229e594\",\"5892\":\"c74931e5\",\"5995\":\"e8d41dc2\",\"6084\":\"cab2c3ad\",\"6125\":\"7ef77d76\",\"6134\":\"db3f61b1\",\"6137\":\"0ad3fafc\",\"6183\":\"cd633e3b\",\"6354\":\"751ecf49\",\"6395\":\"2d44cf5e\",\"6517\":\"d2ea65c5\",\"6628\":\"b63a378b\",\"6646\":\"8d05f688\",\"6663\":\"f003d8df\",\"6689\":\"1f63cc60\",\"6691\":\"57d1d500\",\"6692\":\"a966ce27\",\"6755\":\"d4739253\",\"6798\":\"aa1225d0\",\"6866\":\"3e77bedb\",\"6869\":\"f5b7fa8a\",\"7106\":\"f8fb6f85\",\"7125\":\"295c7ec7\",\"7132\":\"c87c3ecc\",\"7138\":\"2702f525\",\"7170\":\"f231a819\",\"7195\":\"33e7af67\",\"7200\":\"3ea38703\",\"7442\":\"e83e1d23\",\"7463\":\"bd512429\",\"7547\":\"df2d3542\",\"7580\":\"6f6ca088\",\"7642\":\"804ae76b\",\"7699\":\"ffad9684\",\"7706\":\"fb1428a8\",\"7801\":\"d088b3f5\",\"7999\":\"1a7914ca\",\"8019\":\"1b96898d\",\"8025\":\"a8944c0e\",\"8069\":\"7812bf2a\",\"8104\":\"ad29ea1e\",\"8411\":\"4ccafdb8\",\"8479\":\"778b91b4\",\"8495\":\"3e11efb6\",\"8522\":\"a7b025f5\",\"8531\":\"9c2afd39\",\"8534\":\"030c8901\",\"8566\":\"2aa82d5b\",\"8635\":\"336a7e47\",\"8686\":\"3053b02d\",\"8716\":\"3e0692b0\",\"8756\":\"466eac67\",\"8783\":\"e42957eb\",\"8789\":\"49b93cf9\",\"8852\":\"45f04582\",\"8996\":\"9210964c\",\"8998\":\"fb9b138b\",\"9118\":\"316ecccf\",\"9148\":\"efd77e7d\",\"9161\":\"1669a71d\",\"9389\":\"3eeec1d6\",\"9395\":\"e186191f\",\"9403\":\"ab3cacb3\",\"9426\":\"ef6e4801\",\"9463\":\"90ed8845\",\"9658\":\"2475a025\",\"9698\":\"82628381\",\"9800\":\"ca1580d2\",\"9831\":\"cdc7ec1b\",\"9875\":\"064b7ffe\",\"9891\":\"95794142\",\"9972\":\"8ac22090\"}[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 + \".\" + {\"7\":\"6221d983\",\"69\":\"e23f6920\",\"653\":\"bd638efc\",\"674\":\"a37656e6\",\"750\":\"b0c09ee5\",\"821\":\"5a770182\",\"894\":\"69c70abf\",\"928\":\"6c1898d8\",\"929\":\"08a79a4b\",\"1008\":\"b091b969\",\"1033\":\"f5509331\",\"1248\":\"92ac3806\",\"1449\":\"b091ae1d\",\"1594\":\"39ee9954\",\"1668\":\"7108cc9e\",\"1851\":\"8bb54fe6\",\"2268\":\"35f5f839\",\"2383\":\"cf6405b4\",\"2654\":\"8db3230e\",\"2662\":\"5116cd11\",\"2772\":\"d949e550\",\"2795\":\"02ad775a\",\"2864\":\"0bbd1d15\",\"3000\":\"3505d4d9\",\"3585\":\"005d46a7\",\"3724\":\"f8714404\",\"3869\":\"ed9d8038\",\"4179\":\"7ba3af66\",\"4348\":\"f09c0e0e\",\"4439\":\"5116cd11\",\"4574\":\"c4ab70e3\",\"4582\":\"b50094e9\",\"4787\":\"aff8cc9e\",\"4906\":\"e9765061\",\"4917\":\"7c66da2e\",\"5271\":\"35f5f839\",\"5296\":\"4e8adbc1\",\"5305\":\"acaf14a5\",\"5531\":\"080b2703\",\"5863\":\"c5bd0830\",\"5995\":\"ad566297\",\"6084\":\"e9f824d7\",\"6125\":\"cd2601f5\",\"6183\":\"64dcd973\",\"6395\":\"b9b864a6\",\"6517\":\"b7d25da7\",\"6628\":\"7ba3af66\",\"6646\":\"ed9d9c87\",\"6692\":\"d3ada519\",\"6798\":\"202016ba\",\"6866\":\"ba53b08e\",\"7132\":\"6573a75f\",\"7138\":\"8bb54fe6\",\"7195\":\"545a3686\",\"7442\":\"0b4501be\",\"7463\":\"d891f103\",\"7580\":\"4f8bedbf\",\"7642\":\"06973736\",\"8019\":\"a5ebc230\",\"8069\":\"c168102a\",\"8104\":\"2d884fce\",\"8495\":\"29b51e0c\",\"8534\":\"29b51e0c\",\"8566\":\"7ba3af66\",\"8686\":\"ec6d69cf\",\"8783\":\"b627beb4\",\"8789\":\"8d670143\",\"8998\":\"6bf838da\",\"9118\":\"512bdc97\",\"9148\":\"8a6ee14f\",\"9403\":\"bbc6c804\",\"9463\":\"3df48ea4\",\"9658\":\"ed9d8038\",\"9800\":\"b5c35ef7\",\"9831\":\"9b161c34\",\"9875\":\"656a9c20\",\"9972\":\"405e5a0d\"}[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\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 === 'load' ? 'missing' : 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(\" + realHref + \")\");\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\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\t2143: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"7\":1,\"69\":1,\"653\":1,\"674\":1,\"750\":1,\"821\":1,\"894\":1,\"928\":1,\"929\":1,\"1008\":1,\"1033\":1,\"1248\":1,\"1449\":1,\"1594\":1,\"1668\":1,\"1851\":1,\"2268\":1,\"2383\":1,\"2654\":1,\"2662\":1,\"2772\":1,\"2795\":1,\"2864\":1,\"3000\":1,\"3585\":1,\"3724\":1,\"3869\":1,\"4179\":1,\"4348\":1,\"4439\":1,\"4574\":1,\"4582\":1,\"4787\":1,\"4906\":1,\"4917\":1,\"5271\":1,\"5296\":1,\"5305\":1,\"5531\":1,\"5863\":1,\"5995\":1,\"6084\":1,\"6125\":1,\"6183\":1,\"6395\":1,\"6517\":1,\"6628\":1,\"6646\":1,\"6692\":1,\"6798\":1,\"6866\":1,\"7132\":1,\"7138\":1,\"7195\":1,\"7442\":1,\"7463\":1,\"7580\":1,\"7642\":1,\"8019\":1,\"8069\":1,\"8104\":1,\"8495\":1,\"8534\":1,\"8566\":1,\"8686\":1,\"8783\":1,\"8789\":1,\"8998\":1,\"9118\":1,\"9148\":1,\"9403\":1,\"9463\":1,\"9658\":1,\"9800\":1,\"9831\":1,\"9875\":1,\"9972\":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\t2143: 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(!/^(2654|5296|7)$/.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, [4998], () => (__webpack_require__(50225)))\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","Firstname","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","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","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","addTurnstileOnZoneProfile","ZoneProfileID","TurnstileID","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","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":""}