# HG changeset patch # User Paul Boddie # Date 1418162025 -3600 # Node ID 884560298d085a0d840013cd599502b6b6211136 # Parent bc61bc5e1255f03ad7a02f3bb66220bcc67ca9b6 Redirect to the root page upon processing a request. diff -r bc61bc5e1255 -r 884560298d08 imip_manager.py --- a/imip_manager.py Tue Dec 09 22:29:46 2014 +0100 +++ b/imip_manager.py Tue Dec 09 22:53:45 2014 +0100 @@ -178,7 +178,10 @@ self.page.init(title=title, charset=self.encoding) def status(self, code, message): - print >>self.out, "Status:", code, message + self.header("Status", "%s %s" % (code, message)) + + def header(self, header, value): + print >>self.out, "%s: %s" % (header, value) def no_user(self): self.status(403, "Forbidden") @@ -190,6 +193,12 @@ self.new_page(title="Not Found") self.page.p("No page is provided at the given address.") + def redirect(self, url): + self.status(302, "Redirect") + self.header("Location", url) + self.new_page(title="Redirect") + self.page.p("Redirecting to: %s" % url) + # Request logic and page fragment methods. def handle_request(self, uid, request): @@ -199,7 +208,7 @@ # Handle a submitted form. args = self.env.get_args() - show_form = False + handled = True accept = args.has_key("accept") decline = args.has_key("decline") @@ -221,9 +230,12 @@ self.remove_request(uid) else: - show_form = True + handled = False - return show_form + if handled: + self.redirect(self.env.get_path()) + + return handled def show_request_form(self): @@ -319,15 +331,17 @@ if not obj: return False - self.new_page(title="Event") + is_request = uid in self._get_requests() + handled = is_request and self.handle_request(uid, obj) - is_request = uid in self._get_requests() + if handled: + return True - show_form = is_request and self.handle_request(uid, obj) + self.new_page(title="Event") self.show_object_on_page(uid, obj) - if show_form: + if is_request and not handled: self.show_request_form() return True