Listing setParam only needs to be run when url history is specified

- added missing code to deleteManySubscriptions() so that it doesn't remove from all segments
This commit is contained in:
Jonathan Labreuille
2016-06-20 17:28:19 +02:00
parent 674bbd728e
commit b87754ca30
2 changed files with 40 additions and 35 deletions

View File

@ -365,42 +365,42 @@ const Listing = React.createClass({
}.bind(this));
},
setParams: function() {
let params = Object.keys(this.state)
.filter(key => {
return (
[
'group',
'filter',
'search',
'page',
'sort_by',
'sort_order'
].indexOf(key) !== -1
)
})
.map(key => {
let value = this.state[key];
if (value === Object(value)) {
value = jQuery.param(value)
} else if (value === Boolean(value)) {
value = value.toString()
}
if (value !== '' && value !== null) {
return `${key}[${value}]`
}
})
.filter(key => { return (key !== undefined) })
.join('/');
// prepend with tab is specified
if (this.props.tab !== undefined) {
params = `/${ this.props.tab }/${ params }`;
} else {
params = `/${ params }`;
}
if (this.props.location) {
let params = Object.keys(this.state)
.filter(key => {
return (
[
'group',
'filter',
'search',
'page',
'sort_by',
'sort_order'
].indexOf(key) !== -1
)
})
.map(key => {
let value = this.state[key];
if (value === Object(value)) {
value = jQuery.param(value)
} else if (value === Boolean(value)) {
value = value.toString()
}
if (value !== '' && value !== null) {
return `${key}[${value}]`
}
})
.filter(key => { return (key !== undefined) })
.join('/');
// prepend url with "tab" if specified
if (this.props.tab !== undefined) {
params = `/${ this.props.tab }/${ params }`;
} else {
params = `/${ params }`;
}
if (this.props.location.pathname !== params) {
this.context.router.push(`${params}`);
}

View File

@ -129,6 +129,11 @@ class SubscriberSegment extends Model {
'segment_id', $wp_segment->id
);
}
if(!empty($segment_ids)) {
$subscriptions = $subscriptions->whereIn('segment_id', $segment_ids);
}
return $subscriptions->deleteMany();
}