This commit is contained in:
2018-12-12 20:38:08 +00:00
parent 4d0c4da32b
commit 125cd51d6b
3 changed files with 52 additions and 6 deletions

View File

@@ -5,11 +5,24 @@ Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOiIxNTQ0NTU5NzAwIiwiZXhwIjoi
## IMMEDIATE ITEMS
User - implement filter on usertype so we have at least one enum filter, also these filters are going to be used internally by a lot of code
to fill pick lists and such in the UI so they must support most things I would need to filter by inluding enums.
- No need for other enum filters just yet, add them as required so there's no YAGNI happening.
User and any other getmany LISTS - replicate from widget list when above is done
Widget and user picklist, modify to use filter and sort criteria, remove the startswith built in filter
- Fix up the old tests for picklists and replace with new test using filter ID
- Don't forget to test with no filter ID to ensure still works as normal (default picklist should sort by alpha, need extra default method for sql query)
User
- Create one filter and sort test that can be adapted for all other objects so we know each object has one basic test for it's filter and sort code
- Probably just filter by name and sort by active to be most universal
NEXT
- This should be the point that the lists code is concluded and can move on to the other SERVER items below then back to client stuff in the middle here
TODO after CLIENT testing:
-----------------------
TODO CLIENT STUFF
- LIST
- Overall list menu toolbar at top with following icons:
- Add new item
@@ -66,9 +79,9 @@ Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOiIxNTQ0NTU5NzAwIiwiZXhwIjoi
- broken rule display
----------------
TODO SERVER
TODO SERVER STUFF
- ProcessObjectKeywords improvement
-Should just be able to pass the object to be processed to a method that will automatically find the Name field and all text fields and process it accordingly
- May need a hint if there isn't a specific "Name" field but that's probably so rare that can just leave that out and continue the old way for any object without a Name
@@ -92,11 +105,17 @@ TODO SERVER
- Wherever I am currently storing time zone that's where these other settings need to be
- TODO: Make sure private data filters get deleted with users who created them
- TAGS: REally need to have a think about how tags are used in the UI, probably need a autofill route that has a source of used or common tags to drive it
- so user can type first fiew characters adn select
- So consistency is maintained and not sloppy multiple spellings
- Maybe a db stored procedure and trigger or biz code that feeds a consolidated tag table of all entered tags in the system?
- Maybe a reference count for each tag to drive a tag cloud feature and also a order by commonality feature when offering and also to know when to remove the tag repository when no one is using that tag anymore in any records
-----------------
TODO AFTER ABOVE:

View File

@@ -88,6 +88,33 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Get filter and sort options
///
/// Required roles:
/// BizAdminFull, InventoryFull, BizAdminLimited, InventoryLimited, TechFull, TechLimited, Accounting
///
/// </summary>
/// <returns>Filter options</returns>
[HttpGet("FilterOptions")]
public ActionResult FilterOptions()
{
if (serverState.IsClosed)
return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
//Instantiate the business object handler
UserBiz biz = UserBiz.GetBiz(ct, HttpContext);
if (!Authorized.IsAuthorizedToReadFullRecord(HttpContext.Items, biz.BizType))
return StatusCode(401, new ApiNotAuthorizedResponse());
return Ok(new
{
data = UserBiz.FilterOptions(biz.UserLocaleId)
});
}
/// <summary>
/// Get paged list of Users
///

View File

@@ -79,7 +79,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Get filter options
/// Get filter and sort options
///
/// Required roles:
/// BizAdminFull, InventoryFull, BizAdminLimited, InventoryLimited, TechFull, TechLimited, Accounting