This commit is contained in:
@@ -58,8 +58,8 @@ namespace AyaNova.Api.Controllers
|
|||||||
if (!ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
return BadRequest(new ApiErrorResponse(ModelState));
|
return BadRequest(new ApiErrorResponse(ModelState));
|
||||||
|
|
||||||
if (selectedRequest.IsEmpty)
|
if (selectedRequest == null)
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelection is required"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelectedRequest is required"));
|
||||||
|
|
||||||
if (!Authorized.HasReadFullRole(HttpContext.Items, selectedRequest.ObjectType))
|
if (!Authorized.HasReadFullRole(HttpContext.Items, selectedRequest.ObjectType))
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
@@ -70,9 +70,16 @@ namespace AyaNova.Api.Controllers
|
|||||||
if (format != "csv" && format != "json")
|
if (format != "csv" && format != "json")
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_INVALID_VALUE, null, "format not valid, must be 'csv' or 'json'"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_INVALID_VALUE, null, "format not valid, must be 'csv' or 'json'"));
|
||||||
|
|
||||||
await selectedRequest.RehydrateIdList(ct, UserRolesFromContext.Roles(HttpContext.Items), log, UserIdFromContext.Id(HttpContext.Items));
|
|
||||||
|
//Rehydrate id list if necessary
|
||||||
if (selectedRequest.SelectedRowIds.Length == 0)
|
if (selectedRequest.SelectedRowIds.Length == 0)
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "List of ids"));
|
selectedRequest.SelectedRowIds = await DataListSelectedProcessingOptions.RehydrateIdList(
|
||||||
|
selectedRequest,
|
||||||
|
ct,
|
||||||
|
UserRolesFromContext.Roles(HttpContext.Items),
|
||||||
|
log,
|
||||||
|
UserIdFromContext.Id(HttpContext.Items),
|
||||||
|
UserTranslationIdFromContext.Id(HttpContext.Items));
|
||||||
|
|
||||||
|
|
||||||
log.LogDebug($"Instantiating biz object handler for {selectedRequest.ObjectType}");
|
log.LogDebug($"Instantiating biz object handler for {selectedRequest.ObjectType}");
|
||||||
|
|||||||
@@ -203,17 +203,22 @@ namespace AyaNova.Api.Controllers
|
|||||||
if (!ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
return BadRequest(new ApiErrorResponse(ModelState));
|
return BadRequest(new ApiErrorResponse(ModelState));
|
||||||
|
|
||||||
if (selectedRequest.IsEmpty)
|
if (selectedRequest == null)
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelection is required"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelectedRequest is required"));
|
||||||
|
|
||||||
|
|
||||||
if (!Authorized.HasDeleteRole(HttpContext.Items, selectedRequest.ObjectType))
|
if (!Authorized.HasDeleteRole(HttpContext.Items, selectedRequest.ObjectType))
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
|
|
||||||
|
//Rehydrate id list if necessary
|
||||||
await selectedRequest.RehydrateIdList(ct, UserRolesFromContext.Roles(HttpContext.Items), log, UserIdFromContext.Id(HttpContext.Items));
|
|
||||||
if (selectedRequest.SelectedRowIds.Length == 0)
|
if (selectedRequest.SelectedRowIds.Length == 0)
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "List of ids"));
|
selectedRequest.SelectedRowIds = await DataListSelectedProcessingOptions.RehydrateIdList(
|
||||||
|
selectedRequest,
|
||||||
|
ct,
|
||||||
|
UserRolesFromContext.Roles(HttpContext.Items),
|
||||||
|
log,
|
||||||
|
UserIdFromContext.Id(HttpContext.Items),
|
||||||
|
UserTranslationIdFromContext.Id(HttpContext.Items));
|
||||||
|
|
||||||
var JobName = $"LT:BatchDeleteJob - LT:{selectedRequest.ObjectType} ({selectedRequest.SelectedRowIds.LongLength}) LT:User {UserNameFromContext.Name(HttpContext.Items)}";
|
var JobName = $"LT:BatchDeleteJob - LT:{selectedRequest.ObjectType} ({selectedRequest.SelectedRowIds.LongLength}) LT:User {UserNameFromContext.Name(HttpContext.Items)}";
|
||||||
JObject o = JObject.FromObject(new
|
JObject o = JObject.FromObject(new
|
||||||
|
|||||||
@@ -196,32 +196,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
ReportBiz biz = ReportBiz.GetBiz(ct, HttpContext);
|
ReportBiz biz = ReportBiz.GetBiz(ct, HttpContext);
|
||||||
if (!ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
return BadRequest(new ApiErrorResponse(ModelState));
|
return BadRequest(new ApiErrorResponse(ModelState));
|
||||||
|
|
||||||
|
|
||||||
// //-------------------------------
|
|
||||||
// var UserRoles = UserRolesFromContext.Roles(HttpContext.Items);
|
|
||||||
// var UserId = UserIdFromContext.Id(HttpContext.Items);
|
|
||||||
// DataListSavedColumnViewBiz viewbiz = DataListSavedColumnViewBiz.GetBiz(ct, HttpContext);
|
|
||||||
// var SavedView = await viewbiz.GetAsync(UserId, selectedRequest.DataListKey, true);
|
|
||||||
|
|
||||||
// DataListSavedFilter SavedFilter = null;
|
|
||||||
// if (selectedRequest.FilterId != 0)
|
|
||||||
// {
|
|
||||||
// DataListSavedFilterBiz filterbiz = DataListSavedFilterBiz.GetBiz(ct, HttpContext);
|
|
||||||
// SavedFilter = await filterbiz.GetAsync(selectedRequest.FilterId, false);
|
|
||||||
// }
|
|
||||||
// var DataList = DataListFactory.GetAyaDataList(selectedRequest.DataListKey);
|
|
||||||
// if (DataList == null)
|
|
||||||
// return BadRequest(new ApiErrorResponse(ApiErrorCode.NOT_FOUND, "DataListKey", $"DataList \"{selectedRequest.DataListKey}\" specified does not exist"));
|
|
||||||
|
|
||||||
// //check rights
|
|
||||||
// if (!UserRoles.HasAnyFlags(DataList.AllowedRoles))
|
|
||||||
// return StatusCode(403, new ApiNotAuthorizedResponse());
|
|
||||||
|
|
||||||
// //hydrate the saved view and filter
|
|
||||||
// DataListSelectedProcessingOptions dataListSelectedOptions = new DataListSelectedProcessingOptions(selectedRequest, DataList, SavedView, SavedFilter, UserId, UserRoles);
|
|
||||||
// //------------------------
|
|
||||||
|
|
||||||
|
|
||||||
var reportData = await biz.GetReportData(selectedRequest);
|
var reportData = await biz.GetReportData(selectedRequest);
|
||||||
if (reportData == null)
|
if (reportData == null)
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
return BadRequest(new ApiErrorResponse(ModelState));
|
return BadRequest(new ApiErrorResponse(ModelState));
|
||||||
|
|
||||||
if (selectedRequest.IsEmpty)
|
if (selectedRequest.IsEmpty)
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelection is required"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelectedRequest is required"));
|
||||||
|
|
||||||
if (!selectedRequest.ObjectType.HasAttribute(typeof(CoreBizObjectAttribute)))
|
if (!selectedRequest.ObjectType.HasAttribute(typeof(CoreBizObjectAttribute)))
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, null, "Not a taggable object type"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, null, "Not a taggable object type"));
|
||||||
@@ -103,9 +103,15 @@ namespace AyaNova.Api.Controllers
|
|||||||
if (string.IsNullOrWhiteSpace(tag))
|
if (string.IsNullOrWhiteSpace(tag))
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "tag required"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "tag required"));
|
||||||
|
|
||||||
await selectedRequest.RehydrateIdList(ct, UserRolesFromContext.Roles(HttpContext.Items), log, UserIdFromContext.Id(HttpContext.Items));
|
//Rehydrate id list if necessary
|
||||||
if (selectedRequest.SelectedRowIds.Length == 0)
|
if (selectedRequest.SelectedRowIds.Length == 0)
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "List of ids"));
|
selectedRequest.SelectedRowIds = await DataListSelectedProcessingOptions.RehydrateIdList(
|
||||||
|
selectedRequest,
|
||||||
|
ct,
|
||||||
|
UserRolesFromContext.Roles(HttpContext.Items),
|
||||||
|
log,
|
||||||
|
UserIdFromContext.Id(HttpContext.Items),
|
||||||
|
UserTranslationIdFromContext.Id(HttpContext.Items));
|
||||||
|
|
||||||
var JobName = $"LT:BatchJob LT:Add LT:Tag \"{tag}\" LT:{selectedRequest.ObjectType} ({selectedRequest.SelectedRowIds.LongLength}) LT:User {UserNameFromContext.Name(HttpContext.Items)}";
|
var JobName = $"LT:BatchJob LT:Add LT:Tag \"{tag}\" LT:{selectedRequest.ObjectType} ({selectedRequest.SelectedRowIds.LongLength}) LT:User {UserNameFromContext.Name(HttpContext.Items)}";
|
||||||
JObject o = JObject.FromObject(new
|
JObject o = JObject.FromObject(new
|
||||||
@@ -181,7 +187,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
return BadRequest(new ApiErrorResponse(ModelState));
|
return BadRequest(new ApiErrorResponse(ModelState));
|
||||||
|
|
||||||
if (selectedRequest.IsEmpty)
|
if (selectedRequest.IsEmpty)
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelection is required"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelectedRequest is required"));
|
||||||
|
|
||||||
if (!selectedRequest.ObjectType.HasAttribute(typeof(CoreBizObjectAttribute)))
|
if (!selectedRequest.ObjectType.HasAttribute(typeof(CoreBizObjectAttribute)))
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, null, "Not a taggable object type"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, null, "Not a taggable object type"));
|
||||||
@@ -192,10 +198,15 @@ namespace AyaNova.Api.Controllers
|
|||||||
if (string.IsNullOrWhiteSpace(tag))
|
if (string.IsNullOrWhiteSpace(tag))
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "tag"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "tag"));
|
||||||
|
|
||||||
await selectedRequest.RehydrateIdList(ct, UserRolesFromContext.Roles(HttpContext.Items), log, UserIdFromContext.Id(HttpContext.Items));
|
//Rehydrate id list if necessary
|
||||||
if (selectedRequest.SelectedRowIds.Length == 0)
|
if (selectedRequest.SelectedRowIds.Length == 0)
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "List of ids"));
|
selectedRequest.SelectedRowIds = await DataListSelectedProcessingOptions.RehydrateIdList(
|
||||||
|
selectedRequest,
|
||||||
|
ct,
|
||||||
|
UserRolesFromContext.Roles(HttpContext.Items),
|
||||||
|
log,
|
||||||
|
UserIdFromContext.Id(HttpContext.Items),
|
||||||
|
UserTranslationIdFromContext.Id(HttpContext.Items));
|
||||||
|
|
||||||
var JobName = $"LT:BatchJob LT:Remove LT:Tag \"{tag}\" LT:{selectedRequest.ObjectType} ({selectedRequest.SelectedRowIds.LongLength}) LT:User {UserNameFromContext.Name(HttpContext.Items)}";
|
var JobName = $"LT:BatchJob LT:Remove LT:Tag \"{tag}\" LT:{selectedRequest.ObjectType} ({selectedRequest.SelectedRowIds.LongLength}) LT:User {UserNameFromContext.Name(HttpContext.Items)}";
|
||||||
JObject o = JObject.FromObject(new
|
JObject o = JObject.FromObject(new
|
||||||
@@ -263,20 +274,20 @@ namespace AyaNova.Api.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="fromTag"></param>
|
/// <param name="fromTag"></param>
|
||||||
/// <param name="toTag"></param>
|
/// <param name="toTag"></param>
|
||||||
/// <param name="dataListSelection"></param>
|
/// <param name="selectedRequest"></param>
|
||||||
/// <returns>Job Id</returns>
|
/// <returns>Job Id</returns>
|
||||||
[HttpPost("batch-replace/{fromTag}")]
|
[HttpPost("batch-replace/{fromTag}")]
|
||||||
public async Task<IActionResult> BatchReplace([FromRoute] string fromTag, [FromQuery] string toTag, [FromBody] DataListSelectedRequest dataListSelection)
|
public async Task<IActionResult> BatchReplace([FromRoute] string fromTag, [FromQuery] string toTag, [FromBody] DataListSelectedRequest selectedRequest)
|
||||||
{
|
{
|
||||||
if (!serverState.IsOpen)
|
if (!serverState.IsOpen)
|
||||||
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
||||||
if (!ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
return BadRequest(new ApiErrorResponse(ModelState));
|
return BadRequest(new ApiErrorResponse(ModelState));
|
||||||
if (dataListSelection.IsEmpty)
|
if (selectedRequest.IsEmpty)
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelection is required"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "DataListSelectedRequest is required"));
|
||||||
if (!dataListSelection.ObjectType.HasAttribute(typeof(CoreBizObjectAttribute)))
|
if (!selectedRequest.ObjectType.HasAttribute(typeof(CoreBizObjectAttribute)))
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, null, "Not a taggable object type"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, null, "Not a taggable object type"));
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, dataListSelection.ObjectType))
|
if (!Authorized.HasModifyRole(HttpContext.Items, selectedRequest.ObjectType))
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
fromTag = TagBiz.NormalizeTag(fromTag);
|
fromTag = TagBiz.NormalizeTag(fromTag);
|
||||||
if (string.IsNullOrWhiteSpace(fromTag))
|
if (string.IsNullOrWhiteSpace(fromTag))
|
||||||
@@ -284,20 +295,27 @@ namespace AyaNova.Api.Controllers
|
|||||||
toTag = TagBiz.NormalizeTag(toTag);
|
toTag = TagBiz.NormalizeTag(toTag);
|
||||||
if (string.IsNullOrWhiteSpace(toTag))
|
if (string.IsNullOrWhiteSpace(toTag))
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "toTag"));
|
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "toTag"));
|
||||||
await dataListSelection.RehydrateIdList(ct, UserRolesFromContext.Roles(HttpContext.Items), log, UserIdFromContext.Id(HttpContext.Items));
|
|
||||||
if (dataListSelection.SelectedRowIds.Length == 0)
|
//Rehydrate id list if necessary
|
||||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, null, "List of ids"));
|
if (selectedRequest.SelectedRowIds.Length == 0)
|
||||||
|
selectedRequest.SelectedRowIds = await DataListSelectedProcessingOptions.RehydrateIdList(
|
||||||
|
selectedRequest,
|
||||||
|
ct,
|
||||||
|
UserRolesFromContext.Roles(HttpContext.Items),
|
||||||
|
log,
|
||||||
|
UserIdFromContext.Id(HttpContext.Items),
|
||||||
|
UserTranslationIdFromContext.Id(HttpContext.Items));
|
||||||
|
|
||||||
var JobName = $"LT:BatchJob LT:Replace LT:Tag \"{fromTag}\" -> LT:Tag \"{toTag}\" LT:{dataListSelection.ObjectType} ({dataListSelection.SelectedRowIds.LongLength}) LT:User {UserNameFromContext.Name(HttpContext.Items)}";
|
var JobName = $"LT:BatchJob LT:Replace LT:Tag \"{fromTag}\" -> LT:Tag \"{toTag}\" LT:{selectedRequest.ObjectType} ({selectedRequest.SelectedRowIds.LongLength}) LT:User {UserNameFromContext.Name(HttpContext.Items)}";
|
||||||
JObject o = JObject.FromObject(new
|
JObject o = JObject.FromObject(new
|
||||||
{
|
{
|
||||||
idList = dataListSelection.SelectedRowIds,
|
idList = selectedRequest.SelectedRowIds,
|
||||||
tag = fromTag,
|
tag = fromTag,
|
||||||
toTag = toTag
|
toTag = toTag
|
||||||
});
|
});
|
||||||
|
|
||||||
OpsJob j = new OpsJob();
|
OpsJob j = new OpsJob();
|
||||||
j.ObjectType = dataListSelection.ObjectType;
|
j.ObjectType = selectedRequest.ObjectType;
|
||||||
j.Name = JobName;
|
j.Name = JobName;
|
||||||
j.JobType = JobType.BatchCoreObjectOperation;
|
j.JobType = JobType.BatchCoreObjectOperation;
|
||||||
j.SubType = JobSubType.TagReplace;
|
j.SubType = JobSubType.TagReplace;
|
||||||
|
|||||||
@@ -238,53 +238,53 @@ namespace AyaNova.DataList
|
|||||||
//
|
//
|
||||||
internal static async Task<long[]> GetIdListResponseAsync(AyContext ct, DataListSelectedProcessingOptions dataListSelectionOptions,IDataListProcessing DataList, AuthorizationRoles userRoles, ILogger log, long userId)
|
internal static async Task<long[]> GetIdListResponseAsync(AyContext ct, DataListSelectedProcessingOptions dataListSelectionOptions,IDataListProcessing DataList, AuthorizationRoles userRoles, ILogger log, long userId)
|
||||||
{
|
{
|
||||||
// var DataList = DataListFactory.GetAyaDataList(dataListSelectionOptions.DataListKey);
|
// // var DataList = DataListFactory.GetAyaDataList(dataListSelectionOptions.DataListKey);
|
||||||
// //was the name not found as a list?
|
// // //was the name not found as a list?
|
||||||
// if (DataList == null)
|
// // if (DataList == null)
|
||||||
// throw new System.ArgumentOutOfRangeException($"DataList \"{dataListSelectionOptions.DataListKey}\" specified does not exist");
|
// // throw new System.ArgumentOutOfRangeException($"DataList \"{dataListSelectionOptions.DataListKey}\" specified does not exist");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//check rights
|
// //check rights
|
||||||
if (!userRoles.HasAnyFlags(DataList.AllowedRoles))
|
// if (!userRoles.HasAnyFlags(DataList.AllowedRoles))
|
||||||
throw new System.UnauthorizedAccessException("User roles insufficient for this datalist");
|
// throw new System.UnauthorizedAccessException("User roles insufficient for this datalist");
|
||||||
|
|
||||||
// //do we need to default the listView?
|
// // //do we need to default the listView?
|
||||||
// if (string.IsNullOrWhiteSpace(listView))
|
// // if (string.IsNullOrWhiteSpace(listView))
|
||||||
// listView = DataList.DefaultListView;
|
// // listView = DataList.DefaultListView;
|
||||||
|
|
||||||
DataList.SetListOptionDefaultsIfNecessary(dataListSelectionOptions);
|
// DataList.SetListOptionDefaultsIfNecessary(dataListSelectionOptions);
|
||||||
|
|
||||||
// //parse the list view
|
// // //parse the list view
|
||||||
// var ListViewArray = JArray.Parse(listView);
|
// // var ListViewArray = JArray.Parse(listView);
|
||||||
|
|
||||||
|
|
||||||
// //Hard coded extra criteria from server end
|
// // //Hard coded extra criteria from server end
|
||||||
// if (DataList is IAyaDataListServerCriteria)
|
// // if (DataList is IAyaDataListServerCriteria)
|
||||||
// {
|
// // {
|
||||||
// var ServerCriteriaListView = JArray.Parse(((IAyaDataListServerCriteria)DataList).DataListServerCriteria(await ct.User.AsNoTracking().FirstOrDefaultAsync(z => z.Id == userId), ct));
|
// // var ServerCriteriaListView = JArray.Parse(((IAyaDataListServerCriteria)DataList).DataListServerCriteria(await ct.User.AsNoTracking().FirstOrDefaultAsync(z => z.Id == userId), ct));
|
||||||
// foreach (JToken jt in ServerCriteriaListView)
|
// // foreach (JToken jt in ServerCriteriaListView)
|
||||||
// ListViewArray.Add(jt);
|
// // ListViewArray.Add(jt);
|
||||||
// }
|
// // }
|
||||||
|
|
||||||
//STATIC filter options from server
|
// //STATIC filter options from server
|
||||||
List<DataListFilterOption> StaticServerFilterOptions = null;
|
// List<DataListFilterOption> StaticServerFilterOptions = null;
|
||||||
if (DataList is IDataListInternalCriteria)
|
// if (DataList is IDataListInternalCriteria)
|
||||||
StaticServerFilterOptions = ((IDataListInternalCriteria)DataList).DataListInternalCriteria(userId, userRoles, dataListSelectionOptions);
|
// StaticServerFilterOptions = ((IDataListInternalCriteria)DataList).DataListInternalCriteria(userId, userRoles, dataListSelectionOptions);
|
||||||
|
|
||||||
//Add the internal filters into the listoptions existing filters
|
// //Add the internal filters into the listoptions existing filters
|
||||||
//NOTE: There is currently no overlap between internal filtered columns and filters coming from the client
|
// //NOTE: There is currently no overlap between internal filtered columns and filters coming from the client
|
||||||
foreach (DataListFilterOption dfo in StaticServerFilterOptions)
|
// foreach (DataListFilterOption dfo in StaticServerFilterOptions)
|
||||||
dataListSelectionOptions.Filter.Add(dfo);
|
// dataListSelectionOptions.Filter.Add(dfo);
|
||||||
|
|
||||||
// //Hard coded extra criteria from Client end
|
// // //Hard coded extra criteria from Client end
|
||||||
// //parse and combine any additional listview hard coded from Client UI
|
// // //parse and combine any additional listview hard coded from Client UI
|
||||||
// var MetaListViewArray = JArray.Parse(metaListView ?? "[]");
|
// // var MetaListViewArray = JArray.Parse(metaListView ?? "[]");
|
||||||
// foreach (JToken jt in MetaListViewArray)
|
// // foreach (JToken jt in MetaListViewArray)
|
||||||
// ListViewArray.Add(jt);
|
// // ListViewArray.Add(jt);
|
||||||
|
|
||||||
// //Get the field key names in a list from the listview
|
// // //Get the field key names in a list from the listview
|
||||||
// List<string> ListViewFieldList = DataList.GetFieldListFromListView(ListViewArray);
|
// // List<string> ListViewFieldList = DataList.GetFieldListFromListView(ListViewArray);
|
||||||
|
|
||||||
//BUILD THE QUERY
|
//BUILD THE QUERY
|
||||||
//SELECT FRAGMENT COLUMNS FROM TEMPLATE
|
//SELECT FRAGMENT COLUMNS FROM TEMPLATE
|
||||||
|
|||||||
@@ -344,9 +344,7 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Do we need to rehydrate the ID List from a DataList?
|
//Do we need to rehydrate the ID List from a DataList?
|
||||||
// if (dataListSelection.SelectedRowIds.Length == 0)
|
if (selectedRequest.SelectedRowIds.Length == 0)
|
||||||
// dataListSelection.SelectedRowIds = await AyaNova.DataList.DataListFetcher.GetIdListResponseAsync(dataListSelection.DataListKey, dataListSelection.ListView, dataListSelection.MetaView, ct, effectiveRoles, log, UserId);
|
|
||||||
if(selectedRequest.SelectedRowIds.Length==0)
|
|
||||||
selectedRequest.SelectedRowIds = await DataListSelectedProcessingOptions.RehydrateIdList(selectedRequest, ct, effectiveRoles, log, UserId, UserTranslationId);
|
selectedRequest.SelectedRowIds = await DataListSelectedProcessingOptions.RehydrateIdList(selectedRequest, ct, effectiveRoles, log, UserId, UserTranslationId);
|
||||||
|
|
||||||
|
|
||||||
@@ -405,7 +403,7 @@ namespace AyaNova.Biz
|
|||||||
// ListView = reportParam.ListView,
|
// ListView = reportParam.ListView,
|
||||||
// MetaView = reportParam.MetaView
|
// MetaView = reportParam.MetaView
|
||||||
// });
|
// });
|
||||||
var ReportData= await GetReportData(reportParam);
|
var ReportData = await GetReportData(reportParam);
|
||||||
|
|
||||||
//initialization
|
//initialization
|
||||||
log.LogDebug("Initializing report system");
|
log.LogDebug("Initializing report system");
|
||||||
@@ -557,8 +555,8 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Report meta data
|
//Report meta data
|
||||||
// var reportMeta = $"{{Id:{report.Id},Name:`{report.Name}`,Notes:`{report.Notes}`,ObjectType:`{report.ObjectType}`,CustomFieldsDefinition:{CustomFieldsTemplate},DataListKey:`{reportParam.DataListKey}`,ListView:`{reportParam.ListView}`,SelectedRowIds: `{string.Join(",", reportParam.SelectedRowIds)}`}}";
|
// var reportMeta = $"{{Id:{report.Id},Name:`{report.Name}`,Notes:`{report.Notes}`,ObjectType:`{report.ObjectType}`,CustomFieldsDefinition:{CustomFieldsTemplate},DataListKey:`{reportParam.DataListKey}`,ListView:`{reportParam.ListView}`,SelectedRowIds: `{string.Join(",", reportParam.SelectedRowIds)}`}}";
|
||||||
//removed listview as it no longer exists and I don't think there's any useful purpose to it in the report javascript at this time
|
//removed listview as it no longer exists and I don't think there's any useful purpose to it in the report javascript at this time
|
||||||
var reportMeta = $"{{Id:{report.Id},Name:`{report.Name}`,Notes:`{report.Notes}`,ObjectType:`{report.ObjectType}`,CustomFieldsDefinition:{CustomFieldsTemplate},DataListKey:`{reportParam.DataListKey}`,SelectedRowIds: `{string.Join(",", reportParam.SelectedRowIds)}`}}";
|
var reportMeta = $"{{Id:{report.Id},Name:`{report.Name}`,Notes:`{report.Notes}`,ObjectType:`{report.ObjectType}`,CustomFieldsDefinition:{CustomFieldsTemplate},DataListKey:`{reportParam.DataListKey}`,SelectedRowIds: `{string.Join(",", reportParam.SelectedRowIds)}`}}";
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
using AyaNova.Biz;
|
using AyaNova.Biz;
|
||||||
|
using AyaNova.DataList;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
namespace AyaNova.Models
|
namespace AyaNova.Models
|
||||||
{
|
{
|
||||||
|
|
||||||
public class DataListReportProcessingOptions : DataListSelectedProcessingOptions
|
public class DataListReportProcessingOptions : DataListSelectedProcessingOptions
|
||||||
{
|
{
|
||||||
|
internal DataListReportProcessingOptions(DataListSelectedRequest request, IDataListProcessing dataList, DataListSavedColumnView savedView, DataListSavedFilter savedFilter, long userId, AuthorizationRoles userRoles) : base(request, dataList, savedView, savedFilter, userId, userRoles)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public long ReportId { get; set; }
|
public long ReportId { get; set; }
|
||||||
public JToken ClientMeta { get; set; }//meta JSON data passed from client, not part of biz object data
|
public JToken ClientMeta { get; set; }//meta JSON data passed from client, not part of biz object data
|
||||||
//public long[] SelectedRowIds { get; set; }
|
//public long[] SelectedRowIds { get; set; }
|
||||||
|
|||||||
Reference in New Issue
Block a user