From 814c6b2d26eec3d07b19b41a649d19376808bc3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20M=C3=A4der?= <maeder@phys.ethz.ch> Date: Fri, 14 Feb 2020 13:51:39 +0100 Subject: [PATCH] Add cmd unsolved --- rt.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/rt.py b/rt.py index def1b10..1dc3312 100755 --- a/rt.py +++ b/rt.py @@ -320,8 +320,8 @@ class RT(Plugin): f'<a href="https://matrix.to/#/{target_mxid}">{target_mxid}</a> 😜') await evt.respond(content) - @rt.subcommand('unowned', aliases=('u', 'un'), help='List all unowned open tickets.') - async def unowned(self, evt: MessageEvent) -> None: + @rt.subcommand('new', aliases=('n', 'new'), help='List all unowned new/open tickets.') + async def new(self, evt: MessageEvent) -> None: if not self.can_manage(evt): return await evt.mark_read() @@ -349,3 +349,20 @@ class RT(Plugin): formatted_body=f'Open tickets for <a href="https://matrix.to/#/{evt.sender}">' f'{evt.sender}</a>:<br/>{fbody}') await evt.respond(content) + + @rt.subcommand('unsolved', aliases=('u', 'un'), help='List all open tickets.') + async def unsolved(self, evt: MessageEvent) -> None: + if not self.can_manage(evt): + return + await evt.mark_read() + displayname = await self._displayname(evt.room_id, evt.sender) + params = {'query': f'Status = "new" OR Status = "open"'} + tickets_dict = await self._search(params) + body = '\n'.join([f'{k}: {v}' for k, v in tickets_dict.items()]) + fbody = '<br/>'.join([f'<code>{k}</code>: {v}' for k, v in tickets_dict.items()]) + content = TextMessageEventContent( + msgtype=MessageType.NOTICE, format=Format.HTML, + body=f'Open tickets for {displayname}:\n{body}', + formatted_body=f'Open tickets for <a href="https://matrix.to/#/{evt.sender}">' + f'{evt.sender}</a>:<br/>{fbody}') + await evt.respond(content) -- GitLab