diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index b0da39e8..d53e728e 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -13,7 +13,8 @@ MISC ITEMS THAT CAME UP 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 @@ -47,27 +48,6 @@ todo: WHEN HAVE WORKORDER FORM customer popup notes need to pop pop pop, forgot ## SERVER MISC ITEMS -todo: child collection items error / rule / customization handling - All commented in with //TODO: CHILD COLLECTION MOD - Currently not supported but should be when get to wo it will be a beast without this - users will need to hide child items, set required on them and see errors from server on them - RESOLUTION: - Add child collection items to FormFieldReference and set the FieldKey to be in teh form of ParentCollectionName.FieldName - where ParentCollectionName is exactly the same as the Model collection property name and - FieldName is exactly the same as the child collection objects Model property name - Update RequiredFieldsValidator to look for these period seperated items and navigate through teh collection by name / reflection to step through children and flag errors to include parent - e.g in purchase order record, validation error for not entering required Ordered quantity - "target" field name would be "items[0].quantityOrdered" to indicate poitems collection quantityOrdered field and items[0] indicates the first record in the collection - Note that this is how the built in validation for Model Required rules operates and that's useful so mirroring it even though it's a little harder to parse it saves a lot of dev time - as data annotations will be supported as is - Update ValidationError.cs class, add index property and use it for above - Update BizObject.cs add error methods that include index for use with indexed collection item errors - Update client gzform.cs server errors handler to handle indexed child collection like that and report error on row and in popup edit form - Update client po items form to display error in data table read only display somehow (can't be hover due to mobile so other way) - maybe just red row to indicate has errors with some non color secondary indicator, they open and the edit form shows the exact error on the field - Update client po edit poitem form input controls, use regular biz rule error from server handling but use the compound key name for the item e.g. "poitem.vendorpartnumber" - Update form customization form at client to group together the child collection items and maybe indicate the collection name above or in a group - so all poitem fields grouped in UI apart from header form fields 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 @@ -92,14 +72,31 @@ todo: tax codes, taxable objects private Guid mTaxRateSaleID; PurchaseOrder needs to default tax codes when created from global settings +todo: actual Customer report with names populated + + I *was* thinking an alternate data list mode for reporting where there are more defined links in the list to fetch names? + But that doesn't really fit in with the object nature of new reporting as datalist returns will be kind of ugly to work with and also bad for exporting + So I'm back to model populating in biz getreportdata method: + //Note in purchaseorderbiz::getreportdata: + TODO: for reporting this would be more ideal if it populated the displayName fields + //I'm doing that in this object already by fluke, and don't really want to populate them always and in other objects but for reporting maybe + //have a report mode get or I guess just do it all here (but then need for export as well, but then again this is the way it gets for export via getreportdata) + //so perhaps we have a REPORT format of a biz object model and that format has display names mirroring all the fields + //it's fetching it here anyway, might as well do the whole shebang? + So, bottom line might be an alternate ReportModel (e.g. Customer / ReportCustomer) with display fields (not the model sent to the client during normal work as that would eat up bandwidth unnecessarily) + Stop thinking about efficiency too much, this is a time to waste a few cycles but make a much easier to work with data return for reports / export + All display fields are populated as is done with PO similarly and that is done *in* get report data because that's also the export route use too which fits nicely with what we want + Make it work with Customer then backport to all the extant objects and add to item migrate todo list below as a step so it doesn't get missed in future ones + todo: GetWorkorderSerial/name from leaf nodes traverse up the tree and fetch the serial number once coded fixup in purchaseorderbiz::getasync MIGRATE_OUTSTANDING bit -todo: actual customer reports so can figure out datalist for bringing other names in - I'm thinking an alternate mode for reporting where there are more defined links in the list to fetch names? + + + todo: v8 migrate additions @@ -180,17 +177,18 @@ todo: test new from scratch po todo: test duplicate route todo: test inventory affecting ops reversals, updates, deletes etc -todo: test default tax codes are set todo: test form customization hide child collection items - todo: test read only form of PO todo: test reports, tagging etc todo: can edit po number but if I set an existing po number 4 to 23 for example and the last autogenerated is 22 it will happily make another 23 so there are now two what I want to happen is it skips existing numbers + Research this method and how we can work with it and give it a good think because it maybe a dangerous thing to expose or just fuckery + it really only will be of use in rare circumstances and most likely when importing v7 with oddball numbers (Scott?) not many serialized objects, maybe a utility to do wahtever, renumbering with them could be done for just that purpose entirely (along with resetting the autoid number) - Does this require a special role? + Should this operation require a special role? + i.e. if logged in as a bizadmin full then can edit serials diff --git a/ayanova/src/views/inv-purchase-order.vue b/ayanova/src/views/inv-purchase-order.vue index d62b0dfd..7777671d 100644 --- a/ayanova/src/views/inv-purchase-order.vue +++ b/ayanova/src/views/inv-purchase-order.vue @@ -28,6 +28,7 @@