This commit is contained in:
2020-12-22 00:36:58 +00:00
parent a4b89671b4
commit 1780e8924f
5 changed files with 41 additions and 31 deletions

View File

@@ -11,18 +11,20 @@ todo: date and time defaults for appointments and shit
mainly what to do with stop date for example in reminder, can set start, how to set stop? mainly what to do with stop date for example in reminder, can set start, how to set stop?
todo: datetime picker read only mode is grayed out, should not be? todo: datetime picker read only mode is grayed out, should not be?
probably still setting both readonly and disabled like old times probably still setting both readonly and disabled like old times
todo: Server returned broken rules not showing in form beside the field in Question
test on widget form to confirm
todo: incorrect creds on login get "res is not defined" instead of proper error todo: incorrect creds on login get "res is not defined" instead of proper error
todo: vendor edit form has locale keys from headoffice, check all recent, may be more, memo etc todo: vendor edit form has locale keys from headoffice, check all recent, may be more, memo etc
todo: All objects, check biz searchresult code to ensure all text fields were added as some were probably missed, particularly recent ones todo: All objects, check biz searchresult code to ensure all text fields were added as some were probably missed, particularly recent ones
todo: newer objects use full translation key for form field definitions but some forms have abbreviated or lower case for ShowMe() code, double check recent todo: newer objects use full translation key for form field definitions but some forms have abbreviated or lower case for ShowMe() code, double check recent
todo: grid list filter needs to have a single button to reset / clear to default because things like review will always be having their filters set
by the most recent op
todo: NEXT DEPLOY TO DEVOPS attach a photo from phone, no error just does nothing todo: NEXT DEPLOY TO DEVOPS attach a photo from phone, no error just does nothing
worked here locally latest build worked here locally latest build
retest on server after next deploy retest on server after next deploy
todo: get rid of db warning from context setname code that is deprecated and keeps showing in log on boot todo: get rid of db warning from context setname code that is deprecated and keeps showing in log on boot
todo: if the Name field could be in the page title then bookmarking a customer for example would show the customer name in the bookmark
todo: investigate if a picklist control can implement a feature to select *all* items it returns todo: investigate if a picklist control can implement a feature to select *all* items it returns

View File

