diff --git a/.vscode/launch.json b/.vscode/launch.json index d0cceaa8..f18b4927 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -48,7 +48,7 @@ "AYANOVA_DATA_PATH": "c:\\temp\\ravendata", "AYANOVA_USE_URLS": "http://*:7575;", //"AYANOVA_PERMANENTLY_ERASE_DATABASE":"true", - "AYANOVA_SERVER_TEST_MODE": "false", + "AYANOVA_SERVER_TEST_MODE": "true", "AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-8", //"AYANOVA_REPORT_RENDERING_TIMEOUT":"1", "AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small", diff --git a/docs/8.0/ayanova/docs/customer-notify-subscriptions.md b/docs/8.0/ayanova/docs/customer-notify-subscriptions.md index 708b64b2..6b10f7d3 100644 --- a/docs/8.0/ayanova/docs/customer-notify-subscriptions.md +++ b/docs/8.0/ayanova/docs/customer-notify-subscriptions.md @@ -191,4 +191,8 @@ This menu option will list all Customers who will be potentially notified based ![customer notify who list](img/customer-notify-who-list.png) -The total number of Customers is displayed in a badge in the top corner above the title. Any Customers without an email address will display in bold italic warning color text. Not having an email address is ok, it just means that Customer will not receive a notification. +The total number of Customers is displayed in a badge in the top corner above the title. + +Any Customers without an email address will display in bold italic warning color text. Not having an email address is ok, it just means that Customer will not receive a notification. + +Each customer listed is a clickable item to open that Customer record. diff --git a/server/AyaNova/models/CustomerNotifySubscription.cs b/server/AyaNova/models/CustomerNotifySubscription.cs index 02894077..38c4f98d 100644 --- a/server/AyaNova/models/CustomerNotifySubscription.cs +++ b/server/AyaNova/models/CustomerNotifySubscription.cs @@ -35,7 +35,9 @@ namespace AyaNova.Models [Required] public long IdValue { get; set; }//if required, this must match, default is zero to match to not set public decimal DecValue { get; set; }//if required this must match or be greater or something - public List Tags { get; set; }//Tags to filter an event, object *must* have these tags to generate event related to it (AT TIME OF UPDATE) + public List Tags { get; set; }//Tags to filter an event, object *must* have these tags to generate event related to it (AT TIME OF UPDATE) + [Required] + public string Template { get; set; } //DELIVERY CONDITIONS - following are all conditions on *whether* to deliver the existing notify event or not public TimeSpan AgeValue { get; set; }//for events that depend on an age of something (e.g. WorkorderStatusAge), This value determines when event has "come of age" but advancenotice controls how far in advance of this delivery is made diff --git a/server/AyaNova/resource/de.json b/server/AyaNova/resource/de.json index b9ed7db4..9b12a8f8 100644 --- a/server/AyaNova/resource/de.json +++ b/server/AyaNova/resource/de.json @@ -304,6 +304,7 @@ "DuplicateToQuote": "Zum Angebot duplizieren", "DuplicateToWorkOrder": "Zum Arbeitsauftrag duplizieren", "Duration": "Dauer", + "EmailTemplate":"Nachrichtenvorlage", "EraseMultipleObjectsWarning": "Warnung: Sie sind dabei, mehrere Objekte dauerhaft zu löschen.\nBist du sicher?", "ErrorAPI2000": "Server ist geschlossen", "ErrorAPI2001": "Server ist wegen Wartungsarbeiten geschlossen", diff --git a/server/AyaNova/resource/en.json b/server/AyaNova/resource/en.json index c480d997..b596ac37 100644 --- a/server/AyaNova/resource/en.json +++ b/server/AyaNova/resource/en.json @@ -304,6 +304,7 @@ "DuplicateToQuote": "Duplicate to Quote", "DuplicateToWorkOrder": "Duplicate to Work order", "Duration": "Duration", + "EmailTemplate":"Email template", "EraseMultipleObjectsWarning": "Warning: you are about to permanently erase multiple objects.\r\nAre you sure?", "ErrorAPI2000": "The server is closed", "ErrorAPI2001": "The server is closed for maintenance", diff --git a/server/AyaNova/resource/es.json b/server/AyaNova/resource/es.json index de6072f6..b10a243d 100644 --- a/server/AyaNova/resource/es.json +++ b/server/AyaNova/resource/es.json @@ -304,6 +304,7 @@ "DuplicateToQuote": "Duplicar para cotizar", "DuplicateToWorkOrder": "Duplicar a la orden de trabajo", "Duration": "Duración", + "EmailTemplate":"Plantilla de mensaje", "EraseMultipleObjectsWarning": "Advertencia: está a punto de borrar de forma permanente varios objetos.\n¿Estás seguro?", "ErrorAPI2000": "El servidor esta cerrado", "ErrorAPI2001": "El servidor está cerrado por mantenimiento", diff --git a/server/AyaNova/resource/fr.json b/server/AyaNova/resource/fr.json index e867742e..3c8dec70 100644 --- a/server/AyaNova/resource/fr.json +++ b/server/AyaNova/resource/fr.json @@ -304,6 +304,7 @@ "DuplicateToQuote": "Dupliquer pour devis", "DuplicateToWorkOrder": "Dupliquer à l'ordre de travail", "Duration": "Durée", + "EmailTemplate":"Modèle de message", "EraseMultipleObjectsWarning": "Attention: vous êtes sur le point d'effacer définitivement plusieurs objets.\nÊtes-vous sûr?", "ErrorAPI2000": "Le serveur est fermé", "ErrorAPI2001": "Le serveur est fermé pour maintenance", diff --git a/server/AyaNova/util/AySchema.cs b/server/AyaNova/util/AySchema.cs index 7102622c..cba2c4ee 100644 --- a/server/AyaNova/util/AySchema.cs +++ b/server/AyaNova/util/AySchema.cs @@ -22,9 +22,9 @@ namespace AyaNova.Util //!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImportingAsync WHEN NEW TABLES ADDED!!!! private const int DESIRED_SCHEMA_LEVEL = 1; - internal const long EXPECTED_COLUMN_COUNT = 1341; + internal const long EXPECTED_COLUMN_COUNT = 1342; internal const long EXPECTED_INDEX_COUNT = 154; - internal const long EXPECTED_CHECK_CONSTRAINTS = 532; + internal const long EXPECTED_CHECK_CONSTRAINTS = 533; internal const long EXPECTED_FOREIGN_KEY_CONSTRAINTS = 199; internal const long EXPECTED_VIEWS = 11; internal const long EXPECTED_ROUTINES = 2; @@ -1211,7 +1211,7 @@ $BODY$ LANGUAGE PLPGSQL STABLE"); + "currencyname TEXT NOT NULL, hour12 BOOL NOT NULL, " + "customertags VARCHAR(255) ARRAY, ayatype INTEGER NOT NULL, eventtype INTEGER NOT NULL, advancenotice INTERVAL NOT NULL, " + "idvalue BIGINT NOT NULL, decvalue DECIMAL(38,18) NOT NULL, agevalue INTERVAL NOT NULL, " - + "linkreportid BIGINT, tags VARCHAR(255) ARRAY)"); + + "linkreportid BIGINT, template TEXT NOT NULL, tags VARCHAR(255) ARRAY)");