From: Michael Tremer Date: Tue, 3 Mar 2026 11:37:19 +0000 (+0000) Subject: lists: Allow searching for reports by a certain reporter X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7637ac57bb2f95690313ab6ee73d061e941fda1b;p=dbl.git lists: Allow searching for reports by a certain reporter Signed-off-by: Michael Tremer --- diff --git a/src/dbl/lists.py b/src/dbl/lists.py index 0bd56d2..5256fdc 100644 --- a/src/dbl/lists.py +++ b/src/dbl/lists.py @@ -34,6 +34,7 @@ from . import domains from . import exporters from . import reports from . import sources +from . import users from . import util from .i18n import _ @@ -549,10 +550,14 @@ class List(sqlmodel.SQLModel, database.BackendMixin, table=True): # Reports reports : typing.List["Report"] = sqlmodel.Relationship(back_populates="list") - async def get_reports(self, open=None, name=None, limit=None): + async def get_reports(self, open=None, name=None, reported_by=None, limit=None): """ Fetches the most recent reports """ + # Only use the UID of any users + if isinstance(reported_by, users.User): + reported_by = reported_by.uid + stmt = ( sqlmodel .select( @@ -582,6 +587,12 @@ class List(sqlmodel.SQLModel, database.BackendMixin, table=True): reports.Report.name == name, ) + # Optionally filter by reporter + if reported_by: + stmt = stmt.where( + reports.Report.reported_by == reported_by, + ) + # Optionally apply the limit if limit: stmt = stmt.limit(limit)