From 7ab985549280ea7fa91cf5f73d2d31bcb3c07fb4 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Mon, 17 Oct 2022 08:50:25 +0200 Subject: admin: edit user --- pages/admin/index.vue | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) (limited to 'pages') diff --git a/pages/admin/index.vue b/pages/admin/index.vue index e08f819..08c0121 100644 --- a/pages/admin/index.vue +++ b/pages/admin/index.vue @@ -1,6 +1,67 @@ @@ -24,6 +86,7 @@ export default { name: "AdminView", head: { title: "Admin panel ยท Verden" }, computed: { + ...mapGetters(["isLoading"]), ...mapGetters("auth", ["isLogged", "me"]), ...mapGetters("users", ["users", "count"]), }, @@ -31,6 +94,8 @@ export default { return { page: 0, pages: 0, + boxEditUser: 0, + form: {}, }; }, components: { @@ -50,5 +115,31 @@ export default { this.pages = Math.ceil(this.count / 20); }); }, + methods: { + openEditModal(id) { + this.$store.dispatch("users/findById", id).then((response) => { + this.boxEditUser = id; + this.form = response.data; + }); + }, + saveUser(event) { + const f = this.form; + + if (f.username && f.email) { + this.$store.dispatch("users/editUser", f).then((response) => { + if (response.status == 200) { + this.$toast.success("User has been saved"); + + this.$store.dispatch("users/getUsers", this.page).then(() => { + this.pages = Math.ceil(this.count / 20); + }); + } else { + this.$toast.error(response.data.error); + } + }); + } + event.preventDefault(); + }, + }, }; -- cgit v1.2.3-18-g5258