Mercurial > gemma
diff client/src/stores/usermanagement.js @ 389:e7d5383bc358
feat: Primitive validation and error messages
Added simple error messages to the usermanagement
Added simple validation rules for fields:
* password rules according issue70
* email used the regex from gocode
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 13 Aug 2018 16:21:26 +0200 |
parents | 0a9aaf21f69f |
children | 40e7ab3df32c |
line wrap: on
line diff
--- a/client/src/stores/usermanagement.js Mon Aug 13 11:03:30 2018 +0200 +++ b/client/src/stores/usermanagement.js Mon Aug 13 16:21:26 2018 +0200 @@ -2,11 +2,12 @@ const newUser = () => { return { - user: "", + user: "N.N", email: "", country: null, role: null, - isNew: true + isNew: true, + password: "" }; }; @@ -54,18 +55,35 @@ actions: { saveCurrentUser({ commit }, data) { const { path, user } = data; - return new Promise((resolve, reject) => { - HTTP.put("/users/" + path, user, { - headers: { "X-Gemma-Auth": localStorage.getItem("token") } - }) - .then(response => { - commit("setUserDetailsInvisible"); - resolve(response); + if (user.isNew) { + return new Promise((resolve, reject) => { + HTTP.post("/users/", user, { + headers: { "X-Gemma-Auth": localStorage.getItem("token") } }) - .catch(error => { - reject(error); - }); - }); + .then(response => { + commit("setUserDetailsInvisible"); + commit("clearCurrentUser"); + resolve(response); + }) + .catch(error => { + reject(error); + }); + }); + } else { + return new Promise((resolve, reject) => { + HTTP.put("/users/" + path, user, { + headers: { "X-Gemma-Auth": localStorage.getItem("token") } + }) + .then(response => { + commit("setUserDetailsInvisible"); + commit("clearCurrentUser"); + resolve(response); + }) + .catch(error => { + reject(error); + }); + }); + } }, loadUsers({ commit }) { return new Promise((resolve, reject) => {