Mercurial > moin > 1.9
annotate MoinMoin/theme/__init__.py @ 3723:7d77145af210
ThemeBase: add a <link> in the <header> for the editor
author | Radomir Dopieralski <moindev@sheep.art.pl> |
---|---|
date | Thu, 19 Jun 2008 00:24:54 +0200 |
parents | 2b577967030b |
children | 26240254340b |
rev | line source |
---|---|
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1 # -*- coding: iso-8859-1 -*- |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
2 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
3 MoinMoin - Theme Package |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
4 |
3540
7bf83cd8da79
offer the RSS feed not only when we detect PyXML, but also for Python >= 2.5.1
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3527
diff
changeset
|
5 @copyright: 2003-2008 MoinMoin:ThomasWaldmann |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
6 @license: GNU GPL, see COPYING for details. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
7 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
8 |
1787
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
9 from MoinMoin import i18n, wikiutil, config, version, caching |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
10 from MoinMoin.Page import Page |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
11 from MoinMoin.util import pysupport |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
12 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
13 modules = pysupport.getPackageModules(__file__) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
14 |
3540
7bf83cd8da79
offer the RSS feed not only when we detect PyXML, but also for Python >= 2.5.1
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3527
diff
changeset
|
15 # Check whether we can emit a RSS feed. |
7bf83cd8da79
offer the RSS feed not only when we detect PyXML, but also for Python >= 2.5.1
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3527
diff
changeset
|
16 # RSS is broken on plain Python 2.3.x/2.4.x, and works only when installing PyXML. |
7bf83cd8da79
offer the RSS feed not only when we detect PyXML, but also for Python >= 2.5.1
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3527
diff
changeset
|
17 # News: A user reported that the RSS is valid when using Python 2.5.1 on Windows. |
7bf83cd8da79
offer the RSS feed not only when we detect PyXML, but also for Python >= 2.5.1
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3527
diff
changeset
|
18 import sys, xml |
7bf83cd8da79
offer the RSS feed not only when we detect PyXML, but also for Python >= 2.5.1
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3527
diff
changeset
|
19 rss_supported = sys.version_info[:3] >= (2, 5, 1) or '_xmlplus' in xml.__file__ |
1764
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
20 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
21 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
22 class ThemeBase: |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
23 """ Base class for themes |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
24 |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
25 This class supply all the standard template that sub classes can |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
26 use without rewriting the same code. If you want to change certain |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
27 elements, override them. |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
28 """ |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
29 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
30 name = 'base' |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
31 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
32 # fake _ function to get gettext recognize those texts: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
33 _ = lambda x: x |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
34 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
35 # TODO: remove icons that are not used any more. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
36 icons = { |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
37 # key alt icon filename w h |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
38 # ------------------------------------------------------------------ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
39 # navibar |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
40 'help': ("%(page_help_contents)s", "moin-help.png", 12, 11), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
41 'find': ("%(page_find_page)s", "moin-search.png", 12, 12), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
42 'diff': (_("Diffs"), "moin-diff.png", 15, 11), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
43 'info': (_("Info"), "moin-info.png", 12, 11), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
44 'edit': (_("Edit"), "moin-edit.png", 12, 12), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
45 'unsubscribe': (_("Unsubscribe"), "moin-unsubscribe.png", 14, 10), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
46 'subscribe': (_("Subscribe"), "moin-subscribe.png", 14, 10), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
47 'raw': (_("Raw"), "moin-raw.png", 12, 13), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
48 'xml': (_("XML"), "moin-xml.png", 20, 13), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
49 'print': (_("Print"), "moin-print.png", 16, 14), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
50 'view': (_("View"), "moin-show.png", 12, 13), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
51 'home': (_("Home"), "moin-home.png", 13, 12), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
52 'up': (_("Up"), "moin-parent.png", 15, 13), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
53 # FileAttach |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
54 'attach': ("%(attach_count)s", "moin-attach.png", 7, 15), |
3054
d2e9afd64276
get formatters in sync with 1.6 cs 2558:3e3a549b49f0, add attachimg icon (needed by html formatter)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3048
diff
changeset
|
55 'attachimg': ("", "attach.png", 32, 32), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
56 # RecentChanges |
2197
9b404a43e59c
use standard RSS icon
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2009
diff
changeset
|
57 'rss': (_("[RSS]"), "moin-rss.png", 24, 24), |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
58 'deleted': (_("[DELETED]"), "moin-deleted.png", 60, 12), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
59 'updated': (_("[UPDATED]"), "moin-updated.png", 60, 12), |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
60 'renamed': (_("[RENAMED]"), "moin-renamed.png", 60, 12), |
1746
1aa9dfd0ad34
added conflict and rename icon
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1735
diff
changeset
|
61 'conflict': (_("[CONFLICT]"), "moin-conflict.png", 60, 12), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
62 'new': (_("[NEW]"), "moin-new.png", 31, 12), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
63 'diffrc': (_("[DIFF]"), "moin-diff.png", 15, 11), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
64 # General |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
65 'bottom': (_("[BOTTOM]"), "moin-bottom.png", 14, 10), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
66 'top': (_("[TOP]"), "moin-top.png", 14, 10), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
67 'www': ("[WWW]", "moin-www.png", 11, 11), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
68 'mailto': ("[MAILTO]", "moin-email.png", 14, 10), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
69 'news': ("[NEWS]", "moin-news.png", 10, 11), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
70 'telnet': ("[TELNET]", "moin-telnet.png", 10, 11), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
71 'ftp': ("[FTP]", "moin-ftp.png", 11, 11), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
72 'file': ("[FILE]", "moin-ftp.png", 11, 11), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
73 # search forms |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
74 'searchbutton': ("[?]", "moin-search.png", 12, 12), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
75 'interwiki': ("[%(wikitag)s]", "moin-inter.png", 16, 16), |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
76 |
734
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
77 # smileys (this is CONTENT, but good looking smileys depend on looking |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
78 # adapted to the theme background color and theme style in general) |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
79 #vvv == vvv this must be the same for GUI editor converter |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
80 'X-(': ("X-(", 'angry.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
81 ':D': (":D", 'biggrin.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
82 '<:(': ("<:(", 'frown.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
83 ':o': (":o", 'redface.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
84 ':(': (":(", 'sad.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
85 ':)': (":)", 'smile.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
86 'B)': ("B)", 'smile2.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
87 ':))': (":))", 'smile3.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
88 ';)': (";)", 'smile4.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
89 '/!\\': ("/!\\", 'alert.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
90 '<!>': ("<!>", 'attention.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
91 '(!)': ("(!)", 'idea.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
92 |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
93 # copied 2001-11-16 from http://pikie.darktech.org/cgi/pikie.py?EmotIcon |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
94 ':-?': (":-?", 'tongue.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
95 ':\\': (":\\", 'ohwell.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
96 '>:>': (">:>", 'devil.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
97 '|)': ("|)", 'tired.png', 15, 15), |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
98 |
734
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
99 # some folks use noses in their emoticons |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
100 ':-(': (":-(", 'sad.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
101 ':-)': (":-)", 'smile.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
102 'B-)': ("B-)", 'smile2.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
103 ':-))': (":-))", 'smile3.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
104 ';-)': (";-)", 'smile4.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
105 '|-)': ("|-)", 'tired.png', 15, 15), |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
106 |
734
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
107 # version 1.0 |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
108 '(./)': ("(./)", 'checkmark.png', 20, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
109 '{OK}': ("{OK}", 'thumbs-up.png', 14, 12), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
110 '{X}': ("{X}", 'icon-error.png', 16, 16), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
111 '{i}': ("{i}", 'icon-info.png', 16, 16), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
112 '{1}': ("{1}", 'prio1.png', 15, 13), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
113 '{2}': ("{2}", 'prio2.png', 15, 13), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
114 '{3}': ("{3}", 'prio3.png', 15, 13), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
115 |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
116 # version 1.3.4 (stars) |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
117 # try {*}{*}{o} |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
118 '{*}': ("{*}", 'star_on.png', 15, 15), |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
119 '{o}': ("{o}", 'star_off.png', 15, 15), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
120 } |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
121 del _ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
122 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
123 # Style sheets - usually there is no need to override this in sub |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
124 # classes. Simply supply the css files in the css directory. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
125 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
126 # Standard set of style sheets |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
127 stylesheets = ( |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
128 # media basename |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
129 ('all', 'common'), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
130 ('screen', 'screen'), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
131 ('print', 'print'), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
132 ('projection', 'projection'), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
133 ) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
134 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
135 # Used in print mode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
136 stylesheets_print = ( |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
137 # media basename |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
138 ('all', 'common'), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
139 ('all', 'print'), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
140 ) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
141 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
142 # Used in slide show mode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
143 stylesheets_projection = ( |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
144 # media basename |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
145 ('all', 'common'), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
146 ('all', 'projection'), |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
147 ) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
148 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
149 stylesheetsCharset = 'utf-8' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
150 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
151 def __init__(self, request): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
152 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
153 Initialize the theme object. |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
154 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
155 @param request: the request object |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
156 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
157 self.request = request |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
158 self.cfg = request.cfg |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
159 self._cache = {} # Used to cache elements that may be used several times |
2964
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
160 self._status = [] |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
161 self._send_title_called = False |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
162 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
163 def img_url(self, img): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
164 """ Generate an image href |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
165 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
166 @param img: the image filename |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
167 @rtype: string |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
168 @return: the image href |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
169 """ |
1318
760002b5ffa3
use url_prefix_static = '/moin_static160' instead of url_prefix = '/wiki' to avoid user confusion and stale caches
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1015
diff
changeset
|
170 return "%s/%s/img/%s" % (self.cfg.url_prefix_static, self.name, img) |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
171 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
172 def emit_custom_html(self, html): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
173 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
174 generate custom HTML code in `html` |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
175 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
176 @param html: a string or a callable object, in which case |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
177 it is called and its return value is used |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
178 @rtype: string |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
179 @return: string with html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
180 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
181 if html: |
1988
dbf2b7426385
fixed some pylint warnings
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1959
diff
changeset
|
182 if callable(html): |
dbf2b7426385
fixed some pylint warnings
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1959
diff
changeset
|
183 html = html(self.request) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
184 return html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
185 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
186 def logo(self): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
187 """ Assemble logo with link to front page |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
188 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
189 The logo contain an image and or text or any html markup the |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
190 admin inserted in the config file. Everything it enclosed inside |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
191 a div with id="logo". |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
192 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
193 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
194 @return: logo html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
195 """ |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
196 html = u'' |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
197 if self.cfg.logo_string: |
1347
b65614f8a393
use page.link_to(_raw) more often
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1341
diff
changeset
|
198 page = wikiutil.getFrontPage(self.request) |
b65614f8a393
use page.link_to(_raw) more often
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1341
diff
changeset
|
199 logo = page.link_to_raw(self.request, self.cfg.logo_string) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
200 html = u'''<div id="logo">%s</div>''' % logo |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
201 return html |
161
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
202 |
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
203 def interwiki(self, d): |
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
204 """ Assemble the interwiki name display, linking to page_front_page |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
205 |
161
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
206 @param d: parameter dictionary |
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
207 @rtype: string |
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
208 @return: interwiki html |
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
209 """ |
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
210 if self.request.cfg.show_interwiki: |
1015
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
211 page = wikiutil.getFrontPage(self.request) |
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
212 text = self.request.cfg.interwikiname or 'Self' |
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
213 link = page.link_to(self.request, text=text, rel='nofollow') |
174
51bde0757167
workaround for opera 8.5 brokenness
Thomas Waldmann <tw@waldmann-edv.de>
parents:
161
diff
changeset
|
214 html = u'<div id="interwiki"><span>%s</span></div>' % link |
1015
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
215 else: |
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
216 html = u'' |
161
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
217 return html |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
218 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
219 def title(self, d): |
161
65efc38c4e23
separated interwiki display into an own div and made its display configurable via show_interwiki [1]
Thomas Waldmann <tw@waldmann-edv.de>
parents:
160
diff
changeset
|
220 """ Assemble the title (now using breadcrumbs) |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
221 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
222 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
223 @rtype: string |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
224 @return: title html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
225 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
226 _ = self.request.getText |
153
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
227 content = [] |
2991
82ac2b1b1a05
fix pagename navigation for wikiname_add_spaces == True (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2987
diff
changeset
|
228 if d['title_text'] == d['page'].split_title(): # just showing a page, no action |
153
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
229 curpage = '' |
182
10e033440008
fixed theme title for 'Add spaces to displayed wiki names' setting
Thomas Waldmann <tw@waldmann-edv.de>
parents:
174
diff
changeset
|
230 segments = d['page_name'].split('/') # was: title_text |
153
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
231 for s in segments[:-1]: |
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
232 curpage += s |
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
233 content.append("<li>%s</li>" % Page(self.request, curpage).link_to(self.request, s)) |
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
234 curpage += '/' |
1354
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
235 link_text = segments[-1] |
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
236 link_title = _('Click to do a full-text search for this title') |
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
237 link_query = { |
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
238 'action': 'fullsearch', |
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
239 'value': 'linkto:"%s"' % d['page_name'], |
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
240 'context': '180', |
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
241 } |
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
242 # we dont use d['title_link'] any more, but make it ourselves: |
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
243 link = d['page'].link_to(self.request, link_text, querystr=link_query, title=link_title, css_class='backlink', rel='nofollow') |
26949e36ca0b
move code for title_link to theme, better escape warning
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1347
diff
changeset
|
244 content.append(('<li>%s</li>') % link) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
245 else: |
153
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
246 content.append('<li>%s</li>' % wikiutil.escape(d['title_text'])) |
133
df2368d50468
added location breadcrumbs
Thomas Waldmann <tw@waldmann-edv.de>
parents:
128
diff
changeset
|
247 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
248 html = ''' |
153
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
249 <ul id="pagelocation"> |
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
250 %s |
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
251 </ul> |
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
252 ''' % "".join(content) |
142
0b1b06737340
separate creaetion of the location (breadcrumbs) from the title for easier theme customization
Nir Soffer <nirs@freeshell.org>
parents:
141
diff
changeset
|
253 return html |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
254 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
255 def username(self, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
256 """ Assemble the username / userprefs link |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
257 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
258 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
259 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
260 @return: username html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
261 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
262 request = self.request |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
263 _ = request.getText |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
264 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
265 userlinks = [] |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
266 # Add username/homepage link for registered users. We don't care |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
267 # if it exists, the user can create it. |
338
bf754e0d6472
don't crash in themecode if username is None
Thomas Waldmann <tw@waldmann-edv.de>
parents:
306
diff
changeset
|
268 if request.user.valid and request.user.name: |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
269 interwiki = wikiutil.getInterwikiHomePage(request) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
270 name = request.user.name |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
271 aliasname = request.user.aliasname |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
272 if not aliasname: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
273 aliasname = name |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
274 title = "%s @ %s" % (aliasname, interwiki[0]) |
511
8ee8ced7dded
moved UserPreferences back to header, add Cancel button
Thomas Waldmann <tw@waldmann-edv.de>
parents:
493
diff
changeset
|
275 # link to (interwiki) user homepage |
1529
76b4d2324d25
MoinMoin should not record the homepage links as pagelinks, fixes MoinMoinBugs/PageLinksIncludeUnrelatedLinks.
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
1425
diff
changeset
|
276 homelink = (request.formatter.interwikilink(1, title=title, id="userhome", generated=True, *interwiki) + |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
277 request.formatter.text(name) + |
569
6c572f52899f
fixed missing </a> formatter bug
Thomas Waldmann <tw@waldmann-edv.de>
parents:
515
diff
changeset
|
278 request.formatter.interwikilink(0, title=title, id="userhome", *interwiki)) |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
279 userlinks.append(homelink) |
511
8ee8ced7dded
moved UserPreferences back to header, add Cancel button
Thomas Waldmann <tw@waldmann-edv.de>
parents:
493
diff
changeset
|
280 # link to userprefs action |
3527
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
281 if 'userprefs' not in self.request.cfg.actions_excluded: |
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
282 userlinks.append(d['page'].link_to(request, text=_('Settings'), |
869
0152984f76ee
use rel nofollow for action links
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
826
diff
changeset
|
283 querystr={'action': 'userprefs'}, id='userprefs', rel='nofollow')) |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
284 |
2009
1b14cc05a54a
refactor authentication and split out session handling
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
1988
diff
changeset
|
285 if request.user.valid: |
1b14cc05a54a
refactor authentication and split out session handling
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
1988
diff
changeset
|
286 if request.user.auth_method in request.cfg.auth_can_logout: |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
287 userlinks.append(d['page'].link_to(request, text=_('Logout'), |
869
0152984f76ee
use rel nofollow for action links
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
826
diff
changeset
|
288 querystr={'action': 'logout', 'logout': 'logout'}, id='logout', rel='nofollow')) |
2009
1b14cc05a54a
refactor authentication and split out session handling
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
1988
diff
changeset
|
289 else: |
3139
0c0fd7c894a3
allow auth methods that don't need input at all to skip input form
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
3086
diff
changeset
|
290 query = {'action': 'login'} |
0c0fd7c894a3
allow auth methods that don't need input at all to skip input form
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
3086
diff
changeset
|
291 # special direct-login link if the auth methods want no input |
0c0fd7c894a3
allow auth methods that don't need input at all to skip input form
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
3086
diff
changeset
|
292 if request.cfg.auth_login_inputs == ['special_no_input']: |
0c0fd7c894a3
allow auth methods that don't need input at all to skip input form
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
3086
diff
changeset
|
293 query['login'] = '1' |
2009
1b14cc05a54a
refactor authentication and split out session handling
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
1988
diff
changeset
|
294 if request.cfg.auth_have_login: |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
295 userlinks.append(d['page'].link_to(request, text=_("Login"), |
3139
0c0fd7c894a3
allow auth methods that don't need input at all to skip input form
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
3086
diff
changeset
|
296 querystr=query, id='login', rel='nofollow')) |
296
4e08178a630c
moving logout to a visible place
Thomas Waldmann <tw@waldmann-edv.de>
parents:
286
diff
changeset
|
297 |
306
4e5e4fc9f7fa
fixed rendering of modern for IE, Opera, Konqueror (as far as possible). TODO: other themes
Thomas Waldmann <tw@waldmann-edv.de>
parents:
298
diff
changeset
|
298 userlinks = [u'<li>%s</li>' % link for link in userlinks] |
4e5e4fc9f7fa
fixed rendering of modern for IE, Opera, Konqueror (as far as possible). TODO: other themes
Thomas Waldmann <tw@waldmann-edv.de>
parents:
298
diff
changeset
|
299 html = u'<ul id="username">%s</ul>' % ''.join(userlinks) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
300 return html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
301 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
302 def splitNavilink(self, text, localize=1): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
303 """ Split navibar links into pagename, link to page |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
304 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
305 Admin or user might want to use shorter navibar items by using |
2728
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
306 the [[page|title]] or [[url|title]] syntax. In this case, we don't |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
307 use localization, and the links goes to page or to the url, not |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
308 the localized version of page. |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
309 |
1827
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
310 Supported syntax: |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
311 * PageName |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
312 * WikiName:PageName |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
313 * wiki:WikiName:PageName |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
314 * url |
2728
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
315 * all targets as seen above with title: [[target|title]] |
1630
9a8fdd5a03d3
theme code: add comment for refactoring
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1560
diff
changeset
|
316 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
317 @param text: the text used in config or user preferences |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
318 @rtype: tuple |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
319 @return: pagename or url, link to page or url |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
320 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
321 request = self.request |
1827
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
322 fmt = request.formatter |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
323 title = None |
1850
3d38db210672
action CopyPage added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1843
diff
changeset
|
324 |
2728
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
325 # Handle [[pagename|title]] or [[url|title]] formats |
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
326 if text.startswith('[[') and text.endswith(']]'): |
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
327 text = text[2:-2] |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
328 try: |
2728
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
329 pagename, title = text.split('|', 1) |
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
330 pagename = pagename.strip() |
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
331 title = title.strip() |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
332 localize = 0 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
333 except (ValueError, TypeError): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
334 # Just use the text as is. |
2728
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
335 pagename = text.strip() |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
336 else: |
1827
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
337 pagename = text |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
338 |
3251
ecbde828b812
improved wikiutil.is_URL, use it also in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3234
diff
changeset
|
339 if wikiutil.is_URL(pagename): |
ecbde828b812
improved wikiutil.is_URL, use it also in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3234
diff
changeset
|
340 if not title: |
ecbde828b812
improved wikiutil.is_URL, use it also in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3234
diff
changeset
|
341 title = pagename |
ecbde828b812
improved wikiutil.is_URL, use it also in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3234
diff
changeset
|
342 link = fmt.url(1, pagename) + fmt.text(title) + fmt.url(0) |
ecbde828b812
improved wikiutil.is_URL, use it also in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3234
diff
changeset
|
343 return pagename, link |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
344 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
345 # remove wiki: url prefix |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
346 if pagename.startswith("wiki:"): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
347 pagename = pagename[5:] |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
348 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
349 # try handling interwiki links |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
350 try: |
2728
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
351 interwiki, page = wikiutil.split_interwiki(pagename) |
22
a47550d21d2d
quicklinks: avoid dupes, dont render as interwiki if wiki == self
Thomas Waldmann <tw@waldmann-edv.de>
parents:
18
diff
changeset
|
352 thiswiki = request.cfg.interwikiname |
2728
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
353 if interwiki == thiswiki or interwiki == 'Self': |
22
a47550d21d2d
quicklinks: avoid dupes, dont render as interwiki if wiki == self
Thomas Waldmann <tw@waldmann-edv.de>
parents:
18
diff
changeset
|
354 pagename = page |
a47550d21d2d
quicklinks: avoid dupes, dont render as interwiki if wiki == self
Thomas Waldmann <tw@waldmann-edv.de>
parents:
18
diff
changeset
|
355 else: |
1827
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
356 if not title: |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
357 title = page |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
358 link = fmt.interwikilink(True, interwiki, page) + fmt.text(title) + fmt.interwikilink(False, interwiki, page) |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
359 return pagename, link |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
360 except ValueError: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
361 pass |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
362 |
1827
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
363 # Handle regular pagename like "FrontPage" |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
364 pagename = request.normalizePagename(pagename) |
1827
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
365 |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
366 # Use localized pages for the current user |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
367 if localize: |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
368 page = wikiutil.getLocalizedPage(request, pagename) |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
369 else: |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
370 page = Page(request, pagename) |
1850
3d38db210672
action CopyPage added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1843
diff
changeset
|
371 |
2987
c817a9c0d0e5
navi_bar: highlight correct tab for the current page for i18ned system pages (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2964
diff
changeset
|
372 pagename = page.page_name # can be different, due to i18n |
c817a9c0d0e5
navi_bar: highlight correct tab for the current page for i18ned system pages (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2964
diff
changeset
|
373 |
1827
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
374 if not title: |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
375 title = page.split_title() |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
376 title = self.shortenPagename(title) |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
377 |
6a162bb60560
cleaned up splitNaviLink mess
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1816
diff
changeset
|
378 link = page.link_to(request, title) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
379 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
380 return pagename, link |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
381 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
382 def shortenPagename(self, name): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
383 """ Shorten page names |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
384 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
385 Shorten very long page names that tend to break the user |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
386 interface. The short name is usually fine, unless really stupid |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
387 long names are used (WYGIWYD). |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
388 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
389 If you don't like to do this in your theme, or want to use |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
390 different algorithm, override this method. |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
391 |
490
ca35d9e6d63e
eypdoc comments: fixed some warnings/errors
Thomas Waldmann <tw@waldmann-edv.de>
parents:
483
diff
changeset
|
392 @param name: page name, unicode |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
393 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
394 @return: shortened version. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
395 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
396 maxLength = self.maxPagenameLength() |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
397 # First use only the sub page name, that might be enough |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
398 if len(name) > maxLength: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
399 name = name.split('/')[-1] |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
400 # If it's not enough, replace the middle with '...' |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
401 if len(name) > maxLength: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
402 half, left = divmod(maxLength - 3, 2) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
403 name = u'%s...%s' % (name[:half + left], name[-half:]) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
404 return name |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
405 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
406 def maxPagenameLength(self): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
407 """ Return maximum length for shortened page names """ |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
408 return 25 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
409 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
410 def navibar(self, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
411 """ Assemble the navibar |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
412 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
413 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
414 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
415 @return: navibar html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
416 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
417 request = self.request |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
418 found = {} # pages we found. prevent duplicates |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
419 items = [] # navibar items |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
420 item = u'<li class="%s">%s</li>' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
421 current = d['page_name'] |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
422 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
423 # Process config navi_bar |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
424 if request.cfg.navi_bar: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
425 for text in request.cfg.navi_bar: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
426 pagename, link = self.splitNavilink(text) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
427 if pagename == current: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
428 cls = 'wikilink current' |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
429 else: |
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
430 cls = 'wikilink' |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
431 items.append(item % (cls, link)) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
432 found[pagename] = 1 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
433 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
434 # Add user links to wiki links, eliminating duplicates. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
435 userlinks = request.user.getQuickLinks() |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
436 for text in userlinks: |
22
a47550d21d2d
quicklinks: avoid dupes, dont render as interwiki if wiki == self
Thomas Waldmann <tw@waldmann-edv.de>
parents:
18
diff
changeset
|
437 # Split text without localization, user knows what he wants |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
438 pagename, link = self.splitNavilink(text, localize=0) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
439 if not pagename in found: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
440 if pagename == current: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
441 cls = 'userlink current' |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
442 else: |
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
443 cls = 'userlink' |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
444 items.append(item % (cls, link)) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
445 found[pagename] = 1 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
446 |
1787
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
447 # Add current page at end of local pages |
160
b18ec46a7b1d
we need current page in navibar as long as unknown users have no trail or trail doesnt get updated on actions
Thomas Waldmann <tw@waldmann-edv.de>
parents:
153
diff
changeset
|
448 if not current in found: |
1782
6b9eefc1d67f
split_title: remove some more call's request param (see cs 1776)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1780
diff
changeset
|
449 title = d['page'].split_title() |
160
b18ec46a7b1d
we need current page in navibar as long as unknown users have no trail or trail doesnt get updated on actions
Thomas Waldmann <tw@waldmann-edv.de>
parents:
153
diff
changeset
|
450 title = self.shortenPagename(title) |
b18ec46a7b1d
we need current page in navibar as long as unknown users have no trail or trail doesnt get updated on actions
Thomas Waldmann <tw@waldmann-edv.de>
parents:
153
diff
changeset
|
451 link = d['page'].link_to(request, title) |
b18ec46a7b1d
we need current page in navibar as long as unknown users have no trail or trail doesnt get updated on actions
Thomas Waldmann <tw@waldmann-edv.de>
parents:
153
diff
changeset
|
452 cls = 'current' |
b18ec46a7b1d
we need current page in navibar as long as unknown users have no trail or trail doesnt get updated on actions
Thomas Waldmann <tw@waldmann-edv.de>
parents:
153
diff
changeset
|
453 items.append(item % (cls, link)) |
b18ec46a7b1d
we need current page in navibar as long as unknown users have no trail or trail doesnt get updated on actions
Thomas Waldmann <tw@waldmann-edv.de>
parents:
153
diff
changeset
|
454 |
1787
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
455 # Add sister pages. |
1959
7ccf35e8f674
use a list to have defined order for cfg.sistersites (e.g. in theme output)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1935
diff
changeset
|
456 for sistername, sisterurl in request.cfg.sistersites: |
1787
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
457 if sistername == request.cfg.interwikiname: # it is THIS wiki |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
458 cls = 'sisterwiki current' |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
459 items.append(item % (cls, sistername)) |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
460 else: |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
461 # TODO optimize performance |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
462 cache = caching.CacheEntry(request, 'sisters', sistername, 'farm', use_pickle=True) |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
463 if cache.exists(): |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
464 data = cache.content() |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
465 sisterpages = data['sisterpages'] |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
466 if current in sisterpages: |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
467 cls = 'sisterwiki' |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
468 url = sisterpages[current] |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
469 link = request.formatter.url(1, url) + \ |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
470 request.formatter.text(sistername) +\ |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
471 request.formatter.url(0) |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
472 items.append(item % (cls, link)) |
f4a941fe32f8
added SisterSites/SisterPages support
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1784
diff
changeset
|
473 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
474 # Assemble html |
306
4e5e4fc9f7fa
fixed rendering of modern for IE, Opera, Konqueror (as far as possible). TODO: other themes
Thomas Waldmann <tw@waldmann-edv.de>
parents:
298
diff
changeset
|
475 items = u''.join(items) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
476 html = u''' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
477 <ul id="navibar"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
478 %s |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
479 </ul> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
480 ''' % items |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
481 return html |
153
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
482 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
483 def get_icon(self, icon): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
484 """ Return icon data from self.icons |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
485 |
2725
388204baf00f
change [[macro]] to <<macro>> in all built-in markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2286
diff
changeset
|
486 If called from <<Icon(file)>> we have a filename, not a |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
487 key. Using filenames is deprecated, but for now, we simulate old |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
488 behavior. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
489 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
490 @param icon: icon name or file name (string) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
491 @rtype: tuple |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
492 @return: alt (unicode), href (string), width, height (int) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
493 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
494 if icon in self.icons: |
734
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
495 alt, icon, w, h = self.icons[icon] |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
496 else: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
497 # Create filenames to icon data mapping on first call, then |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
498 # cache in class for next calls. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
499 if not getattr(self.__class__, 'iconsByFile', None): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
500 d = {} |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
501 for data in self.icons.values(): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
502 d[data[1]] = data |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
503 self.__class__.iconsByFile = d |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
504 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
505 # Try to get icon data by file name |
734
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
506 if icon in self.iconsByFile: |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
507 alt, icon, w, h = self.iconsByFile[icon] |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
508 else: |
734
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
509 alt, icon, w, h = '', icon, '', '' |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
510 |
734
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
511 return alt, self.img_url(icon), w, h |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
512 |
2862
8c1d40768df7
gedit formatter/converter: fix links/transclusion (suppressing default alt texts needs more work)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2832
diff
changeset
|
513 def make_icon(self, icon, vars=None, **kw): |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
514 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
515 This is the central routine for making <img> tags for icons! |
734
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
516 All icons stuff except the top left logo and search field icons are |
bf2435e61f97
moved smileys from MoinMoin.config to theme, fixed smiley text_python caching bug
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
669
diff
changeset
|
517 handled here. |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
518 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
519 @param icon: icon id (dict key) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
520 @param vars: ... |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
521 @rtype: string |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
522 @return: icon html (img tag) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
523 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
524 if vars is None: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
525 vars = {} |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
526 alt, img, w, h = self.get_icon(icon) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
527 try: |
3048
1e9444f35a22
Fix "MakeIconLinkLosesAltTitle", thanks to "bolekk". (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3040
diff
changeset
|
528 alt = vars['icon-alt-text'] # if it is possible we take the alt-text from 'page_icons_table' |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
529 except KeyError, err: |
3048
1e9444f35a22
Fix "MakeIconLinkLosesAltTitle", thanks to "bolekk". (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3040
diff
changeset
|
530 try: |
1e9444f35a22
Fix "MakeIconLinkLosesAltTitle", thanks to "bolekk". (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3040
diff
changeset
|
531 alt = alt % vars # if not we just leave the alt-text from 'icons' |
1e9444f35a22
Fix "MakeIconLinkLosesAltTitle", thanks to "bolekk". (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3040
diff
changeset
|
532 except KeyError, err: |
1e9444f35a22
Fix "MakeIconLinkLosesAltTitle", thanks to "bolekk". (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3040
diff
changeset
|
533 alt = 'KeyError: %s' % str(err) |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
534 alt = self.request.getText(alt) |
2862
8c1d40768df7
gedit formatter/converter: fix links/transclusion (suppressing default alt texts needs more work)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2832
diff
changeset
|
535 tag = self.request.formatter.image(src=img, alt=alt, width=w, height=h, **kw) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
536 return tag |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
537 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
538 def make_iconlink(self, which, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
539 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
540 Make a link with an icon |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
541 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
542 @param which: icon id (dictionary key) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
543 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
544 @rtype: string |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
545 @return: html link tag |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
546 """ |
2996
6a1b18869fe8
fix for icon bar: do not modify cfg.page_icons_table (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2991
diff
changeset
|
547 qs = {} |
3541
8ff53b14fc44
UP icon is back in the iconbar for themes not using clickable title navigation
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3540
diff
changeset
|
548 pagekey, querystr, title, icon = self.cfg.page_icons_table[which] |
2996
6a1b18869fe8
fix for icon bar: do not modify cfg.page_icons_table (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2991
diff
changeset
|
549 qs.update(querystr) # do not modify the querystr dict in the cfg! |
3048
1e9444f35a22
Fix "MakeIconLinkLosesAltTitle", thanks to "bolekk". (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3040
diff
changeset
|
550 d['icon-alt-text'] = d['title'] = title % d |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
551 d['i18ntitle'] = self.request.getText(d['title']) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
552 img_src = self.make_icon(icon, d) |
1684
aadc8b0e11cf
change classic theme to propagate rev, too
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1683
diff
changeset
|
553 rev = d['rev'] |
aadc8b0e11cf
change classic theme to propagate rev, too
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1683
diff
changeset
|
554 if rev and which in ['raw', 'print', ]: |
2996
6a1b18869fe8
fix for icon bar: do not modify cfg.page_icons_table (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2991
diff
changeset
|
555 qs['rev'] = str(rev) |
1684
aadc8b0e11cf
change classic theme to propagate rev, too
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1683
diff
changeset
|
556 attrs = {'rel': 'nofollow', 'title': d['i18ntitle'], } |
3541
8ff53b14fc44
UP icon is back in the iconbar for themes not using clickable title navigation
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3540
diff
changeset
|
557 page = d[pagekey] |
8ff53b14fc44
UP icon is back in the iconbar for themes not using clickable title navigation
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3540
diff
changeset
|
558 if isinstance(page, unicode): |
8ff53b14fc44
UP icon is back in the iconbar for themes not using clickable title navigation
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3540
diff
changeset
|
559 # e.g. d['page_parent_page'] is just the unicode pagename |
8ff53b14fc44
UP icon is back in the iconbar for themes not using clickable title navigation
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3540
diff
changeset
|
560 # while d['page'] will give a page object |
8ff53b14fc44
UP icon is back in the iconbar for themes not using clickable title navigation
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3540
diff
changeset
|
561 page = Page(self.request, page) |
2996
6a1b18869fe8
fix for icon bar: do not modify cfg.page_icons_table (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2991
diff
changeset
|
562 return page.link_to_raw(self.request, text=img_src, querystr=qs, **attrs) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
563 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
564 def msg(self, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
565 """ Assemble the msg display |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
566 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
567 Display a message with a widget or simple strings with a clear message link. |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
568 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
569 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
570 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
571 @return: msg display html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
572 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
573 _ = self.request.getText |
2964
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
574 msgs = d['msg'] |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
575 |
2964
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
576 result = u"" |
3624
2b577967030b
Add a class to the "Clear message" link, make the link text smaller and lower
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3541
diff
changeset
|
577 close = d['page'].link_to(self.request, text=_('Clear message'), css_class="clear-link") |
2964
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
578 for msg, msg_class in msgs: |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
579 try: |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
580 result += u'<p>%s</p>' % msg.render() |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
581 close = '' |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
582 except AttributeError: |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
583 if msg and msg_class: |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
584 result += u'<p><div class="%s">%s</div></p>' % (msg_class, msg) |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
585 elif msg: |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
586 result += u'<p>%s</p>\n' % msg |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
587 if result: |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
588 html = result + close |
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
589 return u'<div id="message">\n%s\n</div>\n' % html |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
590 else: |
2964
49b9e807a51d
Added add_msg to the theme interface (done by Frederico Lorenzi). Should not be backported to 1.6
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2862
diff
changeset
|
591 return u'' |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
592 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
593 return u'<div id="message">\n%s\n</div>\n' % html |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
594 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
595 def trail(self, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
596 """ Assemble page trail |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
597 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
598 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
599 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
600 @return: trail html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
601 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
602 request = self.request |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
603 user = request.user |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
604 html = '' |
1935
740d9939ffe9
use session object to store page trail (even for anon users, if anon sessions are enabled)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1920
diff
changeset
|
605 if not user.valid or user.show_page_trail: |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
606 trail = user.getTrail() |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
607 if trail: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
608 items = [] |
153
c4c7dc546c65
ThemeChange, excluding optional content heading rendering change
Thomas Waldmann <tw@waldmann-edv.de>
parents:
142
diff
changeset
|
609 for pagename in trail: |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
610 try: |
2728
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
611 interwiki, page = wikiutil.split_interwiki(pagename) |
59b3d8b8971f
remove (un)quoteName, new functions split_interwiki() and resolve_interwiki(), cleanup interwiki mess, fix some link markup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2725
diff
changeset
|
612 if interwiki != request.cfg.interwikiname and interwiki != 'Self': |
569
6c572f52899f
fixed missing </a> formatter bug
Thomas Waldmann <tw@waldmann-edv.de>
parents:
515
diff
changeset
|
613 link = (self.request.formatter.interwikilink(True, interwiki, page) + |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
614 self.shortenPagename(page) + |
569
6c572f52899f
fixed missing </a> formatter bug
Thomas Waldmann <tw@waldmann-edv.de>
parents:
515
diff
changeset
|
615 self.request.formatter.interwikilink(False, interwiki, page)) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
616 items.append('<li>%s</li>' % link) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
617 continue |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
618 else: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
619 pagename = page |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
620 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
621 except ValueError: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
622 pass |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
623 page = Page(request, pagename) |
1782
6b9eefc1d67f
split_title: remove some more call's request param (see cs 1776)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1780
diff
changeset
|
624 title = page.split_title() |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
625 title = self.shortenPagename(title) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
626 link = page.link_to(request, title) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
627 items.append('<li>%s</li>' % link) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
628 html = ''' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
629 <ul id="pagetrail"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
630 %s |
306
4e5e4fc9f7fa
fixed rendering of modern for IE, Opera, Konqueror (as far as possible). TODO: other themes
Thomas Waldmann <tw@waldmann-edv.de>
parents:
298
diff
changeset
|
631 </ul>''' % ''.join(items) |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
632 return html |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
633 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
634 def html_stylesheets(self, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
635 """ Assemble html head stylesheet links |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
636 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
637 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
638 @rtype: string |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
639 @return: stylesheets links |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
640 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
641 link = '<link rel="stylesheet" type="text/css" charset="%s" media="%s" href="%s">' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
642 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
643 # Check mode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
644 if d.get('print_mode'): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
645 media = d.get('media', 'print') |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
646 stylesheets = getattr(self, 'stylesheets_' + media) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
647 else: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
648 stylesheets = self.stylesheets |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
649 usercss = self.request.user.valid and self.request.user.css_url |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
650 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
651 # Create stylesheets links |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
652 html = [] |
1318
760002b5ffa3
use url_prefix_static = '/moin_static160' instead of url_prefix = '/wiki' to avoid user confusion and stale caches
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1015
diff
changeset
|
653 prefix = self.cfg.url_prefix_static |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
654 csshref = '%s/%s/css' % (prefix, self.name) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
655 for media, basename in stylesheets: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
656 href = '%s/%s.css' % (csshref, basename) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
657 html.append(link % (self.stylesheetsCharset, media, href)) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
658 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
659 # Don't add user css url if it matches one of ours |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
660 if usercss and usercss == href: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
661 usercss = None |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
662 |
221
b1d744e2fd29
cfg.stylesheets for admin configurable additional style sheets
Thomas Waldmann <tw@waldmann-edv.de>
parents:
182
diff
changeset
|
663 # admin configurable additional css (farm or wiki level) |
b1d744e2fd29
cfg.stylesheets for admin configurable additional style sheets
Thomas Waldmann <tw@waldmann-edv.de>
parents:
182
diff
changeset
|
664 for media, csshref in self.request.cfg.stylesheets: |
b1d744e2fd29
cfg.stylesheets for admin configurable additional style sheets
Thomas Waldmann <tw@waldmann-edv.de>
parents:
182
diff
changeset
|
665 html.append(link % (self.stylesheetsCharset, media, csshref)) |
b1d744e2fd29
cfg.stylesheets for admin configurable additional style sheets
Thomas Waldmann <tw@waldmann-edv.de>
parents:
182
diff
changeset
|
666 |
1634
2161d292e1af
move IE hacks to msie.css and include it if IE
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1630
diff
changeset
|
667 csshref = '%s/%s/css/msie.css' % (prefix, self.name) |
2161d292e1af
move IE hacks to msie.css and include it if IE
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1630
diff
changeset
|
668 html.append(""" |
2161d292e1af
move IE hacks to msie.css and include it if IE
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1630
diff
changeset
|
669 <!-- css only for MSIE browsers --> |
2161d292e1af
move IE hacks to msie.css and include it if IE
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1630
diff
changeset
|
670 <!--[if IE]> |
2161d292e1af
move IE hacks to msie.css and include it if IE
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1630
diff
changeset
|
671 %s |
2161d292e1af
move IE hacks to msie.css and include it if IE
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1630
diff
changeset
|
672 <![endif]--> |
2161d292e1af
move IE hacks to msie.css and include it if IE
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1630
diff
changeset
|
673 """ % link % (self.stylesheetsCharset, 'all', csshref)) |
2161d292e1af
move IE hacks to msie.css and include it if IE
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1630
diff
changeset
|
674 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
675 # Add user css url (assuming that user css uses same charset) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
676 if usercss and usercss.lower() != "none": |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
677 html.append(link % (self.stylesheetsCharset, 'all', usercss)) |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
678 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
679 return '\n'.join(html) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
680 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
681 def shouldShowPageinfo(self, page): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
682 """ Should we show page info? |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
683 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
684 Should be implemented by actions. For now, we check here by action |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
685 name and page. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
686 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
687 @param page: current page |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
688 @rtype: bool |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
689 @return: true if should show page info |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
690 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
691 if page.exists() and self.request.user.may.read(page.page_name): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
692 # These actions show the page content. |
1832
b180f047d918
comments only: cleaned up TODO, XXX, ...
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1827
diff
changeset
|
693 # TODO: on new action, page info will not show. |
b180f047d918
comments only: cleaned up TODO, XXX, ...
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1827
diff
changeset
|
694 # A better solution will be if the action itself answer the question: showPageInfo(). |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
695 contentActions = [u'', u'show', u'refresh', u'preview', u'diff', |
1897
3d2dbe3e8a4c
shouldShowPageinfo: CopyPage added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1892
diff
changeset
|
696 u'subscribe', u'RenamePage', u'CopyPage', u'DeletePage', |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
697 u'SpellCheck', u'print'] |
1008
43279823cf24
use request.action
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1003
diff
changeset
|
698 return self.request.action in contentActions |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
699 return False |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
700 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
701 def pageinfo(self, page): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
702 """ Return html fragment with page meta data |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
703 |
393
f25101c236bb
optimized footer display and print view, removed some ancient code
Thomas Waldmann <tw@waldmann-edv.de>
parents:
338
diff
changeset
|
704 Since page information uses translated text, it uses the ui |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
705 language and direction. It looks strange sometimes, but |
393
f25101c236bb
optimized footer display and print view, removed some ancient code
Thomas Waldmann <tw@waldmann-edv.de>
parents:
338
diff
changeset
|
706 translated text using page direction looks worse. |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
707 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
708 @param page: current page |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
709 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
710 @return: page last edit information |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
711 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
712 _ = self.request.getText |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
713 html = '' |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
714 if self.shouldShowPageinfo(page): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
715 info = page.lastEditInfo() |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
716 if info: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
717 if info['editor']: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
718 info = _("last edited %(time)s by %(editor)s") % info |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
719 else: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
720 info = _("last modified %(time)s") % info |
393
f25101c236bb
optimized footer display and print view, removed some ancient code
Thomas Waldmann <tw@waldmann-edv.de>
parents:
338
diff
changeset
|
721 pagename = page.page_name |
f25101c236bb
optimized footer display and print view, removed some ancient code
Thomas Waldmann <tw@waldmann-edv.de>
parents:
338
diff
changeset
|
722 if self.request.cfg.show_interwiki: |
f25101c236bb
optimized footer display and print view, removed some ancient code
Thomas Waldmann <tw@waldmann-edv.de>
parents:
338
diff
changeset
|
723 pagename = "%s: %s" % (self.request.cfg.interwikiname, pagename) |
1766
2e640592bfd1
fix some unescaped uses of pagename (ported from 1.5-803/805/806)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1764
diff
changeset
|
724 info = "%s (%s)" % (wikiutil.escape(pagename), info) |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
725 html = '<p id="pageinfo" class="info"%(lang)s>%(info)s</p>\n' % { |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
726 'lang': self.ui_lang_attr(), |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
727 'info': info |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
728 } |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
729 return html |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
730 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
731 def searchform(self, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
732 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
733 assemble HTML code for the search forms |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
734 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
735 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
736 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
737 @return: search form html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
738 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
739 _ = self.request.getText |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
740 form = self.request.form |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
741 updates = { |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
742 'search_label': _('Search:'), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
743 'search_value': wikiutil.escape(form.get('value', [''])[0], 1), |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
744 'search_full_label': _('Text'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
745 'search_title_label': _('Titles'), |
3040
8608b258f8e6
bug fix of MoinMoinBugs/MoveAttachmentNotWorkingWithModPython (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3038
diff
changeset
|
746 'baseurl': self.request.getScriptname(), |
3411
b9b958b46ed1
theme.__init__: bugfix for searchform and actionsMenu
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3409
diff
changeset
|
747 'pagename_quoted': wikiutil.quoteWikinameURL(d['page'].page_name), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
748 } |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
749 d.update(updates) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
750 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
751 html = u''' |
3040
8608b258f8e6
bug fix of MoinMoinBugs/MoveAttachmentNotWorkingWithModPython (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3038
diff
changeset
|
752 <form id="searchform" method="get" action="%(baseurl)s/%(pagename_quoted)s"> |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
753 <div> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
754 <input type="hidden" name="action" value="fullsearch"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
755 <input type="hidden" name="context" value="180"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
756 <label for="searchinput">%(search_label)s</label> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
757 <input id="searchinput" type="text" name="value" value="%(search_value)s" size="20" |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
758 onfocus="searchFocus(this)" onblur="searchBlur(this)" |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
759 onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
760 <input id="titlesearch" name="titlesearch" type="submit" |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
761 value="%(search_title_label)s" alt="Search Titles"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
762 <input id="fullsearch" name="fullsearch" type="submit" |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
763 value="%(search_full_label)s" alt="Search Full Text"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
764 </div> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
765 </form> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
766 <script type="text/javascript"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
767 <!--// Initialize search form |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
768 var f = document.getElementById('searchform'); |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
769 f.getElementsByTagName('label')[0].style.display = 'none'; |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
770 var e = document.getElementById('searchinput'); |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
771 searchChange(e); |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
772 searchBlur(e); |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
773 //--> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
774 </script> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
775 ''' % d |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
776 return html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
777 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
778 def showversion(self, d, **keywords): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
779 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
780 assemble HTML code for copyright and version display |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
781 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
782 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
783 @rtype: string |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
784 @return: copyright and version display html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
785 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
786 html = '' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
787 if self.cfg.show_version and not keywords.get('print_mode', 0): |
669
e3b84c7488e8
show_version shows version info similar to SystemInfo now
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
622
diff
changeset
|
788 html = (u'<div id="version">MoinMoin Release %s [Revision %s], ' |
3488
f3c50edd219c
theme showversion: remove year, add 'et al.'
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3473
diff
changeset
|
789 'Copyright by Juergen Hermann et al.</div>') % (version.release, version.revision, ) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
790 return html |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
791 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
792 def headscript(self, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
793 """ Return html head script with common functions |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
794 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
795 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
796 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
797 @return: script for html head |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
798 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
799 # Don't add script for print view |
1008
43279823cf24
use request.action
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1003
diff
changeset
|
800 if self.request.action == 'print': |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
801 return u'' |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
802 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
803 _ = self.request.getText |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
804 script = u""" |
1425
b1c380a4cdb0
move some js to common.js
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1419
diff
changeset
|
805 <script type="text/javascript"> |
b1c380a4cdb0
move some js to common.js
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1419
diff
changeset
|
806 <!-- |
b1c380a4cdb0
move some js to common.js
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1419
diff
changeset
|
807 var search_hint = "%(search_hint)s"; |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
808 //--> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
809 </script> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
810 """ % { |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
811 'search_hint': _('Search'), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
812 } |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
813 return script |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
814 |
1764
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
815 def shouldUseRSS(self, page): |
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
816 """ Return True if RSS feature is available and we are on the |
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
817 RecentChanges page, or False. |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
818 |
1764
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
819 Currently rss is broken on plain Python, and works only when |
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
820 installing PyXML. Return true if PyXML is installed. |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
821 """ |
1764
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
822 if not rss_supported: |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
823 return False |
1764
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
824 return page.page_name == u'RecentChanges' or \ |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
825 page.page_name == self.request.getText(u'RecentChanges') |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
826 |
1764
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
827 def rsshref(self, page): |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
828 """ Create rss href, used for rss button and head link |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
829 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
830 @rtype: unicode |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
831 @return: rss href |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
832 """ |
1382
c3c8ff25e979
make more use of formatter / link_to for link rendering
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1354
diff
changeset
|
833 request = self.request |
1813
dca96e7c8199
reuse existing page object
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1808
diff
changeset
|
834 url = page.url(request, querystr={ |
3234
a739558ca3dc
Page.url() default changed to relative=False
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3164
diff
changeset
|
835 'action': 'rss_rc', 'ddiffs': '1', 'unique': '1', }, escape=0) |
1382
c3c8ff25e979
make more use of formatter / link_to for link rendering
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1354
diff
changeset
|
836 return url |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
837 |
1764
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
838 def rsslink(self, d): |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
839 """ Create rss link in head, used by FireFox |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
840 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
841 RSS link for FireFox. This shows an rss link in the bottom of |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
842 the page and let you subscribe to the wiki rss feed. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
843 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
844 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
845 @return: html head |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
846 """ |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
847 link = u'' |
1764
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
848 page = d['page'] |
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
849 if self.shouldUseRSS(page): |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
850 link = (u'<link rel="alternate" title="%s Recent Changes" ' |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
851 u'href="%s" type="application/rss+xml">') % ( |
3273
9c6900a92a64
more wikiutil.escape fixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3270
diff
changeset
|
852 wikiutil.escape(self.cfg.sitename, True), |
9c6900a92a64
more wikiutil.escape fixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3270
diff
changeset
|
853 wikiutil.escape(self.rsshref(page), True) ) |
70
36a2541550aa
src cosmetic changes, changed (c) to 2005
Thomas Waldmann <tw@waldmann-edv.de>
parents:
64
diff
changeset
|
854 return link |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
855 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
856 def html_head(self, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
857 """ Assemble html head |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
858 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
859 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
860 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
861 @return: html head |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
862 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
863 html = [ |
3273
9c6900a92a64
more wikiutil.escape fixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3270
diff
changeset
|
864 u'<title>%(title)s - %(sitename)s</title>' % { |
9c6900a92a64
more wikiutil.escape fixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3270
diff
changeset
|
865 'title': wikiutil.escape(d['title']), |
9c6900a92a64
more wikiutil.escape fixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3270
diff
changeset
|
866 'sitename': wikiutil.escape(d['sitename']), |
9c6900a92a64
more wikiutil.escape fixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3270
diff
changeset
|
867 }, |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
868 self.externalScript('common'), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
869 self.headscript(d), # Should move to separate .js file |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
870 self.guiEditorScript(d), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
871 self.html_stylesheets(d), |
1764
885c97f7ba37
RSS feed: do not announce on any page, but only on RC and _(RC) (ported from 1.5-801)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1752
diff
changeset
|
872 self.rsslink(d), |
3723
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
873 self.universal_edit_button(d), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
874 ] |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
875 return '\n'.join(html) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
876 |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
877 def externalScript(self, name): |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
878 """ Format external script html """ |
1318
760002b5ffa3
use url_prefix_static = '/moin_static160' instead of url_prefix = '/wiki' to avoid user confusion and stale caches
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1015
diff
changeset
|
879 src = '%s/common/js/%s.js' % (self.request.cfg.url_prefix_static, name) |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
880 return '<script type="text/javascript" src="%s"></script>' % src |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
881 |
3723
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
882 def universal_edit_button(self, d, **keywords): |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
883 """ Generate HTML for an edit link in the header.""" |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
884 page = d['page'] |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
885 if 'edit' in self.request.cfg.actions_excluded: |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
886 return "" |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
887 if not (page.isWritable() and |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
888 self.request.user.may.write(page.page_name)): |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
889 return "" |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
890 _ = self.request.getText |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
891 querystr = {'action': 'edit'} |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
892 text = _(u'Edit') |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
893 url = page.url(self.request, querystr=querystr, escape=0) |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
894 return (u'<link rel="alternate" type="application/wiki" ' |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
895 u'title="%s" href="%s" />' % (text, url)) |
7d77145af210
ThemeBase: add a <link> in the <header> for the editor
Radomir Dopieralski <moindev@sheep.art.pl>
parents:
3624
diff
changeset
|
896 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
897 def credits(self, d, **keywords): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
898 """ Create credits html from credits list """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
899 if isinstance(self.cfg.page_credits, (list, tuple)): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
900 items = ['<li>%s</li>' % i for i in self.cfg.page_credits] |
306
4e5e4fc9f7fa
fixed rendering of modern for IE, Opera, Konqueror (as far as possible). TODO: other themes
Thomas Waldmann <tw@waldmann-edv.de>
parents:
298
diff
changeset
|
901 html = '<ul id="credits">\n%s\n</ul>\n' % ''.join(items) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
902 else: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
903 # Old config using string, output as is |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
904 html = self.cfg.page_credits |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
905 return html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
906 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
907 def actionsMenu(self, page): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
908 """ Create actions menu list and items data dict |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
909 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
910 The menu will contain the same items always, but items that are |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
911 not available will be disabled (some broken browsers will let |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
912 you select disabled options though). |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
913 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
914 The menu should give best user experience for javascript |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
915 enabled browsers, and acceptable behavior for those who prefer |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
916 not to use Javascript. |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
917 |
1832
b180f047d918
comments only: cleaned up TODO, XXX, ...
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1827
diff
changeset
|
918 TODO: Move actionsMenuInit() into body onload - requires that the theme will render body, |
b180f047d918
comments only: cleaned up TODO, XXX, ...
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1827
diff
changeset
|
919 it is currently done in wikiutil/page. |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
920 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
921 @param page: current page, Page object |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
922 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
923 @return: actions menu html fragment |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
924 """ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
925 request = self.request |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
926 _ = request.getText |
1683
964fa7d0de32
action menu propagates rev parameter, simplify revision display
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1634
diff
changeset
|
927 rev = request.rev |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
928 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
929 menu = [ |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
930 'raw', |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
931 'print', |
493
993d53631fee
make some action menu entries translatable
Thomas Waldmann <tw@waldmann-edv.de>
parents:
490
diff
changeset
|
932 'RenderAsDocbook', |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
933 'refresh', |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
934 '__separator__', |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
935 'SpellCheck', |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
936 'LikePages', |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
937 'LocalSiteMap', |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
938 '__separator__', |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
939 'RenamePage', |
1850
3d38db210672
action CopyPage added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1843
diff
changeset
|
940 'CopyPage', |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
941 'DeletePage', |
493
993d53631fee
make some action menu entries translatable
Thomas Waldmann <tw@waldmann-edv.de>
parents:
490
diff
changeset
|
942 '__separator__', |
993d53631fee
make some action menu entries translatable
Thomas Waldmann <tw@waldmann-edv.de>
parents:
490
diff
changeset
|
943 'MyPages', |
993d53631fee
make some action menu entries translatable
Thomas Waldmann <tw@waldmann-edv.de>
parents:
490
diff
changeset
|
944 'SubscribeUser', |
993d53631fee
make some action menu entries translatable
Thomas Waldmann <tw@waldmann-edv.de>
parents:
490
diff
changeset
|
945 '__separator__', |
993d53631fee
make some action menu entries translatable
Thomas Waldmann <tw@waldmann-edv.de>
parents:
490
diff
changeset
|
946 'Despam', |
1683
964fa7d0de32
action menu propagates rev parameter, simplify revision display
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1634
diff
changeset
|
947 'revert', |
493
993d53631fee
make some action menu entries translatable
Thomas Waldmann <tw@waldmann-edv.de>
parents:
490
diff
changeset
|
948 'PackagePages', |
1808
e43e65d90f26
action menu: speed up, add entry for SyncPages, longer separator
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1802
diff
changeset
|
949 'SyncPages', |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
950 ] |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
951 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
952 titles = { |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
953 # action: menu title |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
954 '__title__': _("More Actions:"), |
64
6483a586208d
better wording in the user interface
Nir Soffer <nirs@freeshell.org>
parents:
33
diff
changeset
|
955 # Translation may need longer or shorter separator |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
956 '__separator__': _('------------------------'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
957 'raw': _('Raw Text'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
958 'print': _('Print View'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
959 'refresh': _('Delete Cache'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
960 'SpellCheck': _('Check Spelling'), # rename action! |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
961 'RenamePage': _('Rename Page'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
962 'CopyPage': _('Copy Page'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
963 'DeletePage': _('Delete Page'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
964 'LikePages': _('Like Pages'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
965 'LocalSiteMap': _('Local Site Map'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
966 'MyPages': _('My Pages'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
967 'SubscribeUser': _('Subscribe User'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
968 'Despam': _('Remove Spam'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
969 'revert': _('Revert to this revision'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
970 'PackagePages': _('Package Pages'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
971 'RenderAsDocbook': _('Render as Docbook'), |
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
972 'SyncPages': _('Sync Pages'), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
973 } |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
974 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
975 options = [] |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
976 option = '<option value="%(action)s"%(disabled)s>%(title)s</option>' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
977 # class="disabled" is a workaround for browsers that ignore |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
978 # "disabled", e.g IE, Safari |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
979 # for XHTML: data['disabled'] = ' disabled="disabled"' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
980 disabled = ' disabled class="disabled"' |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
981 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
982 # Format standard actions |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
983 available = request.getAvailableActions(page) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
984 for action in menu: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
985 data = {'action': action, 'disabled': '', 'title': titles[action]} |
3527
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
986 # removes excluded actions from the more actions menu |
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
987 if action in request.cfg.actions_excluded: |
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
988 continue |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
989 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
990 # Enable delete cache only if page can use caching |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
991 if action == 'refresh': |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
992 if not page.canUseCache(): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
993 data['action'] = 'show' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
994 data['disabled'] = disabled |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
995 |
3472
4abf8492a665
theme.__init__:revert action enabled only if user can revert
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3428
diff
changeset
|
996 # revert action enabled only if user can revert |
4abf8492a665
theme.__init__:revert action enabled only if user can revert
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3428
diff
changeset
|
997 if action == 'revert' and not request.user.may.revert(page.page_name): |
4abf8492a665
theme.__init__:revert action enabled only if user can revert
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3428
diff
changeset
|
998 data['action'] = 'show' |
4abf8492a665
theme.__init__:revert action enabled only if user can revert
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3428
diff
changeset
|
999 data['disabled'] = disabled |
4abf8492a665
theme.__init__:revert action enabled only if user can revert
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3428
diff
changeset
|
1000 |
3473
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1001 # SubscribeUser action enabled only if user has admin rights |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1002 if action == 'SubscribeUser' and not request.user.may.admin(page.page_name): |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1003 data['action'] = 'show' |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1004 data['disabled'] = disabled |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1005 |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1006 # PackagePages action only if user has write rights |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1007 if action == 'PackagePages' and not request.user.may.write(page.page_name): |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1008 data['action'] = 'show' |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1009 data['disabled'] = disabled |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1010 |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1011 # Despam action enabled only for superusers |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1012 if action == 'Despam' and not request.user.isSuperUser(): |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1013 data['action'] = 'show' |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1014 data['disabled'] = disabled |
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1015 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1016 # Special menu items. Without javascript, executing will |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1017 # just return to the page. |
3473
59a4005672d3
theme.__init__: action enabled dependent of rights
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3472
diff
changeset
|
1018 if action.startswith('__'): |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1019 data['action'] = 'show' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1020 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1021 # Actions which are not available for this wiki, user or page |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1022 if (action == '__separator__' or |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1023 (action[0].isupper() and not action in available)): |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1024 data['disabled'] = disabled |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1025 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1026 options.append(option % data) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1027 |
453
493972205fac
removed duplicate AttachFile entry in actions menu
Thomas Waldmann <tw@waldmann-edv.de>
parents:
393
diff
changeset
|
1028 # Add custom actions not in the standard menu, except for |
493972205fac
removed duplicate AttachFile entry in actions menu
Thomas Waldmann <tw@waldmann-edv.de>
parents:
393
diff
changeset
|
1029 # some actions like AttachFile (we have them on top level) |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1030 more = [item for item in available if not item in titles and not item in ('AttachFile', )] |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1031 more.sort() |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1032 if more: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1033 # Add separator |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1034 separator = option % {'action': 'show', 'disabled': disabled, |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1035 'title': titles['__separator__']} |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1036 options.append(separator) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1037 # Add more actions (all enabled) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1038 for action in more: |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1039 data = {'action': action, 'disabled': ''} |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1040 # Always add spaces: AttachFile -> Attach File |
1808
e43e65d90f26
action menu: speed up, add entry for SyncPages, longer separator
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1802
diff
changeset
|
1041 # XXX do not create page just for using split_title - |
2775 | 1042 # creating pages for non-existent does 2 storage lookups |
1808
e43e65d90f26
action menu: speed up, add entry for SyncPages, longer separator
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1802
diff
changeset
|
1043 #title = Page(request, action).split_title(force=1) |
e43e65d90f26
action menu: speed up, add entry for SyncPages, longer separator
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1802
diff
changeset
|
1044 title = action |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1045 # Use translated version if available |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1046 data['title'] = _(title) |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1047 options.append(option % data) |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1048 |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1049 data = { |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1050 'label': titles['__title__'], |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1051 'options': '\n'.join(options), |
1683
964fa7d0de32
action menu propagates rev parameter, simplify revision display
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1634
diff
changeset
|
1052 'rev_field': rev and '<input type="hidden" name="rev" value="%d">' % rev or '', |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1053 'do_button': _("Do"), |
3040
8608b258f8e6
bug fix of MoinMoinBugs/MoveAttachmentNotWorkingWithModPython (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3038
diff
changeset
|
1054 'baseurl': self.request.getScriptname(), |
3411
b9b958b46ed1
theme.__init__: bugfix for searchform and actionsMenu
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3409
diff
changeset
|
1055 'pagename_quoted': wikiutil.quoteWikinameURL(page.page_name), |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1056 } |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1057 html = ''' |
3409
1c5bb02539cf
fix actionsmenu form's action attribute
Johannes Berg <johannes AT sipsolutions DOT net>
parents:
3356
diff
changeset
|
1058 <form class="actionsmenu" method="GET" action="%(baseurl)s/%(pagename_quoted)s"> |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1059 <div> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1060 <label>%(label)s</label> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1061 <select name="action" |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1062 onchange="if ((this.selectedIndex != 0) && |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1063 (this.options[this.selectedIndex].disabled == false)) { |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1064 this.form.submit(); |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1065 } |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1066 this.selectedIndex = 0;"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1067 %(options)s |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1068 </select> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1069 <input type="submit" value="%(do_button)s"> |
1683
964fa7d0de32
action menu propagates rev parameter, simplify revision display
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1634
diff
changeset
|
1070 %(rev_field)s |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1071 </div> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1072 <script type="text/javascript"> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1073 <!--// Init menu |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1074 actionsMenuInit('%(label)s'); |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1075 //--> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1076 </script> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1077 </form> |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1078 ''' % data |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1079 |
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1080 return html |
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1081 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1082 def editbar(self, d): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1083 """ Assemble the page edit bar. |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1084 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1085 Create html on first call, then return cached html. |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1086 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1087 @param d: parameter dictionary |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1088 @rtype: unicode |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1089 @return: iconbar html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1090 """ |
622
8fba6d15a2f5
make request.(html_)formatter available early and use it
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
620
diff
changeset
|
1091 page = d['page'] |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1092 if not self.shouldShowEditbar(page): |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1093 return '' |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1094 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1095 html = self._cache.get('editbar') |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1096 if html is None: |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1097 # Remove empty items and format as list |
306
4e5e4fc9f7fa
fixed rendering of modern for IE, Opera, Konqueror (as far as possible). TODO: other themes
Thomas Waldmann <tw@waldmann-edv.de>
parents:
298
diff
changeset
|
1098 items = ''.join(['<li>%s</li>' % item |
4e5e4fc9f7fa
fixed rendering of modern for IE, Opera, Konqueror (as far as possible). TODO: other themes
Thomas Waldmann <tw@waldmann-edv.de>
parents:
298
diff
changeset
|
1099 for item in self.editbarItems(page) if item]) |
4e5e4fc9f7fa
fixed rendering of modern for IE, Opera, Konqueror (as far as possible). TODO: other themes
Thomas Waldmann <tw@waldmann-edv.de>
parents:
298
diff
changeset
|
1100 html = u'<ul class="editbar">%s</ul>\n' % items |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1101 self._cache['editbar'] = html |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1102 |
0
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1103 return html |
77665d8e2254
tag of nonpublic@localhost--archive/moin--enterprise--1.5--base-0
Thomas Waldmann <tw-public@gmx.de>
parents:
diff
changeset
|
1104 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1105 def shouldShowEditbar(self, page): |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1106 """ Should we show the editbar? |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1107 |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1108 Actions should implement this, because only the action knows if |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1109 the edit bar makes sense. Until it goes into actions, we do the |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1110 checking here. |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1111 |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1112 @param page: current page |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1113 @rtype: bool |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1114 @return: true if editbar should show |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1115 """ |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1116 # Show editbar only for existing pages, including deleted pages, |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1117 # that the user may read. If you may not read, you can't edit, |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1118 # so you don't need editbar. |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1119 if (page.exists(includeDeleted=1) and |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1120 self.request.user.may.read(page.page_name)): |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1121 form = self.request.form |
1008
43279823cf24
use request.action
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1003
diff
changeset
|
1122 action = self.request.action |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1123 # Do not show editbar on edit but on save/cancel |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1124 return not (action == 'edit' and |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1125 not form.has_key('button_save') and |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1126 not form.has_key('button_cancel')) |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1127 return False |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1128 |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1129 def editbarItems(self, page): |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1130 """ Return list of items to show on the editbar |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1131 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1132 This is separate method to make it easy to customize the |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1133 edtibar in sub classes. |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1134 """ |
1752
6f8360e1a4bb
wrapping div support for wiki parser, toggling display of comment divs, show_comments user prefs
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1747
diff
changeset
|
1135 _ = self.request.getText |
1742
7b419bd3b2cf
theme/__init__.py: edit_bar dependend on config
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1735
diff
changeset
|
1136 editbar_actions = [] |
7b419bd3b2cf
theme/__init__.py: edit_bar dependend on config
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1735
diff
changeset
|
1137 for editbar_item in self.request.cfg.edit_bar: |
1920
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1138 if editbar_item == 'Discussion': |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1139 if not self.request.cfg.supplementation_page and self.request.getPragma('supplementation-page', 1) in ('on', '1'): |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1140 editbar_actions.append(self.supplementation_page_nameLink(page)) |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1141 elif self.request.cfg.supplementation_page and not self.request.getPragma('supplementation-page', 1) in ('off', '0'): |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1142 editbar_actions.append(self.supplementation_page_nameLink(page)) |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1143 elif editbar_item == 'Comments': |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1144 # we just use <a> to get same style as other links, but we add some dummy |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1145 # link target to get correct mouseover pointer appearance. return false |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1146 # keeps the browser away from jumping to the link target:: |
3419
d6057ed413e6
show 'Comments' toggling link in edit bar only if the page really contains comments (ported from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3411
diff
changeset
|
1147 editbar_actions.append('<a href="#" class="toggleCommentsButton" style="display:none;" onClick="toggleComments();return false;">%s</a>' % _('Comments')) |
1920
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1148 elif editbar_item == 'Edit': |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1149 editbar_actions.append(self.editorLink(page)) |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1150 elif editbar_item == 'Info': |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1151 editbar_actions.append(self.infoLink(page)) |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1152 elif editbar_item == 'Subscribe': |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1153 editbar_actions.append(self.subscribeLink(page)) |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1154 elif editbar_item == 'Quicklink': |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1155 editbar_actions.append(self.quicklinkLink(page)) |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1156 elif editbar_item == 'Attachments': |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1157 editbar_actions.append(self.attachmentsLink(page)) |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1158 elif editbar_item == 'ActionsMenu': |
b06ef2a53efa
'make pylint', fixed lots of minor stuff found by pylint (and there is still lots left to do)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1918
diff
changeset
|
1159 editbar_actions.append(self.actionsMenu(page)) |
1742
7b419bd3b2cf
theme/__init__.py: edit_bar dependend on config
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1735
diff
changeset
|
1160 return editbar_actions |
1730
7487f00da9bc
theme/__init__.py: setup for a supplementation page in editbar_items
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1715
diff
changeset
|
1161 |
7487f00da9bc
theme/__init__.py: setup for a supplementation page in editbar_items
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1715
diff
changeset
|
1162 def supplementation_page_nameLink(self, page): |
3038
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1163 """Return a link to the discussion page |
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1164 |
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1165 If the discussion page doesn't exist and the user |
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1166 has no right to create it, show a disabled link. |
3070 | 1167 """ |
1730
7487f00da9bc
theme/__init__.py: setup for a supplementation page in editbar_items
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
1715
diff
changeset
|
1168 _ = self.request.getText |
3038
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1169 suppl_name = self.request.cfg.supplementation_page_name |
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1170 suppl_name_full = "%s/%s" % (page.page_name, suppl_name) |
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1171 |
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1172 test = Page(self.request, suppl_name_full) |
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1173 if not test.exists() and not self.request.user.may.write(suppl_name_full): |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1174 return ('<span class="disabled">%s</span>' % _(suppl_name)) |
3038
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1175 else: |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1176 return page.link_to(self.request, text=_(suppl_name), |
3038
07ab9d4b8bb8
bug fix for 1.6.0SupplementationAndAccessRights (thanks to Boleslaw Kulbabinski) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3036
diff
changeset
|
1177 querystr={'action': 'supplementation'}, css_class='nbsupplementation', rel='nofollow') |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1178 |
286
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1179 def guiworks(self, page): |
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1180 """ Return whether the gui editor / converter can work for that page. |
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1181 |
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1182 The GUI editor currently only works for wiki format. |
3000
344e33587519
do not show 2 editor links in edit_bar if text editor is forced by admin (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2996
diff
changeset
|
1183 For simplicity, we also tell it does not work if the admin forces the text editor. |
286
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1184 """ |
3000
344e33587519
do not show 2 editor links in edit_bar if text editor is forced by admin (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2996
diff
changeset
|
1185 is_wiki = page.pi['format'] == 'wiki' |
344e33587519
do not show 2 editor links in edit_bar if text editor is forced by admin (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2996
diff
changeset
|
1186 gui_disallowed = self.cfg.editor_force and self.cfg.editor_default == 'text' |
344e33587519
do not show 2 editor links in edit_bar if text editor is forced by admin (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2996
diff
changeset
|
1187 return is_wiki and not gui_disallowed |
344e33587519
do not show 2 editor links in edit_bar if text editor is forced by admin (port from 1.6)
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2996
diff
changeset
|
1188 |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1189 |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1190 def editorLink(self, page): |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1191 """ Return a link to the editor |
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1192 |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1193 If the user can't edit, return a disabled edit link. |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1194 |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1195 If the user want to show both editors, it will display "Edit |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1196 (Text)", otherwise as "Edit". |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1197 """ |
3527
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
1198 if 'edit' in self.request.cfg.actions_excluded: |
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
1199 return "" |
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
1200 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1201 if not (page.isWritable() and |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1202 self.request.user.may.write(page.page_name)): |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1203 return self.disabledEdit() |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1204 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1205 _ = self.request.getText |
1015
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
1206 querystr = {'action': 'edit'} |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1207 |
286
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1208 guiworks = self.guiworks(page) |
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1209 if self.showBothEditLinks() and guiworks: |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1210 text = _('Edit (Text)') |
1015
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
1211 querystr['editor'] = 'text' |
869
0152984f76ee
use rel nofollow for action links
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
826
diff
changeset
|
1212 attrs = {'name': 'texteditlink', 'rel': 'nofollow', } |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1213 else: |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1214 text = _('Edit') |
286
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1215 if guiworks: |
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1216 # 'textonly' will be upgraded dynamically to 'guipossible' by JS |
1015
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
1217 querystr['editor'] = 'textonly' |
869
0152984f76ee
use rel nofollow for action links
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
826
diff
changeset
|
1218 attrs = {'name': 'editlink', 'rel': 'nofollow', } |
286
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1219 else: |
1015
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
1220 querystr['editor'] = 'text' |
869
0152984f76ee
use rel nofollow for action links
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
826
diff
changeset
|
1221 attrs = {'name': 'texteditlink', 'rel': 'nofollow', } |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1222 |
1015
e527eea93da5
make more use of page.link_to in theme code
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1010
diff
changeset
|
1223 return page.link_to(self.request, text=text, querystr=querystr, **attrs) |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1224 |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1225 def showBothEditLinks(self): |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1226 """ Return True if both edit links should be displayed """ |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1227 editor = self.request.user.editor_ui |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1228 if editor == '<default>': |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1229 editor = self.request.cfg.editor_ui |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1230 return editor == 'freechoice' |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1231 |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1232 def guiEditorScript(self, d): |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1233 """ Return a script that set the gui editor link variables |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1234 |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1235 The link will be created only when javascript is enabled and |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1236 the browser is compatible with the editor. |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1237 """ |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1238 page = d['page'] |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1239 if not (page.isWritable() and |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1240 self.request.user.may.write(page.page_name) and |
286
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1241 self.showBothEditLinks() and |
08cd0e9b9369
do not show gui editor for non-wiki format pages
Thomas Waldmann <tw@waldmann-edv.de>
parents:
237
diff
changeset
|
1242 self.guiworks(page)): |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1243 return '' |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1244 |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1245 _ = self.request.getText |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1246 return """\ |
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1247 <script type="text/javascript"> |
1425
b1c380a4cdb0
move some js to common.js
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1419
diff
changeset
|
1248 <!-- // GUI edit link and i18n |
1341
f4558797325a
new page.link_to_raw function, use more page.link_to(_raw) instead of lowlevel wikiutil.link_tag, use more query dicts instead of strs
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1339
diff
changeset
|
1249 var gui_editor_link_href = "%(url)s"; |
128
2fba84615be7
create gui editor links by javascript and dom, tested with Safari, Firefox and IE
Nir Soffer <nirs@freeshell.org>
parents:
124
diff
changeset
|
1250 var gui_editor_link_text = "%(text)s"; |
1425
b1c380a4cdb0
move some js to common.js
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1419
diff
changeset
|
1251 //--> |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1252 </script> |
3234
a739558ca3dc
Page.url() default changed to relative=False
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3164
diff
changeset
|
1253 """ % {'url': page.url(self.request, querystr={'action': 'edit', 'editor': 'gui', }), |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1254 'text': _('Edit (GUI)'), |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1255 } |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1256 |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1257 def disabledEdit(self): |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1258 """ Return a disabled edit link """ |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1259 _ = self.request.getText |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1260 return ('<span class="disabled">%s</span>' |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1261 % _('Immutable Page')) |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1262 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1263 def infoLink(self, page): |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1264 """ Return link to page information """ |
3527
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
1265 if 'info' in self.request.cfg.actions_excluded: |
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
1266 return "" |
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
1267 |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1268 _ = self.request.getText |
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1269 return page.link_to(self.request, |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1270 text=_('Info'), |
1892
dc1c3ca94cf8
don't use ID for navi_bar links as there are 2 navibars on a page for modern theme
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
1887
diff
changeset
|
1271 querystr={'action': 'info'}, css_class='nbinfo', rel='nofollow') |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1272 |
97
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1273 def subscribeLink(self, page): |
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1274 """ Return subscribe/unsubscribe link to valid users |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1275 |
97
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1276 @rtype: unicode |
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1277 @return: subscribe or unsubscribe link |
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1278 """ |
3428
a53f1e77d372
theme.__init__: fixed bug for subscribe link
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3419
diff
changeset
|
1279 if not ((self.cfg.mail_enabled or self.cfg.jabber_enabled) and self.request.user.valid): |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1280 return '' |
1003
e8aef4cb2b34
whitespace-only cleanup and minor style changes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
992
diff
changeset
|
1281 |
97
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1282 _ = self.request.getText |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1283 if self.request.user.isSubscribedTo([page.page_name]): |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1284 action, text = 'unsubscribe', _("Unsubscribe") |
98
8375a3795ff8
theme: refactor editabr to make it easier to customize by theme authors
Nir Soffer <nirs@freeshell.org>
parents:
97
diff
changeset
|
1285 else: |
3164
c25bc6e9ad61
i18n.getText: removing wrong (old) kw arguments from _() calls
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
3139
diff
changeset
|
1286 action, text = 'subscribe', _("Subscribe") |
3527
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
1287 if action in self.request.cfg.actions_excluded: |
ca50da801291
theme.__init__: removes excluded actions from theme
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3510
diff
changeset
|
1288 return "" |
3058
f48d46b39364
fix MoinMoinBugs/SubscribeAndUnsubscribeShareSameUrl (thanks to Federico Lorenzi) (ported from 1.6)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3054
diff
changeset
|
1289 return page.link_to(self.request, text=text, querystr={'action': action}, css_class='nbsubscribe', rel='nofollow') |
97
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1290 |
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1291 def quicklinkLink(self, page): |
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1292 """ Return add/remove quicklink link |
2286
01f05e74aa9c
Big PEP8 and whitespace cleanup
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
2197
diff
changeset
|
1293 |
97
539cfd9a40b2
theme: moving related edit bar methods toghether
Nir Soffer <nirs@freeshell.org>
parents:
92
diff
changeset
|
1294 @rtype: unicode |
|