summaryrefslogtreecommitdiff
path: root/pages/models/_id/edit.vue
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2022-09-23 21:04:03 +0200
committerSanto Cariotti <santo@dcariotti.me>2022-09-23 21:04:03 +0200
commit6164e98a11c2437fd6258672ad7fd636d2b66574 (patch)
treeca19d834b0afcf2a9ad787ad5e0310abebf3ecb9 /pages/models/_id/edit.vue
parent503fb2b362da8cf5541ac9a7fc879593e64de7f4 (diff)
Edit model using a component for the same form
Diffstat (limited to 'pages/models/_id/edit.vue')
-rw-r--r--pages/models/_id/edit.vue50
1 files changed, 50 insertions, 0 deletions
diff --git a/pages/models/_id/edit.vue b/pages/models/_id/edit.vue
new file mode 100644
index 0000000..45755be
--- /dev/null
+++ b/pages/models/_id/edit.vue
@@ -0,0 +1,50 @@
+<template lang="pug">
+ .mx-auto.w-90p.py-6#modelpage(class="sm:px-6 lg:px-8 md:max-w-7xl")
+ h1.text-3xl.font-bold Edit {{ model.name }}
+ model-form(:data="model" v-if="model.id")
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+
+export default {
+ name: "ModelEditView",
+ layout: "default",
+ data() {
+ return {
+ model: {},
+ };
+ },
+ head() {
+ return {
+ title: "Modifica " + this.model.name + " ยท Verden",
+ };
+ },
+ components: {},
+ computed: {
+ ...mapGetters(["isLoading"]),
+ ...mapGetters("auth", ["isLogged", "me"]),
+ },
+ async created() {
+ this.id = this.$route.params.id;
+ this.baseAPI = this.$config.api;
+
+ if (!this.isLogged) {
+ window.location.href = "/models/" + this.id;
+ } else {
+ await this.$store.dispatch("auth/findMe");
+ this.$store.dispatch("models/findModel", this.id).then((response) => {
+ if (response.status != 200) {
+ window.location.href = "/models";
+ } else {
+ this.model = response.data;
+ if (!(this.model.author_id == this.me.id || this.me.is_staff)) {
+ window.location.href = "/models/" + this.id;
+ }
+ }
+ });
+ }
+ },
+ methods: {},
+};
+</script>