mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-17 23:44:39 -05:00
🐛 Fixed member filtering on newsletter subscription status (#17583)
fixes https://github.com/TryGhost/Product/issues/3684 The `nql` used for filtering newsletter members needed tweaking to make sure the provided query was parsed as a single `AND` query. This commit also fixes an issue where on page reload the filters were not being applied correctly
This commit is contained in:
parent
81ef2ade39
commit
262c6be70f
1 changed files with 11 additions and 4 deletions
|
@ -31,14 +31,21 @@ export const NEWSLETTERS_FILTER = (newsletterList) => {
|
|||
const value = flt.value;
|
||||
|
||||
return (relation === 'is' && value === 'true') || (relation === 'is-not' && value === 'false')
|
||||
? `newsletters.slug:${newsletter.slug}+email_disabled:0`
|
||||
: `newsletters.slug:-${newsletter.slug},email_disabled:1`;
|
||||
? `(newsletters.slug:${newsletter.slug}+email_disabled:0)`
|
||||
: `(newsletters.slug:-${newsletter.slug},email_disabled:1)`;
|
||||
},
|
||||
parseNqlFilter: (flt) => {
|
||||
if (!flt['newsletters.slug']) {
|
||||
const comparator = flt.$and || flt.$or;
|
||||
|
||||
if (!comparator || comparator.length !== 2) {
|
||||
return;
|
||||
}
|
||||
let value = flt['newsletters.slug'];
|
||||
|
||||
if (!comparator[0]['newsletters.slug'] || comparator[1].email_disabled === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
let value = comparator[0]['newsletters.slug'];
|
||||
let invert = false;
|
||||
if (typeof value === 'object') {
|
||||
if (!value.$ne) {
|
||||
|
|
Loading…
Add table
Reference in a new issue