From a89a3b846a5ec20762fe9330488952e842fb6f97 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 9 Mar 2022 00:43:33 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 51 +++-------------- ayanova/src/api/initialize.js | 24 ++++++++ ayanova/src/api/translation.js | 2 + ayanova/src/router.js | 14 +++++ ayanova/src/views/ops-notify-log.vue | 86 ++++++++++++++++++++++++++++ 5 files changed, 133 insertions(+), 44 deletions(-) create mode 100644 ayanova/src/views/ops-notify-log.vue diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 19884017..66187e26 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -23,60 +23,23 @@ FIRST CLIENT SOURCE CODE COMMIT JAN 3rd 2019 # OUTSTANDING MAJOR AREAS TO BETA -How to implement auto notifications if can report and send from server - In Customer nave section replicate the customer subscriptions form as a new automatic subscriptions list and form - not for a specific user but for any customer that matches tags selected on customer - Add customer tags to match to send auto subscription - Add optional report to appropriate subscriptions - add text message, has templates like v7 did - Also in that same form be able to set the impersonation values that are *actually* used by the report code: - CurrencyName, LanguageName, TimeZoneName, hour12, translationid - defaults to local current user's settings, language setting etc and saves them - MUST HAVE feature click a button to see which current customers this would send to based on tags!!! - ideally it would display in the form live as any changes are made and if the customer has no email it would highl8ight that somehow - NICE TO HAVE FEATURE would also be available backwards from the Customer to view a list of things they will be notified about based on their tags and subscriptions set up - modify exiting notification system to understand and work with this type where instead of a user subscribing it's one of these tag types so it checks cust tags - to see if this customer gets it then locally compiles report and sends it - or else make it a parallel system with it's own subscriptions tables and models so as not to pollute existing system maybe? - This way users can make infinite different ones by tag with their own reports etc - There are only a few customer specific notifications so it won't be everything - - notifications required: - Existing mirror ones: - notifyCSRAccepted, notifyCSRRejected, notifyServiceImminent, notifyWOCompleted (attach wo report), notifyWOCreated - missing ones from v7: - Quote status changed (attach quote report), work order status changed (attach wo report) , wo follow up x days after closed (no report) - - Set file name of attached report, maybe user can template that? Or use biz object name file friendly morphed - -todo: remove these unused fields: - public string Subject { get; set; }//email subject line - public string Message { get; set; }//email body - - TODO: notify delivery log needs some help to work with this make sure to test that and confirm how it looks - right now it's reliying on a notifyevent id which doesn't exist because it's set to a customernotifyevent id instead - also it's not exposed in the UI!? (only the queue of events apparently) - PRUNE IT - - todo: dbutil erase db new tables not added!! may b e more than just customernotification, haven't been in there in a while - - todo: more reportable events likely need to be set as it only has two and sb more see v7 etc - wostatuschanged i think is missing link report id +TODO: notify delivery log is not exposed in the UI!? (only the queue of events apparently) + Add two separate datatable forms one for proxy and user notifications each in ops - - - - -OTHER B4BETA copy of customer notification doesn't seem to be implemented, possibly others, do a reference search for each notification and track down any that remain un-implemented. the customer copy one is important now that we have proxy notifications + test user color in home user and in adm-user with new record and exsiting just to confirm it's ok +can something be done with usercolor in schedule team view?? + cases bugbug: change status on quote and save then can't change other things and save. Maybe same with workorder too. +todo: dbutil erase db new tables not added!! may b e more than just customernotification, haven't been in there in a while +todo: mirror remove not used settings in regular user notify subscription to avoid duplicate problem there too with invalid or more likely hidden and hard to diagnose settings # OUTSTANDING BEFORE RELEASE diff --git a/ayanova/src/api/initialize.js b/ayanova/src/api/initialize.js index b055a29c..257fe7e1 100644 --- a/ayanova/src/api/initialize.js +++ b/ayanova/src/api/initialize.js @@ -780,6 +780,30 @@ function initNavPanel() { }); } + if ( + !licenseLockout && + window.$gz.role.canOpen(window.$gz.type.OpsNotificationSettings) + ) { + sub.push({ + title: "NotificationDeliveryLog", + icon: "$$ayiHistory", + route: "/ops-notify-log", + key: key++ + }); + } + + if ( + !licenseLockout && + window.$gz.role.canOpen(window.$gz.type.OpsNotificationSettings) + ) { + sub.push({ + title: "NotificationCustomerDeliveryLog", + icon: "$$ayiHistory", + route: "/ops-customer-notify-log", + key: key++ + }); + } + // OPS VIEW SERVER CONFIGURATION if (window.$gz.role.canOpen(window.$gz.type.GlobalOps)) { sub.push({ diff --git a/ayanova/src/api/translation.js b/ayanova/src/api/translation.js index 35587dba..33bc4555 100644 --- a/ayanova/src/api/translation.js +++ b/ayanova/src/api/translation.js @@ -168,6 +168,8 @@ export default { "ServerProfiler", "NotificationSettings", "ViewServerConfiguration", + "NotificationCustomerDeliveryLog", + "NotificationDeliveryLog", "HelpAboutAyaNova", "MenuHelp", "More", diff --git a/ayanova/src/router.js b/ayanova/src/router.js index 3df33211..50f1d073 100644 --- a/ayanova/src/router.js +++ b/ayanova/src/router.js @@ -1053,6 +1053,20 @@ export default new Router({ /* webpackChunkName: "ops" */ "./views/ops-notification-settings.vue" ) }, + { + path: "/ops-notify-log", + name: "ops-notify-log", + component: () => + import(/* webpackChunkName: "ops" */ "./views/ops-notify-log.vue") + }, + { + path: "/ops-customer-notify-log", + name: "ops-customer-notify-log", + component: () => + import( + /* webpackChunkName: "ops" */ "./views/ops-customer-notify-log.vue" + ) + }, //######################### CUSTOMER USER GROUP ###################################### { diff --git a/ayanova/src/views/ops-notify-log.vue b/ayanova/src/views/ops-notify-log.vue new file mode 100644 index 00000000..dabef847 --- /dev/null +++ b/ayanova/src/views/ops-notify-log.vue @@ -0,0 +1,86 @@ + +