This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2
dist/install/windows/x64/lan.iss
vendored
2
dist/install/windows/x64/lan.iss
vendored
@@ -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"
|
||||
|
||||
2
dist/install/windows/x64/standalone.iss
vendored
2
dist/install/windows/x64/standalone.iss
vendored
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -24,4 +24,4 @@ Or check out our support forum [forum.ayanova.com](http://forum.ayanova.com/)
|
||||
|
||||
---
|
||||
|
||||
<h6>Documentation version: 8.0.0-beta.6, Copyright © 2022 Ground Zero Tech-Works Inc.</h6>
|
||||
<h6>Documentation version: 8.0.0-rc.1, Copyright © 2022 Ground Zero Tech-Works Inc.</h6>
|
||||
|
||||
@@ -8,4 +8,4 @@ Please contact your service company administrator if you have additional questio
|
||||
|
||||
---
|
||||
|
||||
<h6>Documentation version: 8.0.0-beta.6, Copyright © 2022 Ground Zero Tech-Works Inc.</h6>
|
||||
<h6>Documentation version: 8.0.0-rc.1, Copyright © 2022 Ground Zero Tech-Works Inc.</h6>
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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" });
|
||||
|
||||
@@ -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<string>();
|
||||
DefaultRate = LoanUnitRateUnit.Days;
|
||||
// DefaultRate = LoanUnitRateUnit.Days;
|
||||
}
|
||||
|
||||
[NotMapped, JsonIgnore]
|
||||
|
||||
@@ -515,7 +515,6 @@
|
||||
"LoanUnitCustom7": "Angepasstes Feld 7",
|
||||
"LoanUnitCustom8": "Angepasstes Feld 8",
|
||||
"LoanUnitCustom9": "Angepasstes Feld 9",
|
||||
"LoanUnitDefaultRate": "Standardrate",
|
||||
"LoanUnitList": "Leihposten",
|
||||
"LoanUnitName": "Name",
|
||||
"LoanUnitNotes": "Anmerkungen",
|
||||
|
||||
@@ -515,7 +515,6 @@
|
||||
"LoanUnitCustom7": "Custom7",
|
||||
"LoanUnitCustom8": "Custom8",
|
||||
"LoanUnitCustom9": "Custom9",
|
||||
"LoanUnitDefaultRate": "Default rate",
|
||||
"LoanUnitList": "Loaner Items",
|
||||
"LoanUnitName": "Name",
|
||||
"LoanUnitNotes": "Notes",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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!!!!
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace AyaNova.Util
|
||||
/// </summary>
|
||||
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
|
||||
|
||||
@@ -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<LoanUnitRateUnit>();
|
||||
//o.DefaultRate = Fake.Random.Enum<LoanUnitRateUnit>();
|
||||
|
||||
|
||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||
|
||||
Reference in New Issue
Block a user