From a0a38c9c9f1a88749c1be524ee3dc64ae9e294d8 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 21 Jul 2020 22:01:54 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 52 ++----------------- .../src/views/home-notify-subscription.vue | 51 ++++-------------- 2 files changed, 16 insertions(+), 87 deletions(-) diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 5e0f9b64..4180b760 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -12,28 +12,11 @@ ____________ ## CURRENT STAGE: -todo: ops and backup subscribe and confirm delivery and proper handling +todo: test tag filtered notification with widget created etc +todo: consider naming ability to subs, maybe people want to name it so it makes sense? + or is it enough to just show all columns? -todo: do I add server operations problem notify when server has an unhandled exception? - -todo: //Open question - do we need a priority level for notifications, i.e. if system is having backup issue slightly more important than something run of the mill? - //or, maybe it's an option to popup if this occurs so user can decide if they want to see a red notice or not - -todo: //Open question: what to do with failed deliveries? - //we dont' want them piling up but we don't want to just dump them do we? - //it should be only mail ones that fail, not app ones, there's no way for an app delivery to fail as it's just put in a table - //### PLAN if it's an smtp delivery that fails and it's to someone who can be delivered in app then it should send an inapp notification of - //delivery failure and still delete the smtp delivery - //If it's not possible to notify the person via in app of the failed smtp then perhaps it notifies OPS personnel and biz admin personnel -todo: //NEW NOTIFICATION SUBSCRIPTION EVENT TYPE: - //OPERATIONS_PROBLEMS - backup, notifications, out of memory, what have you, anyone can subscribe to it regardless of rights - //this is just to let people know there is a problem - -BACKEND - - - -todo: BAckend server routes for App notification fetch and clear etc +todo: subscription form still not completed, needs to be coded for when to show tags (for example) and other stuff todo: Back end notification related settings GlobalBizSettings @@ -41,31 +24,9 @@ todo: Back end notification related settings GlobalOpsNotificationSettings (copy from backup settings) SMTP creds, return address -todo: Back end job processors - NotifySweeper - Notification (App notifications table) - deletes all APP notifications older than 90 days (if they want to keep it then can turn it into a reminder or SAVE it somehow) - NotifyEvent - - deletes any notifyevent with no event date created more than 90 days ago - If has event date and it's passed then deletes it if created more than 90 days ago (pretty sure there are no back dated events, once it's passed it's past) - NotifyDeliveryLog - deletes all log items older than 90 days - Notify - Scan the notifyevent table and deliver notifications accordingly - todo: notifysubscriptionbiz Check for duplicate before accepting new / edit in validator -todo: notificationbiz -todo: notifyeventbiz -todo: notifydeliverylogbiz -todo: COREBIZ (Start with Widget first as a test to prototype this chunk of code) - Need CRUD check for notification events - Need to handle check of new tags vs existing tags (delta of tags) for any notification type - Need central common code just like biz rules check that processes notifications upon any changes - asks notifysubscription code which notifications to process - subscriptions code has either cached or on db lookup to see all that apply, returns an array of notifyeventtypes to be processed - Processes each notifyeventtype that it handles or passes off to central one maybe in some cases if common code - -todo: create notifications at server for ops stuff in todos once back end is coded todo: client global settings notification systemactive Needs to get data from api as well as UI to control it and translation key for NotificationSystemActive @@ -76,9 +37,6 @@ TODO: home-notify-subscription needs to also have ability to subscribe to Defaul so it should either always show a default inapp for DefaultNotification or it should not allow them to make one for inapp Not sure what is best but it should be braindead simple -todo: UI area for viewing App notifications - https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3783 - notifications list UI as per case todo: ui area where admin can see all notifyevent and remove any that they deem as stuck or won't deliver Can trigger deliver there maybe? @@ -110,7 +68,7 @@ todo: notifyeventthype WorkorderClosed needs to be renamed or maybe removed in l todo: wo, quote and any other AgeValue notify objects are going to need to be able to record and compare age of event happening For things like wostatusAge etc. Or, maybe they will need a separate datetime field to record the last time the status was changed - +todo: As biz objects are fleshed out need to also code their notification event stuff as well ########################## todo: for some reason getting error about checking for notifications logout and back in again even after clean reboot diff --git a/ayanova/src/views/home-notify-subscription.vue b/ayanova/src/views/home-notify-subscription.vue index c2f8f750..e7e225d1 100644 --- a/ayanova/src/views/home-notify-subscription.vue +++ b/ayanova/src/views/home-notify-subscription.vue @@ -118,16 +118,16 @@ type chosen - + @@ -227,7 +227,7 @@ export default { public NotifyDeliveryMethod DeliveryMethod { get; set; } public string DeliveryAddress { get; set; } public long? AttachReportId { get; set; } - public List InTags { get; set; }*/ + public List tags { get; set; }*/ obj: { id: 0, concurrency: 0, @@ -240,7 +240,7 @@ export default { deliveryMethod: 0, deliveryAddress: null, attachReportId: 0, - inTags: [] + tags: [] }, formState: { @@ -347,7 +347,7 @@ export default { showAttachReportId() { return true; }, - showInTags() { + showTags() { return true; } }, @@ -707,36 +707,7 @@ async function fetchTranslatedText(vm) { "NotifyDeliveryMethod", "NotifyEventType", "NotifyDeliveryAddress", - "InTags", - "NotifyEventObjectDeleted", - "NotifyEventObjectCreated", - "NotifyEventObjectModified", - "NotifyEventWorkorderStatusChange", - "NotifyEventContractExpiring", - "NotifyEventCSRAccepted", - "NotifyEventCSRRejected", - "NotifyEventWorkorderClosed", - "NotifyEventQuoteStatusChange", - "NotifyEventWorkorderFollowUp", - "NotifyEventServiceBankDepleted", - "NotifyEventReminderImminent", - "NotifyEventScheduledOnWorkorder", - "NotifyEventScheduledOnWorkorderImminent", - "NotifyEventWorkorderCloseByPassed", - "NotifyEventOutsideServiceOverdue", - "NotifyEventOutsideServiceReceived", - "NotifyEventPartRequestReceived", - "NotifyEventNotifyHealthCheck", - "NotifyEventBackupStatus", - "NotifyEventCustomerServiceImminent", - "NotifyEventPartRequested", - "NotifyEventWorkorderTotalExceedsThreshold", - "NotifyEventWorkorderStatusAge", - "NotifyEventUnitWarrantyExpiry", - "NotifyEventUnitMeterReadingMultipleExceeded", - "NotifyEventDefaultNotification", - "NotifyDeliveryMethodApp", - "NotifyDeliveryMethodSMTP", + "tags", "Duration" ]); }