diff --git a/web/themes/custom/materiotheme/assets/dist/main.js b/web/themes/custom/materiotheme/assets/dist/main.js index c844863..2095f2a 100644 --- a/web/themes/custom/materiotheme/assets/dist/main.js +++ b/web/themes/custom/materiotheme/assets/dist/main.js @@ -1963,7 +1963,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _restAxios = __webpack_require__(/*! vuejs/api/rest-axios */ \"./web/themes/custom/materiotheme/vuejs/api/rest-axios.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nvar _querystring = _interopRequireDefault(__webpack_require__(/*! querystring */ \"./node_modules/querystring-es3/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// import { JSONAPI } from 'vuejs/api/json-axios';\nvar _default = {\n namespaced: true,\n // initial state\n state: {\n uid: null,\n // username: '',\n mail: \"\",\n csrf_token: null,\n logout_token: null,\n isloggedin: false,\n isAdmin: false,\n isAdherent: false,\n canSearch: false,\n roles: [],\n flagcolls: false\n },\n // getters\n getters: {},\n // mutations\n mutations: {\n SetCsrftoken: function SetCsrftoken(state, token) {\n console.log('SetCsrftoken', token);\n state.csrf_token = token;\n },\n setToken: function setToken(state, data) {\n state.uid = data.current_user.uid; // state.username = data.username;\n\n state.mail = data.current_user.mail;\n state.csrf_token = data.csrf_token;\n state.isloggedin = true;\n state.logout_token = data.logout_token;\n },\n setUid: function setUid(state, uid) {\n state.uid = uid;\n state.isloggedin = true;\n },\n setUser: function setUser(state, data) {\n state.mail = data.mail[0].value;\n state.uuid = data.uuid[0].value;\n },\n setRoles: function setRoles(state, roles) {\n console.log(\"User setRoles\", roles);\n state.roles = [];\n\n for (var i = 0; i < roles.length; i++) {\n state.roles.push(roles[i].target_id);\n } // check if admin\n\n\n if (state.roles.indexOf(\"admin\") !== -1 || state.roles.indexOf(\"root\") !== -1) {\n // console.log('is admin');\n state.isAdmin = true;\n } // check if has access to search\n\n\n if (state.roles.indexOf(\"adherent\") !== -1) {\n // console.log('is admin');\n state.canSearch = true;\n state.isAdherent = true;\n }\n },\n setLoggedOut: function setLoggedOut(state) {\n console.log(\"setLoggedOut state\", state);\n state.uid = null;\n state.mail = \"\";\n state.csrf_token = null;\n state.isloggedin = false;\n state.logout_token = null;\n\n if (state.isAdmin) {\n // TODO: what if on a page where login is needed (as commerce checkout and cart)\n window.location.reload(true);\n }\n\n state.asAdmin = false;\n state.canSearch = false;\n },\n setFlagColls: function setFlagColls(state, flagcolls) {\n console.log(\"User setFlagColls\", flagcolls);\n state.flagcolls = flagcolls;\n }\n },\n // actions\n actions: {\n userRegister: function userRegister(_ref, credentials) {\n var dispatch = _ref.dispatch,\n commit = _ref.commit,\n state = _ref.state;\n return new Promise(function (resolve, reject) {\n _restAxios.REST.get(\"/session/token\").then(function (_ref2) {\n var token = _ref2.token;\n commit(\"SetCsrftoken\", token);\n\n _restAxios.REST.post(\"/user/register?_format=json\", credentials, {\n \"X-CSRF-Token\": state.csrftoken\n }).then(function (_ref3) {\n var data = _ref3.data;\n console.log(\"user REST registered\", data);\n dispatch(\"userLogin\", credentials).then(function () {\n resolve();\n });\n }).catch(function (error) {\n console.warn(\"Issue with register\", error);\n Promise.reject(error);\n });\n });\n });\n },\n userLogin: function userLogin(_ref4, credentials) {\n var dispatch = _ref4.dispatch,\n commit = _ref4.commit,\n state = _ref4.state;\n return new Promise(function (resolve, reject) {\n dispatch(\"getToken\", credentials).then(function () {\n dispatch(\"getUser\").then(function (userdata) {\n console.log(\"User Loggedin\");\n\n if (state.isAdmin) {\n window.location.reload(true);\n }\n\n resolve();\n });\n });\n });\n },\n getToken: function getToken(_ref5, credentials) {\n var dispatch = _ref5.dispatch,\n commit = _ref5.commit,\n state = _ref5.state;\n return _restAxios.REST.post(\"/user/login?_format=json\", credentials).then(function (_ref6) {\n var data = _ref6.data;\n console.log(\"user REST getToken data\", data);\n commit(\"setToken\", data);\n }).catch(function (error) {\n console.warn(\"Issue with getToken\", error);\n Promise.reject(error);\n });\n },\n getUser: function getUser(_ref7) {\n var dispatch = _ref7.dispatch,\n commit = _ref7.commit,\n state = _ref7.state;\n return new Promise(function (resolve, reject) {\n _restAxios.REST.get(\"/session/token\").then(function (_ref8) {\n var data = _ref8.data;\n console.log('csrftoken', data);\n commit(\"SetCsrftoken\", data);\n console.log('state.csrf_token', state.csrf_token);\n var params = {\n token: state.csrf_token\n };\n\n _restAxios.REST.get(\"/user/\".concat(state.uid, \"?_format=json\"), params).then(function (_ref9) {\n var data = _ref9.data;\n console.log(\"user REST getUser data\", data);\n console.log(\"roles\", data.roles);\n commit(\"setUser\", data);\n\n if (data.roles) {\n commit(\"setRoles\", data.roles);\n }\n\n dispatch(\"getUserFlagColls\");\n resolve();\n }).catch(function (error) {\n console.warn(\"Issue with getUser\", error);\n Promise.reject(error);\n });\n });\n });\n },\n getUserFlagColls: function getUserFlagColls(_ref10) {\n var dispatch = _ref10.dispatch,\n commit = _ref10.commit,\n state = _ref10.state;\n // flags\n // REST.get('/flagging_collection/1?_format=json')\n // .then(( data ) => {\n // console.log('TEST FLAG REST data', data)\n // })\n // .catch(error => {\n // console.warn('Issue USER TEST FLAG REST', error)\n // Promise.reject(error)\n // })\n return _maAxios.MA.get(\"materio_flag/user_flagging_collections\").then(function (_ref11) {\n var data = _ref11.data;\n console.log(\"user MA getFlags data\", data);\n commit(\"setFlagColls\", data);\n }).catch(function (error) {\n console.warn(\"Issue USER MA getFlags\", error);\n Promise.reject(error);\n });\n },\n // https://drupal.stackexchange.com/questions/248539/cant-get-flagging-api-to-accept-post-request\n createFlagColl: function createFlagColl(_ref12, new_collection_name) {\n var dispatch = _ref12.dispatch,\n commit = _ref12.commit,\n state = _ref12.state;\n console.log(\"user createFlagColl\", new_collection_name);\n return new Promise(function (resolve, reject) {\n var params = {\n name: new_collection_name\n };\n\n _maAxios.MA.post(\"materio_flag/create_user_flagging_collection\", params).then(function (_ref13) {\n var data = _ref13.data;\n console.log(\"user MA createFlagColl data\", data);\n\n if (data.status) {\n dispatch('getUserFlagColls').then(function () {\n resolve();\n });\n }\n }).catch(function (error) {\n console.warn(\"Issue USER MA createFlag\", error);\n reject(error);\n });\n });\n },\n deleteFlagColl: function deleteFlagColl(_ref14, flagcollid) {\n var dispatch = _ref14.dispatch,\n commit = _ref14.commit,\n state = _ref14.state;\n console.log(\"user deleteFlagColl\", flagcollid);\n return new Promise(function (resolve, reject) {\n var params = {\n flagcollid: flagcollid\n };\n\n _maAxios.MA.post(\"materio_flag/delete_user_flagging_collection\", params).then(function (_ref15) {\n var data = _ref15.data;\n console.log(\"user MA deleteFlagColl data\", data);\n dispatch('getUserFlagColls').then(function () {\n resolve();\n });\n }).catch(function (error) {\n console.warn(\"Issue USER MA createFlag\", error);\n reject(error);\n });\n });\n },\n flag: function flag(_ref16, args) {\n var dispatch = _ref16.dispatch,\n commit = _ref16.commit,\n state = _ref16.state;\n console.log(\"user flag\", args.uuid, args.collid);\n var params = {\n flagid: state.flagcolls[args.collid].flag_id,\n uuid: args.uuid,\n flagcollid: args.collid\n };\n return _maAxios.MA.post(\"materio_flag/flag\", params).then(function (_ref17) {\n var data = _ref17.data;\n console.log(\"user MA flag\", data);\n dispatch('getUserFlagColls');\n }).catch(function (error) {\n console.warn(\"Issue USER MA flag\", error);\n });\n },\n unFlag: function unFlag(_ref18, args) {\n var dispatch = _ref18.dispatch,\n commit = _ref18.commit,\n state = _ref18.state;\n console.log(\"user unFlag\", args.uuid, args.collid);\n var params = {\n flagid: state.flagcolls[args.collid].flag_id,\n uuid: args.uuid,\n flagcollid: args.collid\n };\n return _maAxios.MA.post(\"materio_flag/unflag\", params).then(function (_ref19) {\n var data = _ref19.data;\n console.log(\"user MA unFlag\", data);\n dispatch('getUserFlagColls');\n }).catch(function (error) {\n console.warn(\"Issue USER MA unFlag\", error);\n });\n },\n userLogout: function userLogout(_ref20) {\n var commit = _ref20.commit,\n state = _ref20.state;\n\n var credentials = _querystring.default.stringify({\n token: state.csrf_token\n });\n\n _restAxios.REST.post(\"/user/logout\", credentials).then(function (resp) {\n console.log(\"userLogout resp\", resp);\n commit(\"setLoggedOut\");\n }).catch(function (error) {\n console.warn(\"Issue with logout\", error);\n Promise.reject(error);\n });\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/store/modules/user.js?"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _restAxios = __webpack_require__(/*! vuejs/api/rest-axios */ \"./web/themes/custom/materiotheme/vuejs/api/rest-axios.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nvar _querystring = _interopRequireDefault(__webpack_require__(/*! querystring */ \"./node_modules/querystring-es3/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// import { JSONAPI } from 'vuejs/api/json-axios';\nvar _default = {\n namespaced: true,\n // initial state\n state: {\n uid: null,\n // username: '',\n mail: \"\",\n csrf_token: null,\n logout_token: null,\n isloggedin: false,\n isAdmin: false,\n isAdherent: false,\n canSearch: false,\n roles: [],\n flagcolls: false\n },\n // getters\n getters: {},\n // mutations\n mutations: {\n SetCsrftoken: function SetCsrftoken(state, token) {\n console.log('SetCsrftoken', token);\n state.csrf_token = token;\n },\n setToken: function setToken(state, data) {\n state.uid = data.current_user.uid; // state.username = data.username;\n\n state.mail = data.current_user.mail;\n state.csrf_token = data.csrf_token;\n state.isloggedin = true;\n state.logout_token = data.logout_token;\n },\n setUid: function setUid(state, uid) {\n state.uid = uid;\n state.isloggedin = true;\n },\n setUser: function setUser(state, data) {\n state.mail = data.mail[0].value;\n state.uuid = data.uuid[0].value;\n },\n setRoles: function setRoles(state, roles) {\n console.log(\"User setRoles\", roles);\n state.roles = [];\n\n for (var i = 0; i < roles.length; i++) {\n state.roles.push(roles[i].target_id);\n } // check if admin\n\n\n if (state.roles.indexOf(\"admin\") !== -1 || state.roles.indexOf(\"root\") !== -1) {\n // console.log('is admin');\n state.isAdmin = true;\n } // check if has access to search\n\n\n if (state.roles.indexOf(\"adherent\") !== -1) {\n // console.log('is admin');\n state.canSearch = true;\n state.isAdherent = true;\n }\n },\n setLoggedOut: function setLoggedOut(state) {\n console.log(\"setLoggedOut state\", state);\n state.uid = null;\n state.mail = \"\";\n state.csrf_token = null;\n state.isloggedin = false;\n state.logout_token = null;\n\n if (state.isAdmin) {\n // TODO: what if on a page where login is needed (as commerce checkout and cart)\n window.location.reload(true);\n }\n\n state.asAdmin = false;\n state.canSearch = false;\n },\n setFlagColls: function setFlagColls(state, flagcolls) {\n console.log(\"User setFlagColls\", flagcolls);\n state.flagcolls = flagcolls;\n }\n },\n // actions\n actions: {\n userRegister: function userRegister(_ref, credentials) {\n var dispatch = _ref.dispatch,\n commit = _ref.commit,\n state = _ref.state;\n return new Promise(function (resolve, reject) {\n _restAxios.REST.get(\"/session/token\").then(function (_ref2) {\n var token = _ref2.token;\n commit(\"SetCsrftoken\", token);\n\n _restAxios.REST.post(\"/user/register?_format=json\", credentials, {\n \"X-CSRF-Token\": state.csrftoken\n }).then(function (_ref3) {\n var data = _ref3.data;\n console.log(\"user REST registered\", data);\n dispatch(\"userLogin\", credentials).then(function () {\n resolve();\n });\n }).catch(function (error) {\n console.warn(\"Issue with register\", error);\n Promise.reject(error);\n });\n });\n });\n },\n userLogin: function userLogin(_ref4, credentials) {\n var dispatch = _ref4.dispatch,\n commit = _ref4.commit,\n state = _ref4.state;\n return new Promise(function (resolve, reject) {\n dispatch(\"getToken\", credentials).then(function () {\n dispatch(\"getUser\").then(function (userdata) {\n console.log(\"User Loggedin\");\n\n if (state.isAdmin) {\n window.location.reload(true);\n }\n\n resolve();\n });\n });\n });\n },\n getToken: function getToken(_ref5, credentials) {\n var dispatch = _ref5.dispatch,\n commit = _ref5.commit,\n state = _ref5.state;\n return _restAxios.REST.post(\"/user/login?_format=json\", credentials).then(function (_ref6) {\n var data = _ref6.data;\n console.log(\"user REST getToken data\", data);\n commit(\"setToken\", data);\n }).catch(function (error) {\n console.warn(\"Issue with getToken\", error);\n Promise.reject(error);\n });\n },\n getUser: function getUser(_ref7) {\n var dispatch = _ref7.dispatch,\n commit = _ref7.commit,\n state = _ref7.state;\n return new Promise(function (resolve, reject) {\n _restAxios.REST.get(\"/session/token\").then(function (_ref8) {\n var data = _ref8.data;\n console.log('csrftoken', data);\n commit(\"SetCsrftoken\", data);\n console.log('state.csrf_token', state.csrf_token);\n var params = {\n token: state.csrf_token\n };\n\n _restAxios.REST.get(\"/user/\".concat(state.uid, \"?_format=json\"), params).then(function (_ref9) {\n var data = _ref9.data;\n console.log(\"user REST getUser data\", data);\n console.log(\"roles\", data.roles);\n commit(\"setUser\", data);\n\n if (data.roles) {\n commit(\"setRoles\", data.roles);\n }\n\n dispatch(\"getUserFlagColls\");\n resolve();\n }).catch(function (error) {\n console.warn(\"Issue with getUser\", error);\n Promise.reject(error);\n });\n });\n });\n },\n getUserFlagColls: function getUserFlagColls(_ref10) {\n var dispatch = _ref10.dispatch,\n commit = _ref10.commit,\n state = _ref10.state;\n // flags\n // REST.get('/flagging_collection/1?_format=json')\n // .then(( data ) => {\n // console.log('TEST FLAG REST data', data)\n // })\n // .catch(error => {\n // console.warn('Issue USER TEST FLAG REST', error)\n // Promise.reject(error)\n // })\n return _maAxios.MA.get(\"materio_flag/user_flagging_collections\").then(function (_ref11) {\n var data = _ref11.data;\n console.log(\"user MA getFlags data\", data);\n commit(\"setFlagColls\", data);\n }).catch(function (error) {\n console.warn(\"Issue USER MA getFlags\", error);\n Promise.reject(error);\n });\n },\n // https://drupal.stackexchange.com/questions/248539/cant-get-flagging-api-to-accept-post-request\n createFlagColl: function createFlagColl(_ref12, new_collection_name) {\n var dispatch = _ref12.dispatch,\n commit = _ref12.commit,\n state = _ref12.state;\n console.log(\"user createFlagColl\", new_collection_name);\n return new Promise(function (resolve, reject) {\n var params = {\n name: new_collection_name\n };\n\n _maAxios.MA.post(\"materio_flag/create_user_flagging_collection\", params).then(function (_ref13) {\n var data = _ref13.data;\n console.log(\"user MA createFlagColl data\", data);\n\n if (data.status) {\n dispatch('getUserFlagColls').then(function () {\n resolve();\n });\n }\n }).catch(function (error) {\n console.warn(\"Issue USER MA createFlag\", error);\n reject(error);\n });\n });\n },\n deleteFlagColl: function deleteFlagColl(_ref14, flagcollid) {\n var dispatch = _ref14.dispatch,\n commit = _ref14.commit,\n state = _ref14.state;\n console.log(\"user deleteFlagColl\", flagcollid);\n return new Promise(function (resolve, reject) {\n var params = {\n flagcollid: flagcollid\n };\n\n _maAxios.MA.post(\"materio_flag/delete_user_flagging_collection\", params).then(function (_ref15) {\n var data = _ref15.data;\n console.log(\"user MA deleteFlagColl data\", data);\n dispatch('getUserFlagColls').then(function () {\n resolve();\n });\n }).catch(function (error) {\n console.warn(\"Issue USER MA createFlag\", error);\n reject(error);\n });\n });\n },\n flag: function flag(_ref16, args) {\n var dispatch = _ref16.dispatch,\n commit = _ref16.commit,\n state = _ref16.state;\n console.log(\"user flag\", args.uuid, args.collid);\n return new Promise(function (resolve, reject) {\n var params = {\n flagid: state.flagcolls[args.collid].flag_id,\n uuid: args.uuid,\n flagcollid: args.collid\n };\n return _maAxios.MA.post(\"materio_flag/flag\", params).then(function (_ref17) {\n var data = _ref17.data;\n console.log(\"user MA flag\", data);\n dispatch('getUserFlagColls').then(function () {\n resolve();\n });\n }).catch(function (error) {\n console.warn(\"Issue USER MA flag\", error);\n });\n });\n },\n unFlag: function unFlag(_ref18, args) {\n var dispatch = _ref18.dispatch,\n commit = _ref18.commit,\n state = _ref18.state;\n console.log(\"user unFlag\", args.uuid, args.collid);\n return new Promise(function (resolve, reject) {\n var params = {\n flagid: state.flagcolls[args.collid].flag_id,\n uuid: args.uuid,\n flagcollid: args.collid\n };\n return _maAxios.MA.post(\"materio_flag/unflag\", params).then(function (_ref19) {\n var data = _ref19.data;\n console.log(\"user MA unFlag\", data);\n dispatch('getUserFlagColls').then(function () {\n resolve();\n });\n }).catch(function (error) {\n console.warn(\"Issue USER MA unFlag\", error);\n });\n });\n },\n userLogout: function userLogout(_ref20) {\n var commit = _ref20.commit,\n state = _ref20.state;\n\n var credentials = _querystring.default.stringify({\n token: state.csrf_token\n });\n\n _restAxios.REST.post(\"/user/logout\", credentials).then(function (resp) {\n console.log(\"userLogout resp\", resp);\n commit(\"setLoggedOut\");\n }).catch(function (error) {\n console.warn(\"Issue with logout\", error);\n Promise.reject(error);\n });\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/store/modules/user.js?"); /***/ }) diff --git a/web/themes/custom/materiotheme/vuejs/store/modules/user.js b/web/themes/custom/materiotheme/vuejs/store/modules/user.js index 08818fd..7e495a7 100644 --- a/web/themes/custom/materiotheme/vuejs/store/modules/user.js +++ b/web/themes/custom/materiotheme/vuejs/store/modules/user.js @@ -224,37 +224,44 @@ export default { }, flag({ dispatch, commit, state }, args) { console.log("user flag", args.uuid, args.collid); - const params = { - flagid: state.flagcolls[args.collid].flag_id, - uuid: args.uuid, - flagcollid: args.collid - }; - return MA.post(`materio_flag/flag`, params) - .then(({ data }) => { - console.log("user MA flag", data); - dispatch('getUserFlagColls') - }) - .catch(error => { - console.warn("Issue USER MA flag", error); - }); + return new Promise((resolve, reject) => { + const params = { + flagid: state.flagcolls[args.collid].flag_id, + uuid: args.uuid, + flagcollid: args.collid + }; + return MA.post(`materio_flag/flag`, params) + .then(({ data }) => { + console.log("user MA flag", data); + dispatch('getUserFlagColls').then(() =>{ + resolve(); + }); + }) + .catch(error => { + console.warn("Issue USER MA flag", error); + }); + }); }, unFlag({ dispatch, commit, state }, args) { console.log("user unFlag", args.uuid, args.collid); - const params = { - flagid: state.flagcolls[args.collid].flag_id, - uuid: args.uuid, - flagcollid: args.collid - }; - return MA.post(`materio_flag/unflag`, params) - .then(({ data }) => { - console.log("user MA unFlag", data); - dispatch('getUserFlagColls') - }) - .catch(error => { - console.warn("Issue USER MA unFlag", error); - }); - + return new Promise((resolve, reject) => { + const params = { + flagid: state.flagcolls[args.collid].flag_id, + uuid: args.uuid, + flagcollid: args.collid + }; + return MA.post(`materio_flag/unflag`, params) + .then(({ data }) => { + console.log("user MA unFlag", data); + dispatch('getUserFlagColls').then(() =>{ + resolve(); + }); + }) + .catch(error => { + console.warn("Issue USER MA unFlag", error); + }); + }); }, userLogout({ commit, state }) { const credentials = qs.stringify({