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?
todo: datetime picker read only mode is grayed out, should not be?
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: 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: 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
worked here locally latest build
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: 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

View File

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

View File

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

View File

@@ -5,15 +5,7 @@
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
<v-form ref="form">
<v-row>
<v-col
v-if="
form().showMe(this, 'ReviewUserId') && currentUserIsASupervisor
"
cols="12"
sm="6"
lg="4"
xl="3"
>
<v-col v-if="currentUserIsASupervisor" cols="12" sm="6" lg="4" xl="3">
<gz-pick-list
:ayaType="ayaTypes().User"
:variant="'inside'"
@@ -23,6 +15,7 @@
v-model="obj.userId"
:readonly="formState.readOnly"
:label="$ay.t('ReviewUserId')"
:rules="[form().required(this, 'userId')]"
ref="userId"
data-cy="userId"
:error-messages="form().serverErrors(this, 'userId')"
@@ -30,16 +23,7 @@
></gz-pick-list>
</v-col>
<v-col
v-if="
form().showMe(this, 'ReviewAssignedByUserId') &&
(selfAssigned || currentUserIsASupervisor)
"
cols="12"
sm="6"
lg="4"
xl="3"
>
<v-col v-if="currentUserIsASupervisor" cols="12" sm="6" lg="4" xl="3">
<gz-pick-list
:ayaType="ayaTypes().User"
:variant="'inside'"
@@ -47,6 +31,7 @@
v-model="obj.assignedByUserId"
readonly
:label="$ay.t('ReviewAssignedByUserId')"
:rules="[form().required(this, 'assignedByUserId')]"
ref="assignedByUserId"
data-cy="assignedByUserId"
:error-messages="form().serverErrors(this, 'assignedByUserId')"
@@ -72,6 +57,7 @@
<v-col cols="12" sm="6" lg="4" xl="3">
<gz-date-time-picker
:label="$ay.t('ReviewDueDate')"
:rules="[form().required(this, 'dueDate')]"
v-model="obj.dueDate"
:readonly="
formState.readOnly ||
@@ -214,9 +200,9 @@ export default {
//id 0 means create a new record don't load one
if (vm.$route.params.recordid != 0) {
//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
this.obj = this.$route.params.obj;
vm.obj = vm.$route.params.obj;
window.$gz.form.setFormState({
vm: vm,
loading: false
@@ -225,6 +211,14 @@ export default {
await vm.getDataFromApi(vm.$route.params.recordid); //let getdata handle loading
}
} 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({
vm: vm,
loading: false

View File

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