This commit is contained in:
@@ -31,64 +31,68 @@ June 1st
|
||||
|
||||
MISC ITEMS THAT CAME UP
|
||||
|
||||
## e2e testing
|
||||
## E2E TESTING
|
||||
|
||||
todo: is smoke test really excercising every list? Some are only available from a menu in an object
|
||||
go through and make sure all forms that are in code are also in smoke test
|
||||
this is important because it's going to drive future removal of unused locale keys
|
||||
|
||||
## V8Migrate
|
||||
|
||||
|
||||
## V8MIGRATE
|
||||
|
||||
todo: notification subscriptions need to come across first so that subsequent notifications will process
|
||||
e.g. when a contracted client with a current contract is imported it needs to also set the notification for it
|
||||
todo: custom fields field names are not coming across, still show "Custom 1" when shoudl show whatever is set
|
||||
todo: assigned doc not found text has too many newlines in it, should just sit on one line in exported notes
|
||||
todo: dirty big test again with contracts etc
|
||||
|
||||
|
||||
## CLIENT MISC ITEMS
|
||||
|
||||
todo: BUGBUG delete all tags from customer, go back in and zone2 appears for some reason
|
||||
todo: BUGBUG ON HOLD PENDING UPDATE TO DEVOPS delete all tags from customer, go back in and zone2 appears for some reason
|
||||
only on devops server, not locally
|
||||
is sending correct record, just seems to come back with that set, no idea why
|
||||
maybe db version is too old bug in way tags column works on that version?
|
||||
Try update to see if goes away if not, confirm postgres is version 13+
|
||||
Get that info, get both versions in sync and see if that's whats happening.
|
||||
|
||||
todo: bugbug sort a column in data table then remove that column from display will trigger error
|
||||
needs to gracefully handle missing columns
|
||||
|
||||
|
||||
todo: many stock reports could be made now for most objects
|
||||
todo: maybe Active field should be beside name as before in v7, it can get kind of buried and it also seems like it would be clearer if it was beside the name what it referred to
|
||||
todo: attachment error not evident when in UI, have to go to api to see it's an error 413, maybe find a way to resolve this clearly
|
||||
as it is, it just appears to work but there is nothing.
|
||||
any error on upload should indicate so somewhere on the form
|
||||
to test, remove the client_max_body_size setting (or set to 1m as is default) then attempt to upload an image
|
||||
or, perhaps temporarily set the max body size in attachement upload controller to simulate here (easier)
|
||||
|
||||
todo: acc-service-bank is using a decimal control instead of a currency control for currency field
|
||||
todo: partassembly form should use an edit dialog rather than edit in place in the grid as it's ugly and clunky and outside of the standard that will be used in PO and wo etc
|
||||
copy from Contract form and use it's technique for immediate viz value sync event
|
||||
|
||||
todo: should user required rule (defined in form custom settings) show a variation of the required error message so that it's clear *they* defined it and they can unset it in customize?
|
||||
right now they could set a required rule, forget they set it then email us to bitch that it shouldn't be required
|
||||
todo: reports need duration display helper
|
||||
test with contract report
|
||||
todo: Unit override warranty lifetime active should disable or even hide "override length" field
|
||||
todo: OverrideLifetime is bad text, fix it, key is "UnitOverrideLifeTime" and maybe it just says "Life time warranty"
|
||||
todo: maybe Active field should be beside name as before in v7, it can get kind of buried and it also seems like it would be clearer if it was beside the name what it referred to
|
||||
todo: test service rate pick list variants
|
||||
in particular what happens when contract in effect to limit to rates but then no rates selected on contract, sb an empty list
|
||||
todo: NOT import PO's unless they are current, active and unreceived
|
||||
todo: erase database should reset all id values if they aren't reset already so that future data doesn't result in a new PO starting at 29000 due to huge db trial seed prior
|
||||
|
||||
todo: Popup notes now AlertNotes - a whole section of important notes at the top that shows *all* notes combined like customer popup and contract notes
|
||||
that shows all the time in the workorder UI with an option to minimize maybe or something
|
||||
This would be better than popup as it's always visible not dismissed and less ui fuckery to boot.
|
||||
See case 3855
|
||||
todo: use trans key "AlertNotes" in place of any popup notes variation
|
||||
todo: reports need duration display helper
|
||||
test with contract report
|
||||
todo: bugbug sort a column in data table then remove that column from display will trigger error
|
||||
needs to gracefully handle missing columns
|
||||
|
||||
todo: poitem edit form currency fields when updated by server on save lose currency format and show as raw decimal number
|
||||
maybe currency control does not respond to underlying data changes it didn't initiate?
|
||||
seems maybe it's ok in main form but that's maybe just because it doesn't change values automatically
|
||||
|
||||
todo: datatable single select mode, is this even a thing?
|
||||
if not then I should remove that code, it's just taking up space and complicating shit for no reason
|
||||
todo: many stock reports could be made now for most objects
|
||||
|
||||
todo: acc-service-bank is using a decimal control instead of a currency control for currency field
|
||||
todo: Unit override warranty lifetime active should disable or even hide "override length" field
|
||||
todo: OverrideLifetime is bad text, fix it, key is "UnitOverrideLifeTime" and maybe it just says "Life time warranty"
|
||||
todo: should user required rule (defined in form custom settings) show a variation of the required error message so that it's clear *they* defined it and they can unset it in customize?
|
||||
right now they could set a required rule, forget they set it then email us to bitch that it shouldn't be required
|
||||
todo: inconsistent use of browser language and browser languages
|
||||
getBrowserLanguages() <--- more often used vs getBrowserFirstLanguage() <-- fewer times used
|
||||
some things are using the default first language
|
||||
@@ -96,41 +100,18 @@ todo: inconsistent use of browser language and browser languages
|
||||
In some cases array will work, in others it requires single
|
||||
need to check into this and be consistent or understand what's happening
|
||||
I'm guessing I favor languages as it seems to be accepted by whatever is using it and it will work better if the first one is unsupported
|
||||
|
||||
todo: locale.js look into this:
|
||||
// also for sake of future proofing and edge cases need to have it be manually settable as well
|
||||
// ############### TODO: modify all of these to put the user's manual override first in line (if there is one)
|
||||
|
||||
|
||||
todo: it's a bit hard to click on a single digit or character link in a data table
|
||||
e.g. serial number 1 of a po
|
||||
can the region be expanded with invisible text or something?
|
||||
|
||||
|
||||
todo: partassembly form should use an edit dialog rather than edit in place in the grid as it's ugly and clunky and outside of the standard that will be used in PO and wo etc
|
||||
copy from Contract form and use it's technique for immediate viz value sync event
|
||||
|
||||
todo: WHEN HAVE WORKORDER FORM customer alert notes
|
||||
|
||||
todo: remove widget now? Back and front (comment out obvs not remove entirely)
|
||||
|
||||
|
||||
## SERVER MISC ITEMS
|
||||
|
||||
todo: NOTIFICATION after the fact
|
||||
what happens when a user subscribes to a notification after an object was created
|
||||
for example if a unit has a contract and they subscribe to contract expiring they won't get notified about units unless they are edited and saved
|
||||
*after* the user subscribed
|
||||
What did v7 do?
|
||||
How to handle this??
|
||||
Ideally it would work with existing objects and not require them all to be edited or is that an issue, can it be good enough that it works going forward?
|
||||
Most subscriptions won't matter as they are direct immediate and one off but the timed and aged ones are definitely an issue.
|
||||
It might have to run through those and subscribe in the user, maybe a static op on a *Biz object that you call and say "subscribe this user to all subs" and it iterates
|
||||
the biz objects one by one and sets as appropriate??
|
||||
|
||||
todo: ContractExpiring event needs to be added to notification processor for Unit, Customer and HeadOffice
|
||||
todo: every biz rule should have as much as possible a corresponding db check constraint to ensure people don't import bad data directly or do direct edits and break shit
|
||||
e.g. contractable objects should mirror check for expiry date and not null, so basically both can be null or both not null but no other combo is valid
|
||||
|
||||
todo: tax codes, taxable objects
|
||||
Biz rules updated to prevent tax value changes to any of the following fields once it's been used on any item that has tax codes
|
||||
name, taxa, taxb, taxontax
|
||||
@@ -155,6 +136,48 @@ todo: tax codes, taxable objects
|
||||
PurchaseOrder needs to default tax codes when created from global settings
|
||||
|
||||
|
||||
todo: This block isn't necessary anymore as there is a biz rule to catch it:
|
||||
catch (Microsoft.EntityFrameworkCore.DbUpdateException ex)
|
||||
{
|
||||
if (ex.InnerException != null && ex.InnerException.Message.Contains("unq_unitmodelnumbervendorid"))
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "number", "Model number plus VendorId combination must be unique");
|
||||
return null;
|
||||
}
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
|
||||
todo: every biz rule should have as much as possible a corresponding db check constraint to ensure people don't import bad data directly or do direct edits and break shit
|
||||
e.g. contractable objects should mirror check for expiry date and not null, so basically both can be null or both not null but no other combo is valid
|
||||
|
||||
|
||||
|
||||
|
||||
todo: Changes to allow in place updates of server without erasing data:
|
||||
Needs to be supporting this early as possible so that upon release we can easily make changes without breaking existing setups or forcing complex actions
|
||||
how to add locale keys in future after release without erasing all data?
|
||||
Ideally I'd like to continue on to just edit the json translation files and the server looks for missing items and adds them automatically
|
||||
so that it just works without having to erase the db
|
||||
maybe a version on translations so it knows which one it's dealing with?
|
||||
But then again, if it just checks them all it can fix anything missing automatically in case of fuckery and not assume they are ok
|
||||
Stock locales can just be completely replaced at any time, custom ones need a fixup,
|
||||
Custom locales should include where they came from (which language) so can more easily add new keys
|
||||
Schema updates in place not require full delete
|
||||
todo: figure out method to determine all translation keys actually used and remove unused ones entirely as they will show in the Translation ui and don't want to confuse people
|
||||
todo: NOTIFICATION after the fact
|
||||
what happens when a user subscribes to a notification after an object was created
|
||||
for example if a unit has a contract and they subscribe to contract expiring they won't get notified about units unless they are edited and saved
|
||||
*after* the user subscribed
|
||||
What did v7 do?
|
||||
How to handle this??
|
||||
Ideally it would work with existing objects and not require them all to be edited or is that an issue, can it be good enough that it works going forward?
|
||||
Most subscriptions won't matter as they are direct immediate and one off but the timed and aged ones are definitely an issue.
|
||||
It might have to run through those and subscribe in the user, maybe a static op on a *Biz object that you call and say "subscribe this user to all subs" and it iterates
|
||||
the biz objects one by one and sets as appropriate??
|
||||
|
||||
todo: GetWorkorderSerial/name from leaf nodes
|
||||
traverse up the tree and fetch the serial number
|
||||
once coded fixup in purchaseorderbiz::getasync MIGRATE_OUTSTANDING bit
|
||||
@@ -170,21 +193,9 @@ todo: v8 migrate additions
|
||||
Is it possible to login during migrate to the v8 server?
|
||||
Need a running count per item, I have the total at the start so it should show what item it is currently processing of that count like 50/1000 or something
|
||||
|
||||
todo: figure out method to determine all translation keys actually used and remove unused ones entirely as they will show in the Translation ui and don't want to confuse people
|
||||
|
||||
|
||||
|
||||
todo: This block isn't necessary anymore as there is a biz rule to catch it:
|
||||
catch (Microsoft.EntityFrameworkCore.DbUpdateException ex)
|
||||
{
|
||||
if (ex.InnerException != null && ex.InnerException.Message.Contains("unq_unitmodelnumbervendorid"))
|
||||
{
|
||||
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "number", "Model number plus VendorId combination must be unique");
|
||||
return null;
|
||||
}
|
||||
|
||||
throw;
|
||||
|
||||
}
|
||||
|
||||
todo: 2fa is going to be an absolute must have pretty soon, look into what's involved again
|
||||
|
||||
@@ -192,10 +203,9 @@ todo: tag search in picklist, does it support more than one tag? I forget
|
||||
no, no it doesn't. Hmmm... fuck
|
||||
maybe they can enter unlimited tags as long as they have a ..before each one?
|
||||
Users may need to "triangulate" on to an item by multiple tags
|
||||
|
||||
|
||||
todo: unit meter reading event
|
||||
|
||||
|
||||
TODO: //MIGRATE_OUTSTANDING comment tag
|
||||
search for this comment tag as it will contain items that could not be done until other items were migrated first
|
||||
The tag will contain the description for each
|
||||
@@ -210,17 +220,6 @@ todo: many biz objects are not using new PUT methodology
|
||||
also this includes *all* of the initial workorder object so there's that
|
||||
might be that they don't need it but for consistency should check into it
|
||||
|
||||
todo: Changes to allow in place updates of server without erasing data:
|
||||
Needs to be supporting this early as possible so that upon release we can easily make changes without breaking existing setups or forcing complex actions
|
||||
how to add locale keys in future after release without erasing all data?
|
||||
Ideally I'd like to continue on to just edit the json translation files and the server looks for missing items and adds them automatically
|
||||
so that it just works without having to erase the db
|
||||
maybe a version on translations so it knows which one it's dealing with?
|
||||
But then again, if it just checks them all it can fix anything missing automatically in case of fuckery and not assume they are ok
|
||||
Stock locales can just be completely replaced at any time, custom ones need a fixup,
|
||||
Custom locales should include where they came from (which language) so can more easily add new keys
|
||||
Schema updates in place not require full delete
|
||||
|
||||
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
Reference in New Issue
Block a user