take into account mailbox in alias search
This commit is contained in:
parent
42d8b017ba
commit
a3d919db2e
|
@ -6,7 +6,7 @@ from sqlalchemy.orm import joinedload
|
||||||
|
|
||||||
from app.config import PAGE_LIMIT
|
from app.config import PAGE_LIMIT
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
from app.models import Alias, Contact, EmailLog, Mailbox
|
from app.models import Alias, Contact, EmailLog, Mailbox, AliasMailbox
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
@ -239,9 +239,14 @@ def get_alias_infos_with_pagination_v3(
|
||||||
sub.c.nb_blocked,
|
sub.c.nb_blocked,
|
||||||
sub.c.nb_forward,
|
sub.c.nb_forward,
|
||||||
latest_activity,
|
latest_activity,
|
||||||
|
Mailbox,
|
||||||
)
|
)
|
||||||
.join(Contact, Alias.id == Contact.alias_id, isouter=True)
|
.join(Contact, Alias.id == Contact.alias_id, isouter=True)
|
||||||
.join(EmailLog, Contact.id == EmailLog.contact_id, isouter=True)
|
.join(EmailLog, Contact.id == EmailLog.contact_id, isouter=True)
|
||||||
|
.join(AliasMailbox, AliasMailbox.alias_id == Alias.id, isouter=True)
|
||||||
|
.filter(
|
||||||
|
or_(Mailbox.id == AliasMailbox.mailbox_id, Mailbox.id == Alias.mailbox_id)
|
||||||
|
)
|
||||||
.filter(Alias.id == sub.c.id)
|
.filter(Alias.id == sub.c.id)
|
||||||
.filter(
|
.filter(
|
||||||
or_(
|
or_(
|
||||||
|
@ -257,6 +262,7 @@ def get_alias_infos_with_pagination_v3(
|
||||||
Alias.email.ilike(f"%{query}%"),
|
Alias.email.ilike(f"%{query}%"),
|
||||||
Alias.note.ilike(f"%{query}%"),
|
Alias.note.ilike(f"%{query}%"),
|
||||||
Alias.name.ilike(f"%{query}%"),
|
Alias.name.ilike(f"%{query}%"),
|
||||||
|
Mailbox.email.ilike(f"%{query}%"),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -280,7 +286,7 @@ def get_alias_infos_with_pagination_v3(
|
||||||
q = list(q.limit(PAGE_LIMIT).offset(page_id * PAGE_LIMIT))
|
q = list(q.limit(PAGE_LIMIT).offset(page_id * PAGE_LIMIT))
|
||||||
|
|
||||||
ret = []
|
ret = []
|
||||||
for alias, contact, email_log, nb_reply, nb_blocked, nb_forward, _ in q:
|
for alias, contact, email_log, nb_reply, nb_blocked, nb_forward, _, _ in q:
|
||||||
ret.append(
|
ret.append(
|
||||||
AliasInfo(
|
AliasInfo(
|
||||||
alias=alias,
|
alias=alias,
|
||||||
|
|
Loading…
Reference in a new issue