From ee2ed3276720d4b47b5c1fc707840739f061fc5c Mon Sep 17 00:00:00 2001 From: Hannes Plattner Date: Wed, 29 Apr 2026 09:48:05 +0200 Subject: [PATCH] add logged out view as landing page after oidc logout redirect --- loops/browser/auth.pt | 21 +++++++++++++++++++++ loops/browser/auth.py | 18 ++++++++++++++++++ loops/browser/configure.zcml | 5 +++++ loops/locales/de/LC_MESSAGES/loops.mo | Bin 29494 -> 29877 bytes loops/locales/de/LC_MESSAGES/loops.po | 9 +++++++++ 5 files changed, 53 insertions(+) diff --git a/loops/browser/auth.pt b/loops/browser/auth.pt index 06fcb22..e9c2c97 100644 --- a/loops/browser/auth.pt +++ b/loops/browser/auth.pt @@ -40,3 +40,24 @@ + + + +

Logged out

+
+

Your have been successfully logged out from this application. Please login again if needed or close this browser tab

+

+ You are not authorized to perform this action. However, you may login as a + different user who is authorized.

+
+ + +
+
+
diff --git a/loops/browser/auth.py b/loops/browser/auth.py index f65954a..748f5f8 100644 --- a/loops/browser/auth.py +++ b/loops/browser/auth.py @@ -57,6 +57,24 @@ class Logout(object): return nx +class Loggedout(NodeView): + + template = template + + @Lazy + def macro(self): + return self.template.macros['loggedout'] + + @Lazy + def item(self): + return self + + @Lazy + def baseUrl(self): + url = self.menu.url + return url + + class Unauthorized(ConceptView): isTopLevel = True diff --git a/loops/browser/configure.zcml b/loops/browser/configure.zcml index 569d618..a4966ed 100644 --- a/loops/browser/configure.zcml +++ b/loops/browser/configure.zcml @@ -44,6 +44,11 @@ class="loops.browser.auth.Logout" permission="zope.View" /> + + diff --git a/loops/locales/de/LC_MESSAGES/loops.mo b/loops/locales/de/LC_MESSAGES/loops.mo index 7cd4eb151a8b2f52b7c35b5e144353df7f76d74a..db07539dd5fd65725f440cb84704fab93b0779f4 100644 GIT binary patch delta 10863 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 B;Bo)} delta 10463 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 e