@@ -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 */
171208function 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