@@ -296,9 +296,14 @@ export default {
// alert("STUB: plugin / more"); // alert("STUB: plugin / more");
// break; // break;
case "review": case "review":
//go to list
// path: "/home-reviews/:objectType?/:objectId?",
vm.$router.push({ vm.$router.push({
name: "review-edit", name: "home-reviews",
params: { ayatype: item.data.ayaType, recordid: item.data.recordId } params: {
objectType: item.data.ayaType,
objectId: item.data.recordId
}
}); });
break; break;
case "history": case "history":

View File

@@ -132,13 +132,13 @@ export default new Router({
import(/* webpackChunkName: "ay-common" */ "./views/home-reminder.vue") import(/* webpackChunkName: "ay-common" */ "./views/home-reminder.vue")
}, },
{ {
path: "/home-reviews", path: "/home-reviews/:objectType?/:objectId?",
name: "home-reviews", name: "home-reviews",
component: () => component: () =>
import(/* webpackChunkName: "ay-common" */ "./views/home-reviews.vue") import(/* webpackChunkName: "ay-common" */ "./views/home-reviews.vue")
}, },
{ {
path: "/home-reviews/:recordid", path: "/home-reviews/:recordid/:objectType?/:objectId?",
name: "review-edit", name: "review-edit",
component: () => component: () =>
import(/* webpackChunkName: "ay-common" */ "./views/home-review.vue") import(/* webpackChunkName: "ay-common" */ "./views/home-review.vue")

View File

@@ -5,15 +5,7 @@
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error> <gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
<v-form ref="form"> <v-form ref="form">
<v-row> <v-row>
<v-col <v-col v-if="currentUserIsASupervisor" cols="12" sm="6" lg="4" xl="3">
v-if="
form().showMe(this, 'ReviewUserId') && currentUserIsASupervisor
"
cols="12"
sm="6"
lg="4"
xl="3"
>
<gz-pick-list <gz-pick-list
:ayaType="ayaTypes().User" :ayaType="ayaTypes().User"
:variant="'inside'" :variant="'inside'"
@@ -23,6 +15,7 @@
v-model="obj.userId" v-model="obj.userId"
:readonly="formState.readOnly" :readonly="formState.readOnly"
:label="$ay.t('ReviewUserId')" :label="$ay.t('ReviewUserId')"
:rules="[form().required(this, 'userId')]"
ref="userId" ref="userId"
data-cy="userId" data-cy="userId"
:error-messages="form().serverErrors(this, 'userId')" :error-messages="form().serverErrors(this, 'userId')"
@@ -30,16 +23,7 @@
></gz-pick-list> ></gz-pick-list>
</v-col> </v-col>
<v-col <v-col v-if="currentUserIsASupervisor" cols="12" sm="6" lg="4" xl="3">
v-if="
form().showMe(this, 'ReviewAssignedByUserId') &&
(selfAssigned || currentUserIsASupervisor)
"
cols="12"
sm="6"
lg="4"
xl="3"
>
<gz-pick-list <gz-pick-list
:ayaType="ayaTypes().User" :ayaType="ayaTypes().User"
:variant="'inside'" :variant="'inside'"
@@ -47,6 +31,7 @@
v-model="obj.assignedByUserId" v-model="obj.assignedByUserId"
readonly readonly
:label="$ay.t('ReviewAssignedByUserId')" :label="$ay.t('ReviewAssignedByUserId')"
:rules="[form().required(this, 'assignedByUserId')]"
ref="assignedByUserId" ref="assignedByUserId"
data-cy="assignedByUserId" data-cy="assignedByUserId"
:error-messages="form().serverErrors(this, 'assignedByUserId')" :error-messages="form().serverErrors(this, 'assignedByUserId')"
@@ -72,6 +57,7 @@
<v-col cols="12" sm="6" lg="4" xl="3"> <v-col cols="12" sm="6" lg="4" xl="3">
<gz-date-time-picker <gz-date-time-picker
:label="$ay.t('ReviewDueDate')" :label="$ay.t('ReviewDueDate')"
:rules="[form().required(this, 'dueDate')]"
v-model="obj.dueDate" v-model="obj.dueDate"
:readonly=" :readonly="
formState.readOnly || formState.readOnly ||
@@ -214,9 +200,9 @@ export default {
//id 0 means create a new record don't load one //id 0 means create a new record don't load one
if (vm.$route.params.recordid != 0) { if (vm.$route.params.recordid != 0) {
//is there already an obj from a prior operation? //is there already an obj from a prior operation?
if (this.$route.params.obj) { if (vm.$route.params.obj) {
//yes, no need to fetch it //yes, no need to fetch it
this.obj = this.$route.params.obj; vm.obj = vm.$route.params.obj;
window.$gz.form.setFormState({ window.$gz.form.setFormState({
vm: vm, vm: vm,
loading: false loading: false
@@ -225,6 +211,14 @@ export default {
await vm.getDataFromApi(vm.$route.params.recordid); //let getdata handle loading await vm.getDataFromApi(vm.$route.params.recordid); //let getdata handle loading
} }
} else { } else {
//New record so there has to be a object type and objectId in route
// path: "/home-reviews/:recordid/:objectType?/:objectId?",
vm.obj.objectId = vm.$route.params.objectId;
vm.obj.objectType = vm.$route.params.objectType;
if (!vm.obj.objectId || !vm.obj.objectType) {
throw "ObjectType and ObjectId are required to set a reminder";
}
window.$gz.form.setFormState({ window.$gz.form.setFormState({
vm: vm, vm: vm,
loading: false loading: false

View File

@@ -26,9 +26,16 @@
const FORM_KEY = "review-list"; const FORM_KEY = "review-list";
export default { export default {
created() { created() {
this.rights = window.$gz.role.getRights(window.$gz.type.Review); let vm = this;
vm.rights = window.$gz.role.getRights(window.$gz.type.Review);
window.$gz.eventBus.$on("menu-click", clickHandler); window.$gz.eventBus.$on("menu-click", clickHandler);
generateMenu(this); vm.objectId = vm.$route.params.objectId;
vm.objectType = vm.$route.params.objectType;
if(vm.objectId && vm.objectType){
//pre-filter
}
generateMenu(vm);
}, },
beforeDestroy() { beforeDestroy() {
window.$gz.eventBus.$off("menu-click", clickHandler); window.$gz.eventBus.$off("menu-click", clickHandler);
@@ -42,7 +49,9 @@ export default {
rights: window.$gz.role.defaultRightsObject(), rights: window.$gz.role.defaultRightsObject(),
ayType: window.$gz.type.Review, ayType: window.$gz.type.Review,
selectedItems: [], selectedItems: [],
reload: false reload: false,
objectId: null,
objectType: null
}; };
}, },
methods: { methods: {