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 ## 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
TODO after CLIENT testing: 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 CLIENT STUFF
- LIST - LIST
- Overall list menu toolbar at top with following icons: - Overall list menu toolbar at top with following icons:
- Add new item - Add new item
@@ -66,9 +79,9 @@ Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOiIxNTQ0NTU5NzAwIiwiZXhwIjoi
- broken rule display - broken rule display
----------------
TODO SERVER STUFF
TODO SERVER
- ProcessObjectKeywords improvement - 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 -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 - 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 - 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 - 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> /// <summary>
/// Get paged list of Users /// Get paged list of Users
/// ///

View File

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