From a3ef9592e6289ad7d431a8ca0d64470bbd99deaa Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 8 Jan 2019 22:30:45 +0000 Subject: [PATCH] --- devdocs/specs/core-customize-form-fields.txt | 26 +++++++++++++++----- devdocs/todo.txt | 1 + 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/devdocs/specs/core-customize-form-fields.txt b/devdocs/specs/core-customize-form-fields.txt index 8e0746a5..42a93429 100644 --- a/devdocs/specs/core-customize-form-fields.txt +++ b/devdocs/specs/core-customize-form-fields.txt @@ -11,7 +11,7 @@ CASES REQUIREMENTS -FEATURE - The ability to customize forms: +UI FEATURE - The ability to customize forms: - A "Customize" option in the Action bar menu | that is accessible to people of BizAdminFull role only - If a dispatcher needs a custom field set on a workorder, a bizadminfull user must login and set that up for them - When customize is selected a generic form pops up with a list of fields provided by the backend and their current settings and controls @@ -24,14 +24,28 @@ FEATURE - The ability to customize forms: - If required then it's like a business rule and treated just like that at the back and front end - During business rule validation check at backend it checks if the fields are required and have entries and returns a validation error if not exactly the same as for built in rules - Ideally this would be a better feature if it was everywhere, not just in a limited set of objects but rather in all substantial objects + - Client caches the customization data when it first opens the form and then checks if it's changed when it next opens the form + - The route that fetches the FormCustomization data needs to accept a query item that is a date or concurrency token so that + if nothing has changed the server returns the unchanged code or instead returns all the data if it is changed to save bandwidth + - - - - - + ## TODO + - Need a FormCustomization table and model to hold the user's form customization data + - Only holds items that differ from stock, no "core" fields allowed + - FormKey + - FieldKey + - Hide + - Required + - Type (checkbox, date, date time, decimal, number, picklist, and text) + + - Need a FormFields static collection class that contains the fields available to each form + - Fields: FormKey, FieldKey (localekey), Core (bool, true means can't be hidden), IsCustom (bool, means it's one of the custom fields that can be set to type etc) + - This should be independent from any other class tied to a particular route or controller or db table as it could be some or none of all of those things + - Probably a static class that backs a route that you provide a formkey and get back this collection similar to FilterOptions classes + + EXISTING v7: - 10 custom fields in - Client diff --git a/devdocs/todo.txt b/devdocs/todo.txt index a8447487..743f5415 100644 --- a/devdocs/todo.txt +++ b/devdocs/todo.txt @@ -13,6 +13,7 @@ Do the stuff in the Client todo first then back to the server as required. SERVER + - PickListFetcher: WTF? It has a reference to widgetbiz in it, isn't this a generic class?? - CUSTOM FIELDS?! - CUSTOM FIELDS (case 3426)