diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 6c5d3a6d..3f36dac8 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -70,7 +70,10 @@ currently doing: Review Make sure can review from all edit forms test it out full from front to back start to finish, lots of edges on this one - +todo: make new review from a review for the same object (new menu option in review) +todo: make a new review from review list +todo: not able to make a new review from review list when it's just a direct viewing of list + or should I add an object selector? NO EACH OBJECT DEV CYCLE: diff --git a/ayanova/src/api/gzapi.js b/ayanova/src/api/gzapi.js index beff2238..a3b720bb 100644 --- a/ayanova/src/api/gzapi.js +++ b/ayanova/src/api/gzapi.js @@ -710,6 +710,22 @@ export default { } } } + }, + /////////////////////////////////// + // FETCH BIZ OBJECT NAME + // + // + async fetchBizObjectName(ayaType, objectId) { + //todo: this is a good candidate for a light weight cache + //maybe one hour or something to invalidate and volatile on refresh + let res = await this.get(`name/${ayaType}/${objectId}`); + + //We never expect there to be no data here + if (!res.hasOwnProperty("data")) { + return Promise.reject(res); + } else { + return res.data; + } } //--------------- diff --git a/ayanova/src/views/home-review.vue b/ayanova/src/views/home-review.vue index 71208896..9e90fbdb 100644 --- a/ayanova/src/views/home-review.vue +++ b/ayanova/src/views/home-review.vue @@ -229,11 +229,20 @@ export default { throw "ObjectType and ObjectId are required to set a reminder"; } vm.name = vm.$route.params.name; + window.$gz.form.setFormState({ vm: vm, loading: false }); } + + if (!vm.name) { + vm.name = await window.$gz.api.fetchBizObjectName( + vm.obj.objectType, + vm.obj.objectId + ); + } + window.$gz.form.setFormState({ vm: vm, dirty: false, @@ -681,9 +690,15 @@ async function clickHandler(menuItem) { case "new": m.vm.$router.push({ name: "review-edit", - params: { recordid: 0, new: true } + params: { + recordid: 0, + objectType: m.vm.obj.objectType, + objectId: m.vm.obj.objectId, + name: m.vm.name + } }); break; + case "duplicate": m.vm.duplicate(); break; diff --git a/ayanova/src/views/home-reviews.vue b/ayanova/src/views/home-reviews.vue index 12d2b3a2..b6004c12 100644 --- a/ayanova/src/views/home-reviews.vue +++ b/ayanova/src/views/home-reviews.vue @@ -1,6 +1,6 @@