diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 135731c1..12d87e15 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -406,8 +406,7 @@ bugubg: completely fresh workorder riddled with errors when attempting to create at AyaNova.Biz.WorkOrderBiz.LaborPopulateVizFields(WorkOrderItemLabor o) in C:\data\code\raven\server\AyaNova\biz\WorkOrderBiz.cs:line 2318 at AyaNova.Biz.WorkOrderBiz.LaborCreateAsync(WorkOrderItemLabor newObject) in C:\data\code\raven\server\AyaNova\biz\WorkOrderBiz.cs:line 2191 at AyaNova.Api.Controllers.WorkOrderController.PostWorkOrderItemLabor(WorkOrderItemLabor newObject, ApiVersion apiVersion) in C:\data\code\raven\server\AyaNova\Controllers\WorkOrderController.cs:line 568 - - Unit -> something about + Steps to test notifications: @@ -434,8 +433,7 @@ todo 3: workorder notifications to code and test: WorkorderCreatedForCustomer = 31, //*Service work order is created for Customer, only applies to that customer user notify sub for that customer, customer id is in conditional ID value for subscription WorkorderCompletedFollowUp = 32, //* Service workorder closed status follow up again after this many TIMESPAN -todo: all objects that I workarounded to have name and tags that didnt originally support it - need to have name and tags set in notification standard processors first or it will bomb when notify on created that object etc +TODO: Hiding sections not used when empty and now added from the menu to present a cleaner empty work order todo: notify event list table needs to show status of workorder (all fields) ideally otherwise if you have multiple wostatusage notifications they all appear the same @@ -1289,9 +1287,12 @@ build 110 - workorder cleanup and layout changes now showing table for each item even if single row so that all viz and other calculated fields are always available to view + TODO: Hiding sections not used when empty and now added from the menu to present a cleaner empty work order data transfer efficiency changes to cut down on amount of data sent both ways over the network strip out Viz fields on submit to server from client strip out IsDirty fields on send from server to client + Errors returned from server now properly displaying in both table and in controls + - Service loaner form added cost fields to bring in line with other billable items on workorder @@ -1316,66 +1317,3 @@ build 110 - Docs added section on changes from v7 help doc for work orders - - - -build 105 -- direct report url now works again properly. Used by notification to send links to reports and possible future other links to provide an url that opens in the AyaNova client directly to viewing a report, so that the url [clienturl]/viewreport?oid=1&rid=1 for example will open report id 1 with object id 1 -- Can now hide columns that are filtered or sorted without error in data tables; Data Table column selector button will change to larger and accented when this is the case and the column selector form will highlight these hidden columns that affect the view with raised elevation, accent color and filter/sort icon (both show, there is no distinction which type of way it's affecting) -- fixed - Search form object types selection need enum list variant of object types to only show for roles allowed then change search form picklist to use that variant - Notification events list (notify subscription) needs variant that controls what they have role access to - memo to dropdown list shows all users for selection then after selecting one shows only that selected when you next drop down, should show all users still like first time. - memo click on reply or forward should put cursor into top of edit message control (notes) - memo read now flags correctly - taxcode form has default of .05 in taxa, change to zero - Default warehouse try to enter a tag bombs with error - PartInventory data table errors out when click on column selector - Part inventory list remove description field - PO form Hide serial field until an ID is set (i.e. don't show 0) - PO Form serial field read only unless superuser - PO item Receive button confusing as it receives all, change text to receive all - PO item table to optionally show part Name field and show hide via customize form - PO item not showing taxaviz and taxbviz - Part inventory list also show on order and on order committed - Ability to remove (optional) data table filter set internally when viewing from objects own menu for partinventory, inventorytransactions, reviews, servicebank - (was: **Part inventory list view will NOT show all parts if previously selected to view the actual part inventory for a single part.) - FIX: Added UI elements at top of grid to remove single object filter (where applicable) and display which object(s) data is displaying consistently - Part inventory adjustment adding from list that is already restricted to one part [OR WAREHOUSE] only (coming from part [OR WAREHOUSE] form menu) should pre-select the part [OR WAREHOUSE] in the new adjustment form - Inventory limited role is presented delete button in part assembly list, should only be able to view - Accounting role: if select Contacts listview, get error "! Not authorized" - Taxes won't let me change an existing Name if previously selected on any other record. - Taxes won't let me change the Active status if previously selected on any other record. - Unit charge description should offer auto suggest from prior entries to save typing - User settings language and time zone and currency help / suggestions - User settings map template hint shows google maps as default - have a field area in the Global Settings for a setting labeled "Next PO Number" - In global settings "Next seed number", will consolidate that area in future and make it look nicer, right now it's kind of a "junk drawer" of functionality - -- not changed - Tag extension should have tag picker instead of empty field in cases where you are picking from existing tags - ** It would not work with the system in place. Tag picker control is designed for multiple tags, - tags extension system is designed to replace / remove a single tag at a time by design, so wouldn't save any typing by user anyway as would be restricted to one tag - and would need extensive changes to working code to implement - Tag extension to report results of operation? i.e. how many tags deleted etc - ** Not practical at this time / have made a case to look into down the road, would require extensive changes to working code at both server and client - Tag extension or any extension refresh main data table it was run from after operation (so can see results) automatically - ** looked into and realized could cause issues forcing a refresh when the user doesn't want it necessarily if they are picking and choosing records to work with in extension more than once - REMOVE THE extra decimal place - make it so max of two decimal places so if have a 6.25% tax would enter in 6.25; if 16.75% would enter in 16.75 I know of no known tax rate that has more than 2 decimal places - ** Many places globally have 3 decimal place tax rates, even in the US https://taxfoundation.org/2020-sales-taxes/ - When I click to enter a tag (but have not yet typed anything), I'd expect/like to see a list of ALL existing tags drop down that I can then scroll down and select(doesn't do this as of right now March 15 2021 alpha-104) - ** Oh, ok, I thought you meant an area where tags could be viewed. That's not practical, there could be 10,000 tags, it's open ended, we can't send the whole list every drop down of every tag. What's the use-case for this? - like if a person isn't sure what tags to use or...?? - When select "-" in the Filter Manager, I expect that no filtering/sort order etc, will be applied. I expect that selecting "-" resets all back to nothing. - BUT when I select the "-" in Filter Manager, the last filtering/sorting that was used on the grid REMAINS. Wanted to bring this to your attention in case there to confirm this is as expected? - Scenario: Filter on one or two columns. Sort on one or two columns. Via Filter Manager save this as a filter view. Now select "-" in the Filter Manager (at which point I expect that selecting "_" would remove the filtering and sorting and reset the datatable back to no filtering/sorting. - ** Hmmm...this one is tricky, it's actually resetting back to whatever the user last set manually when you click on that - - so if you just made a filter and saved it and go back to - you're effectively saying take me back to the last manual filtering I set up - I don't want to toss that away because a user may be building multiple filters and saving them based on prior settings. - Not sure what is the best course of action here, but it's working as designed, it just seems weird in this particular scenario because you just saved it as a filter - but on the other hand if you were to manually set something, then go and select a saved filter then go back to manual with the - it would go back to whatever filter you were working on previously. - The X button is for explicitly resetting to no filter regardless of the scenario, the - means "take me back to whatever filter I had set before I did this thing" - Needs more thought I guess. - - - diff --git a/ayanova/src/components/work-order-item-tasks.vue b/ayanova/src/components/work-order-item-tasks.vue index 3dd36a25..8bb289f5 100644 --- a/ayanova/src/components/work-order-item-tasks.vue +++ b/ayanova/src/components/work-order-item-tasks.vue @@ -248,7 +248,7 @@ :rules="[ form().required( this, - `Items[${activeWoItemIndex}].tasks[${activeItemIndex}].tasks` + `Items[${activeWoItemIndex}].tasks[${activeItemIndex}].task` ) ]" :ref="`Items[${activeWoItemIndex}].tasks[${activeItemIndex}].task`" @@ -418,7 +418,7 @@ export default { id: 0, concurrency: 0, sequence: newIndex + 1, //indexes are zero based but sequences are visible to user so 1 based - task: null, + task: undefined, //to trigger validation on new status: 1, //incomplete==1 completedByUserId: null, completedDate: null, @@ -429,6 +429,15 @@ export default { this.$emit("change"); this.selectedRow = [{ index: newIndex }]; this.activeItemIndex = newIndex; + //trigger rule breaking / validation + this.$nextTick(() => { + this.value.items[this.activeWoItemIndex].tasks[ + this.activeItemIndex + ].task = null; + this.fieldValueChanged( + `Items[${this.activeWoItemIndex}].tasks[${this.activeItemIndex}].task` + ); + }); }, unDeleteItem() { this.value.items[this.activeWoItemIndex].tasks[ diff --git a/ayanova/src/components/work-order-items.vue b/ayanova/src/components/work-order-items.vue index d8507704..f048a2c7 100644 --- a/ayanova/src/components/work-order-items.vue +++ b/ayanova/src/components/work-order-items.vue @@ -762,7 +762,7 @@ export default { this.value.items.push({ id: 0, concurrency: 0, - notes: null, + notes: undefined, //to trigger validation on new wiki: null, customFields: "{}", tags: [], @@ -790,7 +790,10 @@ export default { this.selectedRow = [{ index: newIndex }]; this.activeItemIndex = newIndex; //trigger rule breaking / validation - this.fieldValueChanged(`items[${this.activeItemIndex}].notes`); + this.$nextTick(() => { + this.value.items[this.activeItemIndex].notes = null; + this.fieldValueChanged(`items[${this.activeItemIndex}].notes`); + }); }, unDeleteItem() { this.value.items[this.activeItemIndex].deleted = false;