This commit is contained in:
2020-12-07 20:15:29 +00:00
parent 20652f9aaa
commit d42da74592
20 changed files with 48 additions and 28 deletions

View File

@@ -5,10 +5,13 @@
MISC ITEMS THAT CAME UP
todo: TWEAK Init menu code
tweaked but not quite right, need to go through as each user role and make sure it's correct
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
SubContractorFull && SubContractorLimited has no rights to anything outside their own ?!
todo: sample headoffice user can't login
todo: No roles defined Users can login
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
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:
@@ -65,6 +67,9 @@ todo: Case 3595 Mass delete extension
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
............................................................

View File

@@ -10,13 +10,13 @@ export default {
Contract: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
HeadOffice: { 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 },
PMItem: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
PMTemplate: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
PMTemplateItem: { 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 },
QuoteItem: { 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 },
UnitModel: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
Vendor: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrder: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrderItem: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrderItemExpense: {
Change: 33098,
ReadFullRecord: 65669,
Select: 131071
},
WorkOrderItemLabor: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrderItemLoan: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrderItemPart: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrder: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
WorkOrderItem: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
WorkOrderItemExpense: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
WorkOrderItemLabor: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
WorkOrderItemLoan: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
WorkOrderItemPart: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
WorkOrderItemPartRequest: {
Change: 33098,
ReadFullRecord: 65669,
Change: 330,
ReadFullRecord: 98437,
Select: 131071
},
WorkOrderItemScheduledUser: {
Change: 33098,
ReadFullRecord: 65669,
Change: 330,
ReadFullRecord: 98437,
Select: 131071
},
WorkOrderItemTask: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrderItemTravel: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrderItemUnit: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrderItemTask: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
WorkOrderItemTravel: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
WorkOrderItemUnit: { Change: 330, ReadFullRecord: 98437, Select: 131071 },
WorkOrderTemplate: { Change: 33098, ReadFullRecord: 65669, Select: 131071 },
WorkOrderTemplateItem: {
Change: 33098,

View File

@@ -47,7 +47,7 @@ export default {
vm.appBar.title = ctx.title;
vm.appBar.readOnly = ctx.readOnly;
//:color="appBar.isMain ? 'primary' : 'secondary'"
if (ctx.readOnly === true) {
vm.appBar.color = "readonlybanner";
} else {

View File

@@ -254,6 +254,7 @@ function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: null,
title: "GlobalLogo",
helpUrl: "form-adm-global-logo",

View File

@@ -399,6 +399,7 @@ function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: null,
title: "PickListTemplates",
helpUrl: "form-adm-global-select-templates",

View File

@@ -569,6 +569,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiLanguage",
title: "Translation",
helpUrl: "form-adm-translation",

View File

@@ -952,6 +952,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiUser",
title: "User",
helpUrl: "form-adm-user",

View File

@@ -275,6 +275,7 @@ function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiCustomize",
title: "Customize",
helpUrl: "form-ay-customize",

View File

@@ -903,6 +903,7 @@ function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiFilter",
title: "DataListView",
helpUrl: "form-ay-data-list-view",

View File

@@ -1010,6 +1010,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiDraftingCompass",
title: "ReportDesignReport",
helpUrl: "form-ay-report-edit",

View File

@@ -436,6 +436,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiClipboard",
title: "CustomerNoteNotes",
helpUrl: "form-customer-note",

View File

@@ -144,6 +144,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiClipboard",
title: "CustomerNoteList",
helpUrl: "form-customer-notes",

View File

@@ -962,6 +962,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiUser",
title: "Contact",
helpUrl: "form-cust-contact",

View File

@@ -628,6 +628,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiBullhorn",
title: "NotifySubscription",
helpUrl: "form-home-notify-subscriptions",

View File

@@ -74,7 +74,7 @@
data-cy="backupTable"
>
<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">
$ayiFileDownload
</v-icon>
@@ -105,7 +105,7 @@ export default {
try {
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.ready = true;
window.$gz.eventBus.$on("menu-click", clickHandler);
@@ -362,6 +362,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: true,
readOnly: vm.formState.readOnly,
icon: "$ayiFileArchive",
title: "Backup",
helpUrl: "form-ops-backup",

View File

@@ -172,6 +172,7 @@ export default {
function generateMenu(vm) {
let menuOptions = {
isMain: true,
readOnly: vm.formState.readOnly,
icon: "$ayiRobot",
title: "ServerJobs",
helpUrl: "form-ops-jobs",

View File

@@ -167,7 +167,7 @@
/* Xeslint-disable */
////////////////////////////////////////////////////////////////////////////////////////////////////////////
const FORM_KEY = "ops-backup";
const FORM_KEY = "ops-notification-settings";
export default {
async created() {
@@ -175,7 +175,9 @@ export default {
try {
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.ready = true;
window.$gz.eventBus.$on("menu-click", clickHandler);
@@ -380,6 +382,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: true,
readOnly: vm.formState.readOnly,
icon: "$ayiBullhorn",
title: "NotificationSettings",
helpUrl: "form-ops-notification-settings",

View File

@@ -183,6 +183,7 @@ export default {
function generateMenu(vm) {
let menuOptions = {
isMain: true,
readOnly: vm.formState.readOnly,
icon: "$ayiBullhorn",
title: "NotifyQueue",
helpUrl: "form-ops-notify-queue",

View File

@@ -248,6 +248,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: true,
readOnly: vm.formState.readOnly,
icon: "$ayiDoorOpen",
title: "ServerState",
helpUrl: "form-ops-server-state",

View File

@@ -650,6 +650,7 @@ async function clickHandler(menuItem) {
function generateMenu(vm) {
let menuOptions = {
isMain: false,
readOnly: vm.formState.readOnly,
icon: "$ayiSplotch",
title: "Widget",
helpUrl: "form-widget",