فهرست منبع

fix(webapp): fix token expiration edits, fixes #508

Peter Thomassen 4 سال پیش
والد
کامیت
e3bae111d2
2فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  1. 3 1
      webapp/src/views/CrudList.vue
  2. 4 0
      webapp/src/views/TokenList.vue

+ 3 - 1
webapp/src/views/CrudList.vue

@@ -432,6 +432,7 @@ export default {
     itemIsReadOnly: () => false,
     itemIsReadOnly: () => false,
     postcreate: this.close,
     postcreate: this.close,
     precreate: () => undefined,
     precreate: () => undefined,
+    preupdate: () => undefined,
     keyupHandler: (e) => {
     keyupHandler: (e) => {
       // Intercept Enter key
       // Intercept Enter key
       if (e.keyCode === 13) {
       if (e.keyCode === 13) {
@@ -554,6 +555,7 @@ export default {
           tr.addEventListener("animationend", () => tr.classList.remove('successFade'), true);
           tr.addEventListener("animationend", () => tr.classList.remove('successFade'), true);
           tr.classList.add('successFade');
           tr.classList.add('successFade');
         }
         }
+        this.preupdate(item);
         const url = this.resourcePath(
         const url = this.resourcePath(
                 this.resourcePath(this.paths.update, this.$route.params, '::'),
                 this.resourcePath(this.paths.update, this.$route.params, '::'),
                 item,
                 item,
@@ -562,7 +564,7 @@ export default {
         await withWorking(this.error, () => HTTP
         await withWorking(this.error, () => HTTP
                 .patch(url, item)
                 .patch(url, item)
                 .then(r => {
                 .then(r => {
-                  self.rows[self.rows.indexOf(item)] = r.data;
+                  Object.assign(self.rows[self.rows.indexOf(item)], r.data);
                   self.dirty.delete(item);
                   self.dirty.delete(item);
                   self.dirtyError.delete(item);
                   self.dirtyError.delete(item);
                 })
                 })

+ 4 - 0
webapp/src/views/TokenList.vue

@@ -148,6 +148,10 @@ export default {
             delete this.createDialogItem.allowed_subnets;
             delete this.createDialogItem.allowed_subnets;
           }
           }
         },
         },
+        preupdate(item) {
+          item.max_age = item.max_age || null;
+          item.max_unused_period = item.max_unused_period || null;
+        },
     }
     }
   },
   },
 };
 };