From 8bb8a37c76c8004b84a4561c8eefe64737b25051 Mon Sep 17 00:00:00 2001 From: ianb Date: Mon, 18 Jul 2005 02:52:13 +0000 Subject: Added function to jump to other parts of the site --- .../filebrowser/templates/standard_template.pt | 6 ++++- examples/filebrowser/web/jump.py | 28 ++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 examples/filebrowser/web/jump.py (limited to 'examples') diff --git a/examples/filebrowser/templates/standard_template.pt b/examples/filebrowser/templates/standard_template.pt index 9cf589a..31e7359 100644 --- a/examples/filebrowser/templates/standard_template.pt +++ b/examples/filebrowser/templates/standard_template.pt @@ -23,7 +23,11 @@ clipboard + tal:content="structure servlet/icons/1downarrow.png/alt=hide/title=hide+clipboard/html"/> + +
diff --git a/examples/filebrowser/web/jump.py b/examples/filebrowser/web/jump.py new file mode 100644 index 0000000..72f7b39 --- /dev/null +++ b/examples/filebrowser/web/jump.py @@ -0,0 +1,28 @@ +from filebrowser.sitepage import * + +class jump(SitePage): + + def setup(self): + name = self.fields.name.strip() + action = 'view' + if name.startswith('edit:'): + action = 'edit' + name = name[5:].strip() + root = self.pathcontext.path('/') + if name == 'root': + possible = [root] + else: + possible = root.find_filename(name) + if not possible: + self.message.write('No files with %r found' % name) + self.redirect(self.environ['HTTP_REFERER']) + dest = possible[0] + if possible[1:]: + self.message.write('Other matches:') + for path in possible[1:]: + self.message.write( + '%s' + % (self.pathurl(path.path, action=action), path.path)) + self.redirect(self.pathurl(dest.path, action=action)) + + \ No newline at end of file -- cgit v1.2.1