This commit is contained in:
@@ -5,10 +5,13 @@
|
|||||||
|
|
||||||
MISC ITEMS THAT CAME UP
|
MISC ITEMS THAT CAME UP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
todo: TWEAK Init menu code
|
todo: TWEAK Init menu code
|
||||||
tweaked but not quite right, need to go through as each user role and make sure it's correct
|
SubContractorFull && SubContractorLimited has no rights to anything outside their own ?!
|
||||||
right now sales can see admin translations because everyone has read access to translations for themselves I think
|
|
||||||
but it should be canChange for that particular one and possibly others
|
|
||||||
|
todo: sample headoffice user can't login
|
||||||
|
|
||||||
todo: No roles defined Users can login
|
todo: No roles defined Users can login
|
||||||
Customer user with no roles can login and gets a CSR list screen
|
Customer user with no roles can login and gets a CSR list screen
|
||||||
@@ -36,7 +39,6 @@ todo: customer users and regular users really need to reconsider not using a sta
|
|||||||
Also roles could then show on the customer-user grid which would be handy for some
|
Also roles could then show on the customer-user grid which would be handy for some
|
||||||
AT LEAST put a wait spinner on that page
|
AT LEAST put a wait spinner on that page
|
||||||
|
|
||||||
todo: server unreachable error box on login form, show as a warning, not an error, it's not necessarily an unusual condition
|
|
||||||
|
|
||||||
|
|
||||||
todo: deleting customer must attempt to delete the following as they are entered "in" form and not selected externally so they are part of Customer and should delete with it:
|
todo: deleting customer must attempt to delete the following as they are entered "in" form and not selected externally so they are part of Customer and should delete with it:
|
||||||
@@ -65,6 +67,9 @@ todo: Case 3595 Mass delete extension
|
|||||||
Do this early as it will be copied over and over again
|
Do this early as it will be copied over and over again
|
||||||
|
|
||||||
|
|
||||||
|
todo: BizRoles.cs at server:
|
||||||
|
Change so that workorder structure just copies from top workorder item and similar for others
|
||||||
|
Ideally we want a central spot for all workorder roles and then just tweak as necessary below it
|
||||||
|
|
||||||
............................................................
|
............................................................
|
||||||
|
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ export default {
|
|||||||
Contract: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
Contract: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
HeadOffice: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
HeadOffice: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
LoanUnit: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
LoanUnit: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
Part: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
Part: { Change: 98, ReadFullRecord: 98717, Select: 131071 },
|
||||||
|
PurchaseOrder: { Change: 98, ReadFullRecord: 98717, Select: 131071 },
|
||||||
PM: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
PM: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
PMItem: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
PMItem: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
PMTemplate: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
PMTemplate: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
PMTemplateItem: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
PMTemplateItem: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
Project: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
Project: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
PurchaseOrder: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
|
||||||
Quote: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
Quote: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
QuoteItem: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
QuoteItem: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
QuoteTemplate: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
QuoteTemplate: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
@@ -24,29 +24,25 @@ export default {
|
|||||||
Unit: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
Unit: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
UnitModel: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
UnitModel: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
Vendor: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
Vendor: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
WorkOrder: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
WorkOrder: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
|
||||||
WorkOrderItem: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
WorkOrderItem: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
|
||||||
WorkOrderItemExpense: {
|
WorkOrderItemExpense: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
|
||||||
Change: 33098,
|
WorkOrderItemLabor: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
|
||||||
ReadFullRecord: 65669,
|
WorkOrderItemLoan: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
|
||||||
Select: 131071
|
WorkOrderItemPart: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
|
||||||
},
|
|
||||||
WorkOrderItemLabor: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
|
||||||
WorkOrderItemLoan: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
|
||||||
WorkOrderItemPart: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
|
||||||
WorkOrderItemPartRequest: {
|
WorkOrderItemPartRequest: {
|
||||||
Change: 33098,
|
Change: 330,
|
||||||
ReadFullRecord: 65669,
|
ReadFullRecord: 98437,
|
||||||
Select: 131071
|
Select: 131071
|
||||||
},
|
},
|
||||||
WorkOrderItemScheduledUser: {
|
WorkOrderItemScheduledUser: {
|
||||||
Change: 33098,
|
Change: 330,
|
||||||
ReadFullRecord: 65669,
|
ReadFullRecord: 98437,
|
||||||
Select: 131071
|
Select: 131071
|
||||||
},
|
},
|
||||||
WorkOrderItemTask: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
WorkOrderItemTask: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
|
||||||
WorkOrderItemTravel: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
WorkOrderItemTravel: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
|
||||||
WorkOrderItemUnit: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
WorkOrderItemUnit: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
|
||||||
WorkOrderTemplate: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
WorkOrderTemplate: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
|
||||||
WorkOrderTemplateItem: {
|
WorkOrderTemplateItem: {
|
||||||
Change: 33098,
|
Change: 33098,
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export default {
|
|||||||
vm.appBar.title = ctx.title;
|
vm.appBar.title = ctx.title;
|
||||||
vm.appBar.readOnly = ctx.readOnly;
|
vm.appBar.readOnly = ctx.readOnly;
|
||||||
|
|
||||||
//:color="appBar.isMain ? 'primary' : 'secondary'"
|
|
||||||
if (ctx.readOnly === true) {
|
if (ctx.readOnly === true) {
|
||||||
vm.appBar.color = "readonlybanner";
|
vm.appBar.color = "readonlybanner";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -254,6 +254,7 @@ function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: null,
|
icon: null,
|
||||||
title: "GlobalLogo",
|
title: "GlobalLogo",
|
||||||
helpUrl: "form-adm-global-logo",
|
helpUrl: "form-adm-global-logo",
|
||||||
|
|||||||
@@ -399,6 +399,7 @@ function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: null,
|
icon: null,
|
||||||
title: "PickListTemplates",
|
title: "PickListTemplates",
|
||||||
helpUrl: "form-adm-global-select-templates",
|
helpUrl: "form-adm-global-select-templates",
|
||||||
|
|||||||
@@ -569,6 +569,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiLanguage",
|
icon: "$ayiLanguage",
|
||||||
title: "Translation",
|
title: "Translation",
|
||||||
helpUrl: "form-adm-translation",
|
helpUrl: "form-adm-translation",
|
||||||
|
|||||||
@@ -952,6 +952,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiUser",
|
icon: "$ayiUser",
|
||||||
title: "User",
|
title: "User",
|
||||||
helpUrl: "form-adm-user",
|
helpUrl: "form-adm-user",
|
||||||
|
|||||||
@@ -275,6 +275,7 @@ function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiCustomize",
|
icon: "$ayiCustomize",
|
||||||
title: "Customize",
|
title: "Customize",
|
||||||
helpUrl: "form-ay-customize",
|
helpUrl: "form-ay-customize",
|
||||||
|
|||||||
@@ -903,6 +903,7 @@ function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiFilter",
|
icon: "$ayiFilter",
|
||||||
title: "DataListView",
|
title: "DataListView",
|
||||||
helpUrl: "form-ay-data-list-view",
|
helpUrl: "form-ay-data-list-view",
|
||||||
|
|||||||
@@ -1010,6 +1010,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiDraftingCompass",
|
icon: "$ayiDraftingCompass",
|
||||||
title: "ReportDesignReport",
|
title: "ReportDesignReport",
|
||||||
helpUrl: "form-ay-report-edit",
|
helpUrl: "form-ay-report-edit",
|
||||||
|
|||||||
@@ -436,6 +436,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiClipboard",
|
icon: "$ayiClipboard",
|
||||||
title: "CustomerNoteNotes",
|
title: "CustomerNoteNotes",
|
||||||
helpUrl: "form-customer-note",
|
helpUrl: "form-customer-note",
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiClipboard",
|
icon: "$ayiClipboard",
|
||||||
title: "CustomerNoteList",
|
title: "CustomerNoteList",
|
||||||
helpUrl: "form-customer-notes",
|
helpUrl: "form-customer-notes",
|
||||||
|
|||||||
@@ -962,6 +962,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiUser",
|
icon: "$ayiUser",
|
||||||
title: "Contact",
|
title: "Contact",
|
||||||
helpUrl: "form-cust-contact",
|
helpUrl: "form-cust-contact",
|
||||||
|
|||||||
@@ -628,6 +628,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiBullhorn",
|
icon: "$ayiBullhorn",
|
||||||
title: "NotifySubscription",
|
title: "NotifySubscription",
|
||||||
helpUrl: "form-home-notify-subscriptions",
|
helpUrl: "form-home-notify-subscriptions",
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
data-cy="backupTable"
|
data-cy="backupTable"
|
||||||
>
|
>
|
||||||
<template v-slot:[`item.actions`]="{ item }">
|
<template v-slot:[`item.actions`]="{ item }">
|
||||||
<v-btn icon :href="item.url">
|
<v-btn icon :href="item.url" v-if="item.url">
|
||||||
<v-icon small class="mr-2">
|
<v-icon small class="mr-2">
|
||||||
$ayiFileDownload
|
$ayiFileDownload
|
||||||
</v-icon>
|
</v-icon>
|
||||||
@@ -105,7 +105,7 @@ export default {
|
|||||||
try {
|
try {
|
||||||
await initForm(vm);
|
await initForm(vm);
|
||||||
|
|
||||||
vm.rights = window.$gz.role.getRights(window.$gz.type.GlobalOps);
|
vm.rights = window.$gz.role.getRights(window.$gz.type.Backup);
|
||||||
vm.formState.readOnly = !vm.rights.change;
|
vm.formState.readOnly = !vm.rights.change;
|
||||||
vm.formState.ready = true;
|
vm.formState.ready = true;
|
||||||
window.$gz.eventBus.$on("menu-click", clickHandler);
|
window.$gz.eventBus.$on("menu-click", clickHandler);
|
||||||
@@ -362,6 +362,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: true,
|
isMain: true,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiFileArchive",
|
icon: "$ayiFileArchive",
|
||||||
title: "Backup",
|
title: "Backup",
|
||||||
helpUrl: "form-ops-backup",
|
helpUrl: "form-ops-backup",
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ export default {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: true,
|
isMain: true,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiRobot",
|
icon: "$ayiRobot",
|
||||||
title: "ServerJobs",
|
title: "ServerJobs",
|
||||||
helpUrl: "form-ops-jobs",
|
helpUrl: "form-ops-jobs",
|
||||||
|
|||||||
@@ -167,7 +167,7 @@
|
|||||||
/* Xeslint-disable */
|
/* Xeslint-disable */
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
const FORM_KEY = "ops-backup";
|
const FORM_KEY = "ops-notification-settings";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
async created() {
|
async created() {
|
||||||
@@ -175,7 +175,9 @@ export default {
|
|||||||
try {
|
try {
|
||||||
await initForm(vm);
|
await initForm(vm);
|
||||||
|
|
||||||
vm.rights = window.$gz.role.getRights(window.$gz.type.GlobalOps);
|
vm.rights = window.$gz.role.getRights(
|
||||||
|
window.$gz.type.OpsNotificationSettings
|
||||||
|
);
|
||||||
vm.formState.readOnly = !vm.rights.change;
|
vm.formState.readOnly = !vm.rights.change;
|
||||||
vm.formState.ready = true;
|
vm.formState.ready = true;
|
||||||
window.$gz.eventBus.$on("menu-click", clickHandler);
|
window.$gz.eventBus.$on("menu-click", clickHandler);
|
||||||
@@ -380,6 +382,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: true,
|
isMain: true,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiBullhorn",
|
icon: "$ayiBullhorn",
|
||||||
title: "NotificationSettings",
|
title: "NotificationSettings",
|
||||||
helpUrl: "form-ops-notification-settings",
|
helpUrl: "form-ops-notification-settings",
|
||||||
|
|||||||
@@ -183,6 +183,7 @@ export default {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: true,
|
isMain: true,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiBullhorn",
|
icon: "$ayiBullhorn",
|
||||||
title: "NotifyQueue",
|
title: "NotifyQueue",
|
||||||
helpUrl: "form-ops-notify-queue",
|
helpUrl: "form-ops-notify-queue",
|
||||||
|
|||||||
@@ -248,6 +248,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: true,
|
isMain: true,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiDoorOpen",
|
icon: "$ayiDoorOpen",
|
||||||
title: "ServerState",
|
title: "ServerState",
|
||||||
helpUrl: "form-ops-server-state",
|
helpUrl: "form-ops-server-state",
|
||||||
|
|||||||
@@ -650,6 +650,7 @@ async function clickHandler(menuItem) {
|
|||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
let menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
|
readOnly: vm.formState.readOnly,
|
||||||
icon: "$ayiSplotch",
|
icon: "$ayiSplotch",
|
||||||
title: "Widget",
|
title: "Widget",
|
||||||
helpUrl: "form-widget",
|
helpUrl: "form-widget",
|
||||||
|
|||||||
Reference in New Issue
Block a user