This commit is contained in:
2019-01-08 22:30:45 +00:00
parent df0b28dd4e
commit a3ef9592e6
2 changed files with 21 additions and 6 deletions

View File

@@ -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