Skip to content

Commit 4d21d9f

Browse files
authored
Merge pull request #888 from derickdiaz/bug-allow-deletion-of-multiple-selected-assets
[BUG] Fixed selecting multiple assets and clicking delete does not delete m…
2 parents 677e7e9 + 7f4201e commit 4d21d9f

File tree

1 file changed

+39
-2
lines changed

1 file changed

+39
-2
lines changed

ui/src/pages/case.asset.js

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ function get_case_assets() {
133133
Table.clear();
134134
Table.rows.add(jsdata.assets);
135135
Table.columns.adjust().draw();
136-
load_menu_mod_options('asset', Table, delete_asset, [{
136+
load_menu_mod_options('asset', Table, delete_selected_assets, [{
137137
type: 'option',
138138
title: 'Check Alerts',
139139
multi: false,
@@ -167,6 +167,43 @@ function get_case_assets() {
167167
})
168168
}
169169

170+
/* Returns a list of selected assets */
171+
function get_selected_asset_ids() {
172+
let asset_ids = $("table .selected a")
173+
.map((index, element) => element.dataset.asset_id)
174+
.get();
175+
return asset_ids;
176+
}
177+
178+
/* Deletes all selected assets */
179+
function delete_selected_assets() {
180+
let asset_ids = get_selected_asset_ids();
181+
let asset_ids_str = asset_ids.join(", ");
182+
let prompt_message = `You are about to delete assets: ${asset_ids_str}`;
183+
do_deletion_prompt(prompt_message).then((doDelete) => {
184+
if (!doDelete) {
185+
return;
186+
}
187+
let cid = get_caseid();
188+
asset_ids.forEach(asset_id => {
189+
let url = `/api/v2/cases/${cid}/assets/${asset_id}`;
190+
delete_request_api(url)
191+
.done((data, textStatus) => {
192+
if (textStatus === "nocontent") {
193+
reload_assets();
194+
notify_success(`Asset deleted: ${asset_id}`);
195+
return;
196+
}
197+
notify_error(`Unable to delete asset: ${asset_id}`);
198+
})
199+
.fail((jqXHR, textStatus, errorThrown) => {
200+
notify_error(`Unable to delete asset: ${asset_id}`);
201+
})
202+
});
203+
$('#modal_add_asset').modal('hide');
204+
})
205+
}
206+
170207
/* Delete an asset */
171208
function delete_asset(asset_id) {
172209
do_deletion_prompt("You are about to delete asset #" + asset_id)
@@ -563,4 +600,4 @@ $(document).ready(function(){
563600
if (shared_id) {
564601
asset_details(shared_id);
565602
}
566-
});
603+
});

0 commit comments

Comments
 (0)