{"version":3,"file":"js/app.7917a129.js","mappings":"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","sources":["webpack://resa-frontend/../../neptune-js/node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://resa-frontend/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://resa-frontend/./src/plugins/vuetify.js","webpack://resa-frontend/./src/plugins/snotify.js","webpack://resa-frontend/./src/App.vue?759d","webpack://resa-frontend/src/App.vue","webpack://resa-frontend/./src/App.vue?facb","webpack://resa-frontend/./src/App.vue","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/params.js","webpack://resa-frontend/../../neptune-js/helpers/subscriptions.js","webpack://resa-frontend/../../neptune-js/helpers/utils.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/subscriptions.js","webpack://resa-frontend/../../neptune-js/mixins/subscriptions.js","webpack://resa-frontend/../../neptune-js/ui/access-control.js","webpack://resa-frontend/../../neptune-js/ui/colors.js","webpack://resa-frontend/../../neptune-js/mixins/colors.js","webpack://resa-frontend/../../neptune-js/ui/sales.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/sales.js","webpack://resa-frontend/../../neptune-js/mixins/sales.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/ui/bookings.js","webpack://resa-frontend/../../neptune-js/ui/client.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/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/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/auth.js","webpack://resa-frontend/./src/mixins/date.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/stats.js","webpack://resa-frontend/./src/router/cashregister.js","webpack://resa-frontend/./src/router/spa.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/router.js","webpack://resa-frontend/./src/api/auth.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/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/./src/components/clients/ClientForm.vue?117d","webpack://resa-frontend/src/components/clients/ClientForm.vue","webpack://resa-frontend/./src/components/clients/ClientForm.vue?0585","webpack://resa-frontend/./src/components/clients/ClientForm.vue","webpack://resa-frontend/./src/components/odeon/OdeonPopup.vue?a5df","webpack://resa-frontend/./src/api/odeon.js","webpack://resa-frontend/./src/components/odeon/TicketDetailsPanel.vue?cd4b","webpack://resa-frontend/./src/components/odeon/TiptapEditor.vue?586c","webpack://resa-frontend/./src/components/odeon/TiptapMenuBar.vue?17c2","webpack://resa-frontend/./src/components/odeon/TiptapMenuItem.vue?2048","webpack://resa-frontend/src/components/odeon/TiptapMenuItem.vue","webpack://resa-frontend/./src/components/odeon/TiptapMenuItem.vue?87de","webpack://resa-frontend/./src/components/odeon/TiptapMenuItem.vue","webpack://resa-frontend/src/components/odeon/TiptapMenuBar.vue","webpack://resa-frontend/./src/components/odeon/TiptapMenuBar.vue?31d3","webpack://resa-frontend/./src/components/odeon/TiptapMenuBar.vue","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?daa5","webpack://resa-frontend/./src/components/odeon/TiptapEditor.vue","webpack://resa-frontend/src/components/odeon/TicketDetailsPanel.vue","webpack://resa-frontend/./src/components/odeon/TicketDetailsPanel.vue?0e49","webpack://resa-frontend/./src/components/odeon/TicketDetailsPanel.vue","webpack://resa-frontend/src/components/odeon/OdeonPopup.vue","webpack://resa-frontend/./src/components/odeon/OdeonPopup.vue?45de","webpack://resa-frontend/./src/components/odeon/OdeonPopup.vue","webpack://resa-frontend/./src/views/global/VoucherScan.vue?590a","webpack://resa-frontend/src/views/global/VoucherScan.vue","webpack://resa-frontend/./src/views/global/VoucherScan.vue?a49c","webpack://resa-frontend/./src/views/global/VoucherScan.vue","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/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\": 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.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-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 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;","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: '#42a5f5',\n secondary: '#ff9100',\n accent: '#ff9100',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FFC107'\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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{},[(!_vm.isDashboardLayoutDisabled)?_c('v-navigation-drawer',{staticClass:\"primary no-print\",attrs:{\"persistent\":\"\",\"clipped\":\"\",\"mini-variant\":_vm.drawer,\"fixed\":\"\",\"app\":\"\",\"dark\":\"\",\"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}},[_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',{attrs:{\"app\":\"\",\"color\":\"primary darken-4 no-print\",\"dark\":\"\",\"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\":\"\"}}),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_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\")])]),_c('v-divider',{attrs:{\"vertical\":\"\"}}),(_vm.hasDimsBackoffice)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_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.loggedUser)?_c('v-menu',{attrs:{\"bottom\":\"\",\"offset-y\":\"\",\"close-on-content-click\":false,\"max-width\":\"800px\",\"eager\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar onMenu = ref.on;\nreturn [_c('v-tooltip',_vm._g({attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_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.loggedUser)?_c('v-menu',{attrs:{\"bottom\":\"\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticStyle:{\"height\":\"64px\"},attrs:{\"slot\":\"activator\",\"text\":\"\"},slot:\"activator\"},on),[_c('div',[_vm._v(\" \"+_vm._s(_vm.loggedUser.FirstName)+\" \"+_vm._s(_vm.loggedUser.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,4249820441)},[_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\"}},[_c('router-view')],1)],1),(!_vm.isDashboardLayoutDisabled)?_c('v-footer',{staticClass:\"px-3 no-print\",attrs:{\"app\":\"\"}},[_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\"}},[_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)}\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[0].rules[0].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[0].rules[0].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=2386db63&\"\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&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\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VApp,VAppBar,VAppBarNavIcon,VAvatar,VBadge,VBtn,VCard,VDialog,VDivider,VFooter,VIcon,VList,VListItem,VListItemAction,VListItemContent,VListItemTitle,VMain,VMenu,VNavigationDrawer,VSpacer,VToolbarItems,VToolbarTitle,VTooltip})\n","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'\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} from 'neptune/mixins'\n\nVue.use(VueNativeSock, (window.location.protocol === 'https:' ? 'wss://' : 'ws://') + config.WSURL + '/api/ws', {\n reconnection: false,\n connectManually: true,\n format: 'json'\n})\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)\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_VOUCHERSHEET_PROGRESS: \"r://vouchersheet-progress\",\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\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_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 SUBSCRIPTION_TYPE_CREDIT: 1,\n SUBSCRIPTION_TYPE_SUBSCRIPTION: 2,\n SUBSCRIPTION_TYPE_PASS_Q: 3,\n SUBSCRIPTION_TYPE_PASS_H: 4,\n SUBSCRIPTION_TYPE_PACK: 5,\n SUBSCRIPTION_TYPE_OTHER: 6,\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 // PRODUCT VALIDITY TYPES\n PRODUCT_VALIDITY_SALE_DATE: 1,\n PRODUCT_VALIDITY_FIXED: 2,\n PRODUCT_VALIDITY_FIRST_USE: 3,\n PRODUCT_VALIDITY_CUSTOM_DATE: 4,\n PRODUCT_VALIDITY_MATCH_BOOKING_DATE: 5,\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_SCHEDULED: -1,\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\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 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,\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_ZEBRA_ACCESS_CONTROL_VOUCHER_TEMPLATE: 129\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 }\n },\n\n VOUCHER_TYPES: {\n CREDIT: 3,\n CREDIT_UNIT: 4\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 ZEBRA_ACCESS_CONTROL_VOUCHER: 'zebra-access-control-voucher',\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_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 },\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 },\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 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 },\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 // 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 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 },\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 }\n },\n\n FAMILIES_TYPES: {\n CASHREGISTER: \"cashregister\",\n KIOSK: \"kiosk\",\n WEB: \"web\",\n ACCESS_CONTROL: \"access-control\",\n STATS: \"stats\",\n QUOTATION:\"quotation\"\n },\n\n CARD_TYPES: {\n QRCODE: \"QRCode\"\n },\n\n QUOTATIONS:{\n STATE:{\n DRAFT: 0,\n WAITING: 1,\n VALIDATED: 2,\n REFUSED: 3,\n TO_PAY: 4,\n PAID: 5\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","import subscriptionHelper from './subscriptions'\nimport {\n clientsGenders\n} from '../ui/client'\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 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 getPricing(client, currentPeriod, pricing) {\n if (pricing && currentPeriod && client) {\n let pricingId\n if (client.Pricing && client.Pricing[currentPeriod.ID]) {\n pricingId = client.Pricing[currentPeriod.ID]\n } else {\n pricingId = 'DEFAULT'\n }\n return pricing.find(p => p.ID === pricingId)\n }\n return false\n },\n\n clientHasRequiredLevelForSlot (client, slot) {\n if (!slot.Levels || slot.Levels.length === 0) {\n return true\n }\n return client.ActivitiesLevels && client.select.ActivitiesLevels.some(l => l.ActivityID === slot.ActivityID.ID && slot.Levels.includes(l.LevelID))\n },\n}\n","import moment from 'moment'\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 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 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 \n}\n","import moment from 'moment'\nimport consts from '../consts'\nimport constants from '../consts'\n\nexport default {\n defaultParams(type) {\n let params = {}\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 lateExitDelay: 30,\n lateExitBookingTolerance: 120,\n enableSubExpirationBookingCheck: 0,\n bookingValidatesEntireDay: 0\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 })\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 if (p.Value !== '') res.value = parseInt(p.Value, 10)\n break\n case consts.RESA_PARAMS.QUOTATIONS_SALES_EXPIRATION_DELAY:\n if (p.Value !== '') res.value = parseInt(p.Value, 10)\n break\n /* boolean */\n case consts.RESA_PARAMS.QUOTATIONS_VOUCHERS_EXPIRATION_DELAY:\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.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 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 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, productsMap) {\n if (!productsMap || !productsMap[subscription.ProductID]){\n console.warn(\"Cannot check product subscription type, please provide product map\")\n }\n\n console.log(subscription)\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 || (productsMap && productsMap[subscription.ProductID] && productsMap[subscription.ProductID].Subscription && productsMap[subscription.ProductID].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","var 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\nexport default self;\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)","import ui, { bookingStatuses, bookingRepeatStatuses, bookingSlotWebModes, bookingSlotRepeatPublicationStatuses} from '../ui/bookings'\n\n\nexport default {\n data: () => ({\n bookingStatuses,\n bookingRepeatStatuses,\n bookingSlotWebModes,\n bookingSlotRepeatPublicationStatuses\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 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\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 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 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: 0 },\n { label: 'Lecteur RFID (tourniquet)', value: 1, icons: ['mdi-turnstile', 'mdi-nfc'] },\n { label: 'Lecteur QRcode (tourniquet)', value: 2, icons: ['mdi-turnstile', 'mdi-qrcode'] },\n { label: 'Lecteur RFID (porte)', value: 3, icons: ['mdi-door', 'mdi-nfc'] },\n { label: 'Lecteur QRcode (porte)', value: 4, icons: ['mdi-door', 'mdi-qrcode'] },\n { label: 'Lecteur RFID (borne d\\'information)', value: 5, icons: ['mdi-laptop', 'mdi-nfc'] },\n { label: 'Bouton poussoir', value: 6, icons: ['mdi-turnstile', 'mdi-gesture-tap-button'] }\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]\n\nexport default {\n turnstilesState(state, parentState) {\n if (!parentState || parentState !== TURNSTILE_STATE_OFFLINE) {\n return turnstilesStates.find(s => s.value == state)\n } else {\n return { icon: 'mdi-help-circle', color: '#888888' }\n }\n },\n\n turnstyleType(v) {\n return turnstilesTypes.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\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 Consts from '../consts'\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\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\nexport {saleTypes, saleStates}","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.turnstyleType(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 { text: 'Autre', value: 0 },\n { text: 'Lecteur RFID (tourniquet)', value: 1 },\n { text: 'Lecteur QRcode (tourniquet)', value: 2 },\n { text: 'Lecteur RFID (porte)', value: 3 },\n { text: 'Lecteur QRcode (porte)', value: 4 },\n { text: 'Lecteur RFID (borne d\\'information)', value: 5 },\n { text: 'Bouton poussoir', value: 6 }\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 turnstyleTypeIcons(t) {\n return accessControl.turnstyleType(t).icons\n },\n}\n","import iconizer from '../helpers/iconizer'\n\nexport default {\n methods: iconizer,\n}\n","import Decimal from \"decimal.js\"\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 var quantity = 0\n for(var client in sale.Lines){\n for(var line of sale.Lines[client]){\n quantity += parseInt(line.Amount)\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 for(var line of sale.Lines[clientID]){\n func(line, clientID)\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 && client.Pricing && client.Pricing[currentPeriodID] ? client.Pricing[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","import ui, { saleTypes, saleStates } from '../ui/sales'\nimport helpers from '../helpers/sales'\n\n\nexport default {\n data: () => ({\n saleTypes,\n saleStates\n }),\n methods: {\n ...ui,\n ...helpers\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: \"Bon de réduction\" },\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.ZEBRA_ACCESS_CONTROL_VOUCHER, selectedTemplateParam: constants.GLOBAL_PARAMS.PARAM_ZEBRA_ACCESS_CONTROL_VOUCHER_TEMPLATE, label: \"Bon d'accès sur bracelet\"},\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: \"Spa\", value: \"spa\", requiredPerm: \"admin:spa\", hasLandingPage: true },\n { text: \"Statistiques\", value: \"stats\", requiredPerm: \"admin:stats\", hasLandingPage: true },\n { text: \"Casiers\", value: \"lockers\", requiredPerm: \"admin:lockers\", hasLandingPage: true },\n { text: \"Backoffice\", value: \"front\" },\n { text: \"Caisse\", value: \"cashregister\", hasLandingPage: true },\n { text: \"Odéon\", value: \"odeon\" },\n { text: \"Activités périodiques\", requiredPerm:\"admin:activities\", value: \"activities\", 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 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\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\nexport { bookingStatuses , bookingRepeatStatuses, bookingSlotWebModes, bookingSlotRepeatPublicationStatuses}\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 './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 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 postRefreshFamilies: () => axios.post('/access-control/timeslots-refresh'),\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}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getClientAccounts: (clientId, params) => axios.get(`/clients/${clientId}/accounts`, { params: 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: params }),\n\n updateAccountPassword: (accountId, data) => axios.put(`/accounts/${accountId}/change-password`, data),\n resetAccountPassword: (accountId) => axios.put(`/accounts/${accountId}/reset-password`)\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getActivities: (params) => axios.get('/activities', { params: params }),\n getActivity: (id) => axios.get(`/activities/${id}`),\n getActivitiesFamilies: (params) => axios.get('/activities-families', { params: params }),\n getLevels: (params) => axios.get('/levels', { params: params })\n\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getAreas: (params) => axios.get('/areas', { params: 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 getClients: (params) => axios.get('/clients', { params: params }),\n getClient: (id) => axios.get(`/clients/${id}`),\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 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: 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 EventBus.$emit('toast-message', { type: 'error', message: 'Votre session a expiré, veuillez vous reconnecter' })\n\n if (global.cashRegisterIPC && global.cashRegisterIPC.emit) {\n global.cashRegisterIPC.emit('auth-error')\n }\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 getLogs: (params) => axios.get('/ctm/logs', { params: params }),\n getPassings: (params) => axios.get('/ctm/passings', { params: params }),\n getPassingsExcel: (params) => axios.get('/ctm/passings', { params: params, responseType: 'blob' }),\n postGroups: (group) => axios.post('/ctm/groups', group),\n putGroups: (group) => axios.put(`/ctm/groups/${group.ID}`, group),\n deleteGroups: (group) => axios.delete(`/ctm/groups/${group.ID}`, group)\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: 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: 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: params }),\n putLockersIncidents: (id, data) => axios.put(`/lockers/incidents/${id}`, data),\n\n // locker's events\n getLockersEvents: (params) => axios.get('/lockers/events', { params: params }),\n refreshHistory: (params) => axios.get('/lockers/events/refresh-history', { params: 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: 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: 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: 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\n getGlobalParams: () => axios.get('/global-params'),\n postGlobalParams: (data) => axios.post('/global-params', data),\n\n getPeriods: (params) => axios.get('/periods', { params: params }),\n getPricing: (params) => axios.get('/pricing', { params: params }),\n getPaymentType: (params) => axios.get('/paymenttype', { params: 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: params }),\n getProductsStats: (params) => axios.get('/products-stats', { params: params }),\n getProductsByIDs: (params) => axios.get('/products-by-ids', { params: params }),\n getPaginatedProducts: (params) => axios.get('/products-paginated', { params: params }),\n getFamilies: (params) => axios.get('/families', { params: params }),\n getCardTypes: () => axios.get('/card-types')\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n // SPA Universes\n getSpaUniverses: (params) => axios.get('/spa/universes', { params: 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 Resources\n getSpaResources: (params) => axios.get('/spa/resources', { params: 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: 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: 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: 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: 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: 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: 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/bookings', { params: params }),\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: params }),\n\n // SPA Sales\n createSpaSale: (data) => axios.post('/spa/sales', data),\n getSpaPendingSales: (params) => axios.get('/spa/sales/pending', { params: params }),\n getSpaPendingProducts: (params) => axios.get('/spa/sales/pending-products', { params: 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: params }),\n deleteAllStats: (params) => axios.get('/stats/delete-all-stats', { params: params }),\n resetAllStats: (params) => axios.get('/stats/reset-all-stats', { params: params }),\n refreshAllStats: (params) => axios.get('/stats/refresh-all-stats', { params: params }),\n\n getSyncAllStatsTimetables: (params) => axios.get('/stats/setup/sync-timetables-import', { params: params }),\n getNewSyncAllStatsTimetables: (params) => axios.get('/stats/setup/sync-timetables-refresh', { params: params }),\n getSyncAllStatsTimetablesFormatted: (params) => axios.get('/stats/setup/sync-timetables-formatted', { params: 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: params }),\n getStatsResaFirstYearWithData: (params) => axios.get('/stats-resa/years-with-data/first', { params: params }),\n getStatsResaLastYearWithData: (params) => axios.get('/stats-resa/years-with-data/last', { params: params }),\n\n // Passings\n getStatsPassingsFrequentations: (params) => axios.get('/stats/passings/frequentations', { params: params }),\n getStatsPassingsPlannings: (params) => axios.get('/stats/passings/plannings', { params: params }),\n\n getStatsPassingsByProductTypeExcelGlobal: (params) => axios.get('/stats/passings/excel/global/by-product-type', { params: params, responseType: 'blob' }),\n getStatsPassingsByProductExcelGlobal: (params) => axios.get('/stats/passings/excel/global/by-product', { params: params, responseType: 'blob' }),\n getStatsPassingsByActivityExcelGlobal: (params) => axios.get('/stats/passings/excel/global/by-activity', { params: 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: params }),\n\n // Spa\n getSoldProductsPeriodicReport: (params) => axios.get('/stats/spa/periodic-report', { params: 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: params }),\n selectSavedFiltersResa: (params) => axios.get('/stats-resa/saved-filters/resa/select', { params: 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: params }),\n\n /// /////////////////////////////////////// Fréquentations ///////////////////////////////////////////////////////\n\n getStatsResaFrequentationsParActivite: (params) => axios.get('/stats-resa/frequentations/par-activite', { params: params }),\n\n /// /////////////////////////////////////// Bilans Périodiques ///////////////////////////////////////////////////////\n // Réservations\n getStatsResaDescriptivesProportionsTypesResa: (params) => axios.get('/stats-resa/bilans-periodiques/reservations/proportions-types-resa', { params: params }),\n\n // Activités\n getStatsResaDescriptivesActivitiesData: (params) => axios.get('/stats-resa/bilans-periodiques/activites/activities-data', { params: params }),\n\n // Clients\n getStatsResaDescriptivesClientsAge: (params) => axios.get('/stats-resa/bilans-periodiques/clients/activities-by-age', { params: params }),\n\n // Articles\n\n // Bookings Slots\n getBookingsSlotsDetailled: (params) => axios.get('/stats-resa/bilans-periodiques/bookings-slots/detailled', { params: params }),\n getBookingsSlotsCount: (params) => axios.get('/stats-resa/bilans-periodiques/bookings-slots/count', { params: params }),\n\n // Trainers\n getTrainersDetailled: (params) => axios.get('/stats-resa/bilans-periodiques/trainers/detailled', { params: params }),\n\n /// /////////////////////////////////////// Plannings ///////////////////////////////////////////////////////\n\n // Plannings CR\n getStatsResaPlanningsCRByDateRange: (params) => axios.get('/stats-resa/plannings/cr/by-date-range', { params: params })\n\n}\n","import './common'\nimport axios from 'axios'\n\nexport default {\n getTemplates: () => axios.get('/templates'),\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 getGiftVouchers: (params) => axios.get('/vouchers-gift', { params }),\n getGiftVouchersExcel: (params) => axios.get('/vouchers-gift', { params: 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: 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: '/api/v1',\n WSURL: 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","export default {\n computed: {\n loggedUser () {\n return this.$store.state.main.auth.user\n }\n },\n\n methods: {\n userHasPermission (perm) {\n return this.loggedUser && this.loggedUser.Permissions && this.loggedUser.Permissions.indexOf(perm) >= 0\n }\n\n }\n}\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 moment(date).format('YYYY-MM-DD') === moment().format('YYYY-MM-DD')\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 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)) ? 0 : moment(d1).isBefore(moment(d2)) ? -1 : 1\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 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 () {\n this.wvEmit('auth-error')\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: saleLineID, clientID: 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: 'scan',\n name: 'turnstiles-scan',\n meta: {\n title: 'Scan de billets'\n },\n component: () => import('~/views/turnstiles/Scan.vue')\n },\n {\n path: 'status',\n name: 'turnstiles-status',\n meta: {\n title: 'Etat 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/Planning.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 path: 'weeks',\n name: 'turnstiles-weeks',\n meta: {\n title: 'Types de semaines'\n },\n component: () => import('~/views/turnstiles/Weeks.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: '/stats',\n name: 'stats-index',\n meta: { title: 'Statistiques' },\n component: () => import('@/views/stats/Index.vue'),\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 }\n]\n","export default [\n {\n path: '/cashregister',\n name: 'cashregister-index',\n meta: {\n title: 'Encaissements'\n },\n redirect: { name: 'exports' },\n\n component: () => import('~/views/cashregister/Index.vue'),\n children: [\n {\n path: 'exports',\n name: 'exports',\n meta: {\n title: 'Exports de données'\n },\n component: () => import('~/views/cashregister/Exports.vue')\n },\n {\n path: 'gift-manager',\n name: 'gift-manager',\n meta: {\n title: 'Coupons et bons cadeaux'\n },\n component: () => import('~/views/cashregister/giftmanager/Index.vue')\n },\n {\n path: 'gift-manager/plancha',\n name: 'gift-manager-plancha',\n meta: {\n title: 'Mes planches de coupons'\n },\n component: () => import('~/views/cashregister/giftmanager/plancha/Index.vue')\n },\n {\n path: 'gift-manager/plancha/:id',\n name: 'gift-manager-plancha-create',\n meta: {\n title: 'Créer une planche de coupons'\n },\n component: () => import('~/views/cashregister/giftmanager/plancha/Create.vue')\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: 'Edition 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: 'Edition 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: 'Edition 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: 'Edition d\\'une association produit'\n },\n component: () => import('~/views/spa/ProductsEdit.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: 'notifications',\n name: 'activities-notifications',\n meta: {\n title: 'Notifications e-mail'\n },\n component: () => import('~/views/activities/Notifications.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 redirect: { name: 'setup-main' },\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: 'Etablissements'\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',\n name: 'setup-front-office',\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 }\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/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/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 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 StatsRoutes from './stats'\nimport CashregisterRoutes from './cashregister'\nimport SpaRoutes from './spa'\nimport LockersRoutes from './lockers'\nimport ActivitiesRoutes from './activities'\nimport SetupRoutes from './setup'\nimport CashregisterWebviewsRoutes from './cashregisterWebviews'\nimport KiosksRoutes from './kiosks'\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 ...StatsRoutes,\n ...CashregisterRoutes,\n ...SpaRoutes,\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 next()\n})\n\nexport default router\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}\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})\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 dimsBackofficeUrl: state => state.auth.dimsBackofficeUrl,\n tsBoxes: state => state.tsBoxes,\n products: state => state.products,\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 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 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 commit('auth_success', { token: token, user: userInfo, dimsBackofficeUrl: dimsBackofficeUrl })\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 commit('auth_success', { token: authToken, user: user, dimsBackofficeUrl: dimsBackofficeUrl })\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 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.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_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'\n\nimport mixin 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: mixin.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 },\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', mixin.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 commit('set_global_params', res.data || [])\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 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 },\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({ State: ['true', 'false'] }).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.selectedActivity || this.state.stats.resa.filter.selectedActivity === '') &&\n this.state.stats.resa.filter.activites && this.state.stats.resa.filter.activites.length) commit('set_selectedActivity', this.state.stats.resa.filter.activites[0])\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 /// //////////// 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","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 (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 unavailabilitiesReasons: state.universe.Params.unavailabilities_reasons,\n unavailabilitiesColors: state.universe.Params.unavailabilities_colors,\n firstInterval: startTime.hour(),\n intervalCount: 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().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://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://vouchersheet-progress': 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 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()\n })\n .catch((err) =>\n reject(err)\n )\n } else {\n resolve()\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 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 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 lockers\n\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_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 render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.client)?_c('div',[_c('v-form',{ref:\"form\"},[_c('v-radio-group',{staticClass:\"mb-3\",attrs:{\"hide-details\":\"\",\"row\":\"\"},model:{value:(_vm.client.ClientType),callback:function ($$v) {_vm.$set(_vm.client, \"ClientType\", $$v)},expression:\"client.ClientType\"}},[_c('v-radio',{attrs:{\"label\":\"Personne physique\",\"value\":1,\"color\":\"primary\"}}),_c('v-radio',{attrs:{\"label\":\"Personne morale\",\"value\":2,\"color\":\"primary\"}})],1),(_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:{\"outlined\":\"\",\"label\":\"Raison sociale*\",\"rules\":[_vm.rules.required],\"clearable\":\"\"},model:{value:(_vm.client.OrgInfo.Name),callback:function ($$v) {_vm.$set(_vm.client.OrgInfo, \"Name\", $$v)},expression:\"client.OrgInfo.Name\"}}),_c('v-select',{attrs:{\"outlined\":\"\",\"attach\":\"\",\"label\":\"Type de client*\",\"items\":_vm.orgTypes,\"rules\":[_vm.rules.required]},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:{\"outlined\":\"\",\"label\":'TVA INTRA' + (_vm.client.OrgInfo.Type === 1 ? '*' : ''),\"rules\":_vm.client.OrgInfo.Type === 1 ? [_vm.rules.required] : [],\"clearable\":\"\"},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:{\"outlined\":\"\",\"label\":'SIRET' + (_vm.client.OrgInfo.Type === 1 ? '*' : ''),\"rules\":_vm.client.OrgInfo.Type === 1 ? [_vm.rules.required] : [],\"clearable\":\"\"},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\",attrs:{\"outlined\":\"\",\"label\":'RCS' + (_vm.client.OrgInfo.Type === 1 ? '*' : ''),\"rules\":_vm.client.OrgInfo.Type === 1 ? [_vm.rules.required] : [],\"clearable\":\"\"},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:{\"outlined\":\"\",\"label\":'NAF' + (_vm.client.OrgInfo.Type === 1 ? '*' : ''),\"rules\":_vm.client.OrgInfo.Type === 1 ? [_vm.rules.required] : [],\"clearable\":\"\"},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._e(),(_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é\",\"outlined\":\"\",\"attach\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar on = ref.on;\nvar item = ref.item;\nreturn [_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:{\"outlined\":\"\",\"label\":'Prénom' + (_vm.client.ClientType === 1 ? '*' : ''),\"rules\":_vm.client.ClientType === 1 ? [_vm.rules.required] : []},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:{\"outlined\":\"\",\"label\":'Nom' + (_vm.client.ClientType === 1 ? '*' : ''),\"rules\":_vm.client.ClientType === 1 ? [_vm.rules.required] : []},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\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"label\":\"Date de naissance\",\"prepend-icon\":\"mdi-calendar\",\"clearable\":\"\"},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,1470785754),model:{value:(_vm.menuBirthday),callback:function ($$v) {_vm.menuBirthday=$$v},expression:\"menuBirthday\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\",\"first-day-of-week\":1},on:{\"input\":function($event){_vm.menu1 = false}},model:{value:(_vm.birthdateDatepicker),callback:function ($$v) {_vm.birthdateDatepicker=$$v},expression:\"birthdateDatepicker\"}})],1):_vm._e()],1),_c('v-subheader',[_vm._v(\"Adresse\")]),_c('v-textarea',{attrs:{\"outlined\":\"\",\"label\":\"Rue\",\"prepend-icon\":\"mdi-city\",\"rows\":\"3\"},model:{value:(_vm.client.Address.Address),callback:function ($$v) {_vm.$set(_vm.client.Address, \"Address\", $$v)},expression:\"client.Address.Address\"}}),_c('div',{attrs:{\"layout\":\"row\"}},[_c('v-text-field',{staticClass:\"mr-1\",attrs:{\"outlined\":\"\",\"label\":\"Code postal\",\"prepend-icon\":\"mdi-map-marker\"},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:{\"outlined\":\"\",\"label\":\"Ville\"},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:{\"outlined\":\"\",\"label\":\"Téléphone fixe\",\"prepend-icon\":\"mdi-phone\"},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:{\"outlined\":\"\",\"label\":\"Téléphone mobile\"},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:{\"outlined\":\"\",\"label\":\"E-mail\",\"prepend-icon\":\"mdi-email\"},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': _vm.mailValidation.Status === _vm.C.MAIL_STATUS_UNDETERMINED,\n 'error--text': _vm.mailValidation.Status !==_vm.C.MAIL_STATUS_OK && _vm.mailValidation.Status !== _vm.C.MAIL_STATUS_UNDETERMINED,\n }},[_vm._v(_vm._s(_vm.mailValidation.Msg))])],1):_vm._e()]),_c('v-textarea',{attrs:{\"outlined\":\"\",\"label\":\"Commentaires\",\"prepend-icon\":\"mdi-comment-text\",\"rows\":\"3\"},model:{value:(_vm.client.Comment),callback:function ($$v) {_vm.$set(_vm.client, \"Comment\", $$v)},expression:\"client.Comment\"}}),_c('v-subheader',[_vm._v(\"Autres\")]),_c('div',{attrs:{\"layout\":\"row\"}},[_c('div',{attrs:{\"flex\":\"48\"}},[_c('v-select',{attrs:{\"items\":_vm.pricingOptions,\"label\":\"Tarification\",\"outlined\":\"\",\"attach\":\"\",\"prepend-icon\":\"mdi-currency-eur\"},model:{value:(_vm.clientPricing),callback:function ($$v) {_vm.clientPricing=$$v},expression:\"clientPricing\"}})],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\",\"outlined\":\"\",\"clearable\":\"\",\"no-filter\":\"\",\"return-object\":\"\",\"attach\":\"\"},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.displayLockersFields)?_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],\"outlined\":\"\"},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()}\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[0].rules[0].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[0].rules[0].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=4b55165e&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=4b55165e&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 \"4b55165e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VAutocomplete,VBtn,VDatePicker,VForm,VIcon,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VMenu,VProgressCircular,VRadio,VRadioGroup,VSelect,VSubheader,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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',{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),(_vm.modules.odeon)?_c('div',[_c('v-list-item',{on:{\"click\":function($event){_vm.slide = 2; _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,on:{\"click\":function($event){return _vm.openTicket(t)}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"color\":_vm.TicketStatusById[t.Status].color}},[_vm._v(\"mdi-\"+_vm._s(_vm.TicketStatusById[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.TicketStatusById[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\":[function (v) { return !!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)}\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: 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 getOdeonParams: (id, params) => axios.get('/odeon-params', params),\n getBookstackToken: (params) => axios.get('/bookstack-token', { params }),\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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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)+\" \")]):_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\":\"60vh\"}},[_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:{\"depressed\":\"\",\"color\":\"green\",\"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()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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)}\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[0].rules[0].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[0].rules[0].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&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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\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[0].rules[0].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[0].rules[0].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&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: 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[0].rules[0].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[0].rules[0].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[0].rules[0].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[0].rules[0].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=7299bffc&\"\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&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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VContainer,VDialog,VDivider,VIcon,VImg,VSheet,VSkeletonLoader,VSpacer,VToolbar,VToolbarTitle})\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[0].rules[0].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[0].rules[0].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=e9d44532&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=e9d44532&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 \"e9d44532\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VWindow } from 'vuetify/lib/components/VWindow';\nimport { VWindowItem } from 'vuetify/lib/components/VWindow';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCardTitle,VDivider,VForm,VIcon,VList,VListItem,VListItemAction,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VSelect,VSubheader,VWindow,VWindowItem})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\"Scanner un e-billet/bon cadeau\")]),_c('v-card-text',[_c('v-window',{attrs:{\"touchless\":\"\"},model:{value:(_vm.step),callback:function ($$v) {_vm.step=$$v},expression:\"step\"}},[_c('v-window-item',{key:\"ticket\"},[_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.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('strong',[_vm._v(\"Cet e-billet est valide\")]),_c('br'),_vm._v(\" Acheté le \"+_vm._s(_vm.formatDateTimeHuman(_vm.voucher.Voucher.BeginValidityDate))+\" \"),(_vm.voucher.ClientSale.Firstname !== '' || _vm.voucher.ClientSale.Lastname !== '')?_c('span',[_vm._v(\"par \"+_vm._s(_vm.voucher.ClientSale.Firstname)+\" \"+_vm._s(_vm.voucher.ClientSale.Lastname))]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.voucher.Voucher.Firstname !== \"\" || _vm.voucher.Voucher.Lastname !== \"\" ? (\" pour \" + (_vm.voucher.Voucher.Firstname) + \" \" + (_vm.voucher.Voucher.Lastname)) : _vm.voucher.ClientGift && (_vm.voucher.ClientGift.Firstname || _vm.voucher.ClientGift.Lastname) ? (\" pour \" + (_vm.voucher.ClientGift.Firstname) + \" \" + (_vm.voucher.ClientGift.Lastname)) : \"\")+\" \"),_c('br'),_vm._v(\" Valeur d'achat de \"+_vm._s(_vm.formatMoney(_vm.voucher.Voucher.Value))+\" € \"),_c('br'),(_vm.voucher.SheetName !== '')?_c('span',[_vm._v(\"Émis via la planche \\\"\"+_vm._s(_vm.voucher.SheetName)+\"\\\"\")]):_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',[_vm._v(\" Cet e-billet a déjà été consommé\"+_vm._s(_vm.voucher.Voucher.UsageDate ? (\" le \" + (_vm.formatDateTimeHuman(_vm.voucher.Voucher.UsageDate))): '')+\", acheté par \"+_vm._s(_vm.voucher.ClientSale.Firstname)+\" \"+_vm._s(_vm.voucher.ClientSale.Lastname)+\" \"),(_vm.voucher.Voucher.Firstname || _vm.voucher.Voucher.Lastname)?_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._v(\". \"),_c('br'),_c('span',{staticClass:\"text-caption\"},[_vm._v(\"Valeur d'achat de \"+_vm._s(_vm.formatMoney(_vm.voucher.Voucher.Value))+\" €\")])]):(_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))+\". \")]):_c('span',[_vm._v(\" Ce bon ne semble pas valide. \")])])],1):_vm._e(),(_vm.voucher && _vm.voucher.Valid && _vm.voucher.Voucher && _vm.voucher.Voucher.ID)?_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.voucher && _vm.voucher.Voucher.DeliveredItems &&\n _vm.voucher.Voucher.DeliveredItems.length > 0\n )?_c('div',[_c('div',{staticClass:\"text-h6\"},[_vm._v(\" Produit\"+_vm._s(_vm.voucher.Voucher.DeliveredItems.length > 1 ? \"s\" : \"\")+\" crédité\"+_vm._s(_vm.voucher.Voucher.DeliveredItems.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',[_vm._v(\" \"+_vm._s(p.product.Label.FR)+\" \"),_c('v-spacer'),_c('v-chip',{attrs:{\"outlined\":\"\",\"color\":\"primary\"}},[_vm._v(\"Quantité: \"+_vm._s(p.Amount))])],1),_c('v-card-subtitle',{class:p.action.color ? ((p.action.color) + \"--text font-weight-bold\"):''},[_vm._v(_vm._s(p.action.text))]),_c('v-card-text',[(p.product.Stock === 0)?_c('div',{staticClass:\"red--text\"},[_vm._v(\" Ce produit n'est plus en stock \")]):_vm._e()])],1)],1)})],2):_vm._e(),(_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(ref){\n var active = ref.active;\n var toggle = ref.toggle;\nreturn [_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(),_c('div',{staticClass:\"d-flex justify-end ma-2\"},[(_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('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):_vm._e()],1)],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\",\"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\"},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)?_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\"}},[(_vm.associatedCards.find(function (c){ return c.deliveredCardIndex == cardIndex; }))?_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.associateCard(_vm.mappedProducts[card.ProductID].cardType, cardIndex)}}},[_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(_vm.mappedProducts[card.ProductID].cardType, cardIndex)}}},[_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(ref){\n var item = ref.item;\nreturn [(item.targetClientHasOne)?_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-card\")]):(item.cardType == 'QRCode')?_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(ref){\n var item = ref.item;\nreturn [(item.targetClientHasOne)?_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-card\")]):(item.cardType == 'QRCode')?_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(),(_vm.hasProductAssignedToCardTypeWithoutCard)?_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),_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\":function (v) { return _vm.useSearchedVoucher(v); },\"update:options\":function($event){_vm.pagination=$event}},scopedSlots:_vm._u([{key:\"item.BeginValidityDate\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(_vm._s(_vm.formatDateTimeHuman(item.BeginValidityDate)))]}},{key:\"item.SheetLabel\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticStyle:{\"display\":\"inline-block\",\"max-width\":\"150px\"}},[_vm._v(_vm._s(item.SheetLabel))])]}},{key:\"item.Firstname\",fn:function(ref){\n var item = ref.item;\nreturn [_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)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","