diff --git a/devdocs/deploy.md b/devdocs/deploy.md
index b7cca871..218b2990 100644
--- a/devdocs/deploy.md
+++ b/devdocs/deploy.md
@@ -6,7 +6,7 @@ If any packages have been changed in the release do a thorough security scan and
### Bump version numbers:
-Search and replace 8.0.0-beta.6
+Search and replace 8.0.0-rc.1
webapp,server,launcher, v8migrate
Client end ayanova-version.js,
diff --git a/devdocs/todo.txt b/devdocs/todo.txt
index aeb48193..301171dd 100644
--- a/devdocs/todo.txt
+++ b/devdocs/todo.txt
@@ -368,13 +368,6 @@ todo: 3 WINDOWS SINGLE LAUNCHER:
╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝
-todo: 1 test server license expired so goes to license request page even though there is data in it and when I enter the license request company name etc it says all data will be erased!?
- must be something to do with expired license but no idea why it would say that fuckery!
- It's deliberately coded this way in the client UI: if there is existing data and it's an expired *trial* then it will automatically prompt to erase db before it will even send the request
- this is good, but confusing, maybe a better message indicating what's up?
- Also docs need addition about this issue and process.
- not a highly important thing, but should be noted in docs at least
-
## MIGRATION ITEMS
███ ███ ██ ██████ ██████ █████ ████████ ███████
@@ -429,11 +422,6 @@ todo:3 todo: check out this SPA memory leak detector, it *does* have a login abi
-TODO: 1 NOTE CLIENT/ SERVER/ DOCS ALL: Unit model select template doesn't offer UPC as a field nor does it in Unit though Unit's I guess maybe don't work that way, see v7 to confirm where UPC code was exposed
- looks like this was forgotten
- when enabled go back into unit model docs and UPC field and expand
-
-todo: 1 unit model discontinued date should be hidden until disconitnued is checked in client UI
todo: 1 BUGBUG - loaner item has a default rate but it's not being used on work orders when selected
probably also quotes and pm's as well.
@@ -1088,9 +1076,12 @@ https://www.ayanova.com/download/next/ayanova-linux-x64-server.zip
https://www.ayanova.com/download/next/ayanova-windows-x64-lan-setup.exe
Current v8 docs home: https://www.ayanova.com/docs/next
-BUILD 8.0.0-beta.6 CHANGES OF NOTE
+BUILD 8.0.0-rc.1 CHANGES OF NOTE
- Updated swashbuckle, JoseJWT, Microsoft.openAPI, puppeteersharp
+- Unit model form only show discontinued date if discontinued is checked
+- unit model form only show warranty length if lifetime warranty is *not* checked
+
diff --git a/dist/install/windows/x64/lan.iss b/dist/install/windows/x64/lan.iss
index eff3de45..beee1791 100644
--- a/dist/install/windows/x64/lan.iss
+++ b/dist/install/windows/x64/lan.iss
@@ -1,7 +1,7 @@
; LAN install for internal network use only
#define MyAppName "AyaNova server"
-#define MyAppVersion "8.0.0-beta.6"
+#define MyAppVersion "8.0.0-rc.1"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppLauncherExeName "ayanova-launcher.exe"
diff --git a/dist/install/windows/x64/standalone.iss b/dist/install/windows/x64/standalone.iss
index 9471380e..e4addcfd 100644
--- a/dist/install/windows/x64/standalone.iss
+++ b/dist/install/windows/x64/standalone.iss
@@ -3,7 +3,7 @@
; external to lan requires different config
#define MyAppName "AyaNova"
-#define MyAppVersion "8.0.0-beta.6"
+#define MyAppVersion "8.0.0-rc.1"
#define MyAppPublisher "Ground Zero Tech-Works, Inc."
#define MyAppURL "https://ayanova.com/"
#define MyAppLauncherExeName "ayanova-launcher.exe"
diff --git a/docs/8.0/ayanova/docs/beta.md b/docs/8.0/ayanova/docs/beta.md
index 5d4c4570..523fe251 100644
--- a/docs/8.0/ayanova/docs/beta.md
+++ b/docs/8.0/ayanova/docs/beta.md
@@ -22,9 +22,9 @@ An important part of beta testing is also testing the documentation; if you find

