WordPress.org

Make WordPress Core

Ticket #22750: 22750.diff

File 22750.diff, 1.1 KB (added by koopersmith, 5 years ago)
  • wp-includes/js/media-models.js

     
    263263                        // Overload the `delete` request so attachments can be removed.
    264264                        // This will permanently delete an attachment.
    265265                        } else if ( 'delete' === method ) {
     266                                this.destroyed = true;
    266267                                options = options || {};
    267268                                options.context = this;
    268269                                options.data = _.extend( options.data || {}, {
     
    270271                                        id:       this.id,
    271272                                        _wpnonce: this.get('nonces')['delete']
    272273                                });
    273                                 return media.ajax( options );
     274
     275                                return media.ajax( options ).fail( function() {
     276                                        this.destroyed = false;
     277                                });
    274278                        }
    275279                },
    276280
     
    401405                        this.reset( this._source.filter( this.validator, this ) );
    402406                },
    403407
     408                validateDestroyed: false,
     409
    404410                validator: function( attachment ) {
     411                        if ( ! this.validateDestroyed && attachment.destroyed )
     412                                return false;
    405413                        return _.all( this.filters, function( filter, key ) {
    406414                                return !! filter.call( this, attachment );
    407415                        }, this );