@@ -287,14 +287,28 @@ export class ItemCollectionMapperComponent implements OnInit {
287287 this . shouldUpdate$ . next ( true ) ;
288288 }
289289 if ( unsuccessful . length > 0 ) {
290- const unsuccessMessages = observableCombineLatest ( [
291- this . translateService . get ( `${ messagePrefix } .error.head` ) ,
292- this . translateService . get ( `${ messagePrefix } .error.content` , { amount : unsuccessful . length } ) ,
293- ] ) ;
290+ const forbidden = unsuccessful . filter ( ( response : RemoteData < NoContent > ) => response . statusCode === 403 ) ;
291+ const otherErrors = unsuccessful . filter ( ( response : RemoteData < NoContent > ) => response . statusCode !== 403 ) ;
294292
295- unsuccessMessages . subscribe ( ( [ head , content ] ) => {
296- this . notificationsService . error ( head , content ) ;
297- } ) ;
293+ if ( forbidden . length > 0 ) {
294+ const forbiddenMessages = observableCombineLatest ( [
295+ this . translateService . get ( `${ messagePrefix } .error.forbidden.head` ) ,
296+ this . translateService . get ( `${ messagePrefix } .error.forbidden.content` ) ,
297+ ] ) ;
298+ forbiddenMessages . subscribe ( ( [ head , content ] ) => {
299+ this . notificationsService . error ( head , content ) ;
300+ } ) ;
301+ }
302+
303+ if ( otherErrors . length > 0 ) {
304+ const unsuccessMessages = observableCombineLatest ( [
305+ this . translateService . get ( `${ messagePrefix } .error.head` ) ,
306+ this . translateService . get ( `${ messagePrefix } .error.content` , { amount : otherErrors . length } ) ,
307+ ] ) ;
308+ unsuccessMessages . subscribe ( ( [ head , content ] ) => {
309+ this . notificationsService . error ( head , content ) ;
310+ } ) ;
311+ }
298312 }
299313 this . switchToFirstTab ( ) ;
300314 } ) ;
0 commit comments