This commit is contained in:
@@ -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
|
||||
|
||||
@@ -118,16 +118,16 @@
|
||||
type chosen
|
||||
</v-col>
|
||||
|
||||
<v-col v-if="showInTags" cols="12">
|
||||
<v-col v-if="showTags" cols="12">
|
||||
<gz-tag-picker
|
||||
v-model="obj.inTags"
|
||||
:label="$ay.t('InTags')"
|
||||
v-model="obj.tags"
|
||||
:label="$ay.t('tags')"
|
||||
:readonly="formState.readOnly"
|
||||
:disabled="formState.readOnly"
|
||||
ref="inTags"
|
||||
:data-cy="!!$ay.dev ? 'inTags' : false"
|
||||
:error-messages="form().serverErrors(this, 'inTags')"
|
||||
@input="fieldValueChanged('inTags')"
|
||||
ref="tags"
|
||||
:data-cy="!!$ay.dev ? 'tags' : false"
|
||||
:error-messages="form().serverErrors(this, 'tags')"
|
||||
@input="fieldValueChanged('tags')"
|
||||
></gz-tag-picker>
|
||||
</v-col>
|
||||
</v-row>
|
||||
@@ -227,7 +227,7 @@ export default {
|
||||
public NotifyDeliveryMethod DeliveryMethod { get; set; }
|
||||
public string DeliveryAddress { get; set; }
|
||||
public long? AttachReportId { get; set; }
|
||||
public List<string> InTags { get; set; }*/
|
||||
public List<string> 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"
|
||||
]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user