-## Beta version 8.0.0-beta.6
+## Beta version 8.0.0-rc.1
-Please keep in mind that AyaNova 8.0.0-beta.6 is a temporary time-limited beta release and is not meant for live use.
+Please keep in mind that AyaNova 8.0.0-rc.1 is a temporary time-limited beta release and is not meant for live use.
## Suggested order of beta testing
diff --git a/docs/8.0/ayanova/docs/index.md b/docs/8.0/ayanova/docs/index.md
index 0e713b49..359a7771 100644
--- a/docs/8.0/ayanova/docs/index.md
+++ b/docs/8.0/ayanova/docs/index.md
@@ -24,4 +24,4 @@ Or check out our support forum [forum.ayanova.com](http://forum.ayanova.com/)
---
-
Documentation version: 8.0.0-beta.6, Copyright © 2022 Ground Zero Tech-Works Inc.
+Documentation version: 8.0.0-rc.1, Copyright © 2022 Ground Zero Tech-Works Inc.
diff --git a/docs/8.0/customer/docs/index.md b/docs/8.0/customer/docs/index.md
index 58a83bed..06e81498 100644
--- a/docs/8.0/customer/docs/index.md
+++ b/docs/8.0/customer/docs/index.md
@@ -8,4 +8,4 @@ Please contact your service company administrator if you have additional questio
---
-Documentation version: 8.0.0-beta.6, Copyright © 2022 Ground Zero Tech-Works Inc.
+Documentation version: 8.0.0-rc.1, Copyright © 2022 Ground Zero Tech-Works Inc.
diff --git a/server/AyaNova/DataList/LoanUnitDataList.cs b/server/AyaNova/DataList/LoanUnitDataList.cs
index ad9fc8c0..3bdc5008 100644
--- a/server/AyaNova/DataList/LoanUnitDataList.cs
+++ b/server/AyaNova/DataList/LoanUnitDataList.cs
@@ -120,14 +120,14 @@ namespace AyaNova.DataList
SqlValueColumnName = "aloanunit.rateyear"
});
- FieldDefinitions.Add(new DataListFieldDefinition
- {
- TKey = "LoanUnitDefaultRate",
- FieldKey = "LoanUnitDefaultRate",
- UiFieldDataType = (int)UiFieldDataType.Enum,
- EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(LoanUnitRateUnit).ToString()),
- SqlValueColumnName = "aloanunit.defaultrate"
- });
+ // FieldDefinitions.Add(new DataListFieldDefinition
+ // {
+ // TKey = "LoanUnitDefaultRate",
+ // FieldKey = "LoanUnitDefaultRate",
+ // UiFieldDataType = (int)UiFieldDataType.Enum,
+ // EnumType = AyaNova.Util.StringUtil.TrimTypeName(typeof(LoanUnitRateUnit).ToString()),
+ // SqlValueColumnName = "aloanunit.defaultrate"
+ // });
FieldDefinitions.Add(new DataListFieldDefinition
{
diff --git a/server/AyaNova/biz/FormFieldReference.cs b/server/AyaNova/biz/FormFieldReference.cs
index 3ce85761..78043c7d 100644
--- a/server/AyaNova/biz/FormFieldReference.cs
+++ b/server/AyaNova/biz/FormFieldReference.cs
@@ -270,7 +270,7 @@ namespace AyaNova.Biz
l.Add(new FormField { TKey = "LoanUnitRateWeekCost", FieldKey = "RateWeekCost" });
l.Add(new FormField { TKey = "LoanUnitRateMonthCost", FieldKey = "RateMonthCost" });
l.Add(new FormField { TKey = "LoanUnitRateYearCost", FieldKey = "RateYearCost" });
- l.Add(new FormField { TKey = "LoanUnitDefaultRate", FieldKey = "DefaultRate" });
+ //l.Add(new FormField { TKey = "LoanUnitDefaultRate", FieldKey = "DefaultRate" });
l.Add(new FormField { TKey = "LoanUnitShadowUnit", FieldKey = "UnitId" });
l.Add(new FormField { TKey = "LoanUnitNotes", FieldKey = "Notes" });
l.Add(new FormField { TKey = "Tags", FieldKey = "Tags" });
diff --git a/server/AyaNova/models/LoanUnit.cs b/server/AyaNova/models/LoanUnit.cs
index f91ddc36..42ae8039 100644
--- a/server/AyaNova/models/LoanUnit.cs
+++ b/server/AyaNova/models/LoanUnit.cs
@@ -56,8 +56,8 @@ namespace AyaNova.Models
[Required]
public decimal RateYearCost { get; set; }
- [Required]
- public LoanUnitRateUnit DefaultRate { get; set; }
+ // [Required]
+ // public LoanUnitRateUnit DefaultRate { get; set; }
public long? UnitId { get; set; }//Shadow unit
[NotMapped]
@@ -82,7 +82,7 @@ namespace AyaNova.Models
public LoanUnit()
{
Tags = new List();
- DefaultRate = LoanUnitRateUnit.Days;
+ // DefaultRate = LoanUnitRateUnit.Days;
}
[NotMapped, JsonIgnore]
diff --git a/server/AyaNova/resource/de.json b/server/AyaNova/resource/de.json
index c7fe576d..a0ff0773 100644
--- a/server/AyaNova/resource/de.json
+++ b/server/AyaNova/resource/de.json
@@ -515,7 +515,6 @@
"LoanUnitCustom7": "Angepasstes Feld 7",
"LoanUnitCustom8": "Angepasstes Feld 8",
"LoanUnitCustom9": "Angepasstes Feld 9",
- "LoanUnitDefaultRate": "Standardrate",
"LoanUnitList": "Leihposten",
"LoanUnitName": "Name",
"LoanUnitNotes": "Anmerkungen",
diff --git a/server/AyaNova/resource/en.json b/server/AyaNova/resource/en.json
index 6b63a09c..bdf8f676 100644
--- a/server/AyaNova/resource/en.json
+++ b/server/AyaNova/resource/en.json
@@ -515,7 +515,6 @@
"LoanUnitCustom7": "Custom7",
"LoanUnitCustom8": "Custom8",
"LoanUnitCustom9": "Custom9",
- "LoanUnitDefaultRate": "Default rate",
"LoanUnitList": "Loaner Items",
"LoanUnitName": "Name",
"LoanUnitNotes": "Notes",
diff --git a/server/AyaNova/resource/es.json b/server/AyaNova/resource/es.json
index 65c0e44e..9842cc8a 100644
--- a/server/AyaNova/resource/es.json
+++ b/server/AyaNova/resource/es.json
@@ -515,7 +515,6 @@
"LoanUnitCustom7": "Campo personalizado 7",
"LoanUnitCustom8": "Campo personalizado 8",
"LoanUnitCustom9": "Campo personalizado 9",
- "LoanUnitDefaultRate": "Tasa de incumplimiento",
"LoanUnitList": "Elementos préstamo",
"LoanUnitName": "Nombre",
"LoanUnitNotes": "Notas",
diff --git a/server/AyaNova/resource/fr.json b/server/AyaNova/resource/fr.json
index f9c43d6c..3361fdf7 100644
--- a/server/AyaNova/resource/fr.json
+++ b/server/AyaNova/resource/fr.json
@@ -515,7 +515,6 @@
"LoanUnitCustom7": "Champ personnalisé 7",
"LoanUnitCustom8": "Champ personnalisé 8",
"LoanUnitCustom9": "Champ personnalisé 9",
- "LoanUnitDefaultRate": "Taux de défaut",
"LoanUnitList": "Éléments de prêt",
"LoanUnitName": "Nom",
"LoanUnitNotes": "Remarques",
diff --git a/server/AyaNova/util/AySchema.cs b/server/AyaNova/util/AySchema.cs
index eb5f8a25..d86e8e29 100644
--- a/server/AyaNova/util/AySchema.cs
+++ b/server/AyaNova/util/AySchema.cs
@@ -20,9 +20,9 @@ namespace AyaNova.Util
/////////// CHANGE THIS ON NEW SCHEMA UPDATE ////////////////////
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImportingAsync WHEN NEW TABLES ADDED!!!!
- private const int DESIRED_SCHEMA_LEVEL = 2;
+ private const int DESIRED_SCHEMA_LEVEL = 3;
- internal const long EXPECTED_COLUMN_COUNT = 1360;
+ internal const long EXPECTED_COLUMN_COUNT = 1359;
internal const long EXPECTED_INDEX_COUNT = 156;
internal const long EXPECTED_CHECK_CONSTRAINTS = 549;
internal const long EXPECTED_FOREIGN_KEY_CONSTRAINTS = 202;
@@ -1298,23 +1298,37 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'UpdateExistingRecords', 'Actualizar registros existentes' FROM atranslation t where t.baselanguage = 'es'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'AdminImportUpdateWarning', 'Advertencia: está a punto de cambiar varios objetos de forma permanente.\r\n¿Está seguro?' FROM atranslation t where t.baselanguage = 'es'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'FileToImport', 'Archivo a importar' FROM atranslation t where t.baselanguage = 'es'");
- await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ProcessCompleted', 'Proceso completado' FROM atranslation t where t.baselanguage = 'es'");
+ await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ProcessCompleted', 'Proceso completado' FROM atranslation t where t.baselanguage = 'es'");
//french translations
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ImportNewRecords', 'Importer de nouveaux enregistrements' FROM atranslation t where t.baselanguage = 'fr'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'UpdateExistingRecords', 'Mettre à jour les enregistrements existants' FROM atranslation t where t.baselanguage = 'fr'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'AdminImportUpdateWarning', 'Avertissement: vous êtes sur le point de modifier définitivement plusieurs objets.\r\nÊtes-vous sûr?' FROM atranslation t where t.baselanguage = 'fr'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'FileToImport', 'Fichier à importer' FROM atranslation t where t.baselanguage = 'fr'");
- await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ProcessCompleted', 'Processus terminé' FROM atranslation t where t.baselanguage = 'fr'");
+ await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ProcessCompleted', 'Processus terminé' FROM atranslation t where t.baselanguage = 'fr'");
//german translations
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ImportNewRecords', 'Importieren Sie neue Datensätze' FROM atranslation t where t.baselanguage = 'de'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'UpdateExistingRecords', 'Aktualisieren Sie vorhandene Datensätze' FROM atranslation t where t.baselanguage = 'de'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'AdminImportUpdateWarning', 'Warnung: Sie sind dabei, mehrere Objekte dauerhaft zu ändern.\r\nSind Sie sicher?' FROM atranslation t where t.baselanguage = 'de'");
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'FileToImport', 'Zu importierende Datei' FROM atranslation t where t.baselanguage = 'de'");
- await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ProcessCompleted', 'Prozess abgeschlossen' FROM atranslation t where t.baselanguage = 'de'");
-
+ await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ProcessCompleted', 'Prozess abgeschlossen' FROM atranslation t where t.baselanguage = 'de'");
+
await SetSchemaLevelAsync(++currentSchema);
}
+
+ ////////////////////////////////////////////////
+ // rc 1 remove default rate from loan unit
+ //
+ if (currentSchema < 3)
+ {
+ LogUpdateMessage(log);
+ await ExecQueryAsync("DELETE FROM atranslationitem where key = 'LoanUnitDefaultRate'");
+ await ExecQueryAsync("ALTER TABLE aloanunit DROP COLUMN defaultrate;");
+ await SetSchemaLevelAsync(++currentSchema);
+ }
+
+
+
//#########################################
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
diff --git a/server/AyaNova/util/AyaNovaVersion.cs b/server/AyaNova/util/AyaNovaVersion.cs
index 2197b085..cade144c 100644
--- a/server/AyaNova/util/AyaNovaVersion.cs
+++ b/server/AyaNova/util/AyaNovaVersion.cs
@@ -5,7 +5,7 @@ namespace AyaNova.Util
///
internal static class AyaNovaVersion
{
- public const string VersionString = "8.0.0-beta.6";
+ public const string VersionString = "8.0.0-rc.1";
public const string FullNameAndVersion = "AyaNova server " + VersionString;
public const string CurrentApiVersion="v8";
}//eoc
diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs
index 34f11856..188e4991 100644
--- a/server/AyaNova/util/Seeder.cs
+++ b/server/AyaNova/util/Seeder.cs
@@ -2407,7 +2407,7 @@ namespace AyaNova.Util
o.RateMonthCost = MoneyUtil.Round(o.RateMonth / 2);
o.RateYear = MoneyUtil.Round(o.RateHour * 36.8m * 52);
o.RateYearCost = MoneyUtil.Round(o.RateYear / 2);
- o.DefaultRate = Fake.Random.Enum();
+ //o.DefaultRate = Fake.Random.Enum();
using (AyContext ct = ServiceProviderProvider.DBContext)