mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
issueDataset.js: enabled sending many issue ids for status change by splitting up
This commit is contained in:
@@ -3,12 +3,13 @@
|
||||
*/
|
||||
|
||||
var IssuesDataset = {
|
||||
// number of max issue ids that can be sent in one request for status change
|
||||
maxIssuesPerRequest: 1000,
|
||||
|
||||
/**
|
||||
* adds person table additional actions html (above and beneath it)
|
||||
*/
|
||||
appendTableActionsHtml: function()
|
||||
{
|
||||
appendTableActionsHtml: function() {
|
||||
let auswahlStatus =
|
||||
'<div class="input-group">' +
|
||||
'<select class="form-control d-inline auswahlStatus">' +
|
||||
@@ -78,56 +79,26 @@ var IssuesDataset = {
|
||||
/**
|
||||
* sets functionality for the actions above and beneath the person table
|
||||
*/
|
||||
setTableActions: function()
|
||||
{
|
||||
$(".setStatus").click(function()
|
||||
setTableActions: function() {
|
||||
$(".setStatus").click(function() {
|
||||
let status_kurzbz = $(".auswahlStatus").val();
|
||||
let issue_ids_sel = $("#filterTableDataset input:checked[name=issue_id\\[\\]]");
|
||||
|
||||
if(status_kurzbz.length <= 0)
|
||||
return FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("fehlermonitoring", "bitteStatusWaehlen"));
|
||||
|
||||
if(issue_ids_sel.length <= 0)
|
||||
return FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("fehlermonitoring", "bitteFehlerWaehlen"));
|
||||
|
||||
let issue_ids = [];
|
||||
|
||||
for (let i = 0; i < issue_ids_sel.length; i++)
|
||||
{
|
||||
let status_kurzbz = $(".auswahlStatus").val();
|
||||
let issue_ids_sel = $("#filterTableDataset input:checked[name=issue_id\\[\\]]");
|
||||
|
||||
if(status_kurzbz.length <= 0)
|
||||
return FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("fehlermonitoring", "bitteStatusWaehlen"));
|
||||
|
||||
if(issue_ids_sel.length <= 0)
|
||||
return FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("fehlermonitoring", "bitteFehlerWaehlen"));
|
||||
|
||||
let issue_ids = [];
|
||||
|
||||
for (let i = 0; i < issue_ids_sel.length; i++)
|
||||
{
|
||||
issue_ids.push($(issue_ids_sel[i]).val());
|
||||
}
|
||||
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
'system/issues/Issues/changeIssueStatus',
|
||||
{
|
||||
"issue_ids": issue_ids,
|
||||
"status_kurzbz": status_kurzbz
|
||||
},
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
if (FHC_AjaxClient.isError(data))
|
||||
{
|
||||
FHC_DialogLib.alertError(
|
||||
FHC_PhrasesLib.t("fehlermonitoring", "statusAendernFehler") + ": "
|
||||
+ FHC_AjaxClient.getError(data)
|
||||
);
|
||||
}
|
||||
else if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
FHC_FilterWidget.reloadDataset();
|
||||
FHC_DialogLib.alertSuccess(FHC_AjaxClient.getData(data));
|
||||
}
|
||||
else
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("fehlermonitoring", "statusAendernUnbekannterFehler"));
|
||||
},
|
||||
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("fehlermonitoring", "statusAendernFehler") + ": " + textStatus);
|
||||
}
|
||||
}
|
||||
);
|
||||
issue_ids.push($(issue_ids_sel[i]).val());
|
||||
}
|
||||
);
|
||||
|
||||
IssuesDataset.changeIssueStatus(issue_ids, status_kurzbz);
|
||||
});
|
||||
|
||||
$(".selectAll").click(function()
|
||||
{
|
||||
@@ -143,6 +114,42 @@ var IssuesDataset = {
|
||||
trs.find("input[name=issue_id\\[\\]]").prop("checked", false);
|
||||
}
|
||||
);
|
||||
},
|
||||
changeIssueStatus: function(issue_ids, status_kurzbz) {
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
'system/issues/Issues/changeIssueStatus',
|
||||
{
|
||||
// split up issue ids if too much data for single request
|
||||
"issue_ids": issue_ids.slice(0, IssuesDataset.maxIssuesPerRequest),
|
||||
"status_kurzbz": status_kurzbz
|
||||
},
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
if (FHC_AjaxClient.isError(data))
|
||||
{
|
||||
FHC_DialogLib.alertError(
|
||||
FHC_PhrasesLib.t("fehlermonitoring", "statusAendernFehler") + ": "
|
||||
+ FHC_AjaxClient.getError(data)
|
||||
);
|
||||
}
|
||||
else if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
if (issue_ids.length < IssuesDataset.maxIssuesPerRequest)
|
||||
{
|
||||
FHC_DialogLib.alertSuccess(FHC_AjaxClient.getData(data));
|
||||
FHC_FilterWidget.reloadDataset();
|
||||
}
|
||||
else // send next chunk of data
|
||||
IssuesDataset.changeIssueStatus(issue_ids.slice(IssuesDataset.maxIssuesPerRequest), status_kurzbz);
|
||||
}
|
||||
else
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("fehlermonitoring", "statusAendernUnbekannterFehler"));
|
||||
},
|
||||
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("fehlermonitoring", "statusAendernFehler") + ": " + textStatus);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user