~ubuntu-branches/ubuntu/intrepid/moin/intrepid-updates

« back to all changes in this revision

Viewing changes to MoinMoin/theme/classic.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2006-02-14 16:09:24 UTC
  • mfrom: (0.2.13 upstream)
  • Revision ID: james.westby@ubuntu.com-20060214160924-fyrx3gvknzqvt4vj
Tags: 1.5.2-1ubuntu1
Drop python2.3 package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
"""
14
14
 
15
15
from MoinMoin import wikiutil, version
 
16
from MoinMoin import caching
16
17
from MoinMoin.theme import ThemeBase
17
18
from MoinMoin.Page import Page
18
19
 
32
33
        @rtype: unicode
33
34
        @return: page footer html
34
35
        """
 
36
        page = d['page']
35
37
        parts = [# End of page
 
38
                 self.pageinfo(page),
36
39
                 self.endPage(),
37
40
 
38
41
                 # Pre footer custom html (not recommended!)
51
54
        if not self.shouldShowEditbar(d['page']):
52
55
            return ''
53
56
        parts = [u'<div id="footer">',
54
 
                 self.footer_fragments(d, **keywords),
55
 
                 self.edittext_link(d, **keywords),
 
57
                 self.edit_link(d, **keywords),
56
58
                 self.availableactions(d),
57
59
                 u'</div>',]
58
60
        return ''.join(parts)
139
141
        dict = {
140
142
            'config_header1_html': self.emit_custom_html(self.cfg.page_header1),
141
143
            'config_header2_html': self.emit_custom_html(self.cfg.page_header2),
 
144
            'title_html': self.title(d),
142
145
            'msg_html': self.msg(d),
143
146
            'startpage_html': self.startPage(),
144
147
        }
147
150
        html = """
148
151
%(config_header1_html)s
149
152
 
 
153
%(title_html)s
150
154
%(msg_html)s
151
155
 
152
156
%(config_header2_html)s
157
161
 
158
162
    # Footer stuff #######################################################
159
163
    
160
 
    def edittext_link(self, d, **keywords):
 
164
    def edit_link(self, d, **keywords):
161
165
        """
162
166
        Assemble EditText link (or indication that page cannot be edited)
163
167
        
165
169
        @rtype: string
166
170
        @return: edittext link html
167
171
        """
168
 
        _ = self.request.getText
169
172
        page = d['page']
170
 
        if keywords.get('editable', 1):
171
 
 
172
 
            # Add edit link
173
 
            editable = (self.request.user.may.write(d['page_name']) and
174
 
                        page.isWritable())
175
 
            if editable:
176
 
                title = _('EditText', formatted=False)
177
 
                edit = wikiutil.link_tag(self.request, d['q_page_name'] +
178
 
                                         '?action=edit', title)
179
 
            else:
180
 
                edit = _('Immutable page')
181
 
 
182
 
            # Add last edit info
183
 
            info = page.lastEditInfo()
184
 
            if info:
185
 
                if info.get('editor'):
186
 
                    info = _("last edited %(time)s by %(editor)s") % info
187
 
                else:
188
 
                    info = _("last modified %(time)s") % info
189
 
                return '<p>%s (%s)</p>' % (edit, info)
190
 
        return ''
191
 
 
192
 
    def footer_fragments(self, d, **keywords):
193
 
        """
194
 
        assemble HTML code fragments added by the page formatters
195
 
        
196
 
        @param d: parameter dictionary
197
 
        @rtype: string
198
 
        @return: footer fragments html
199
 
        """
200
 
        html = ''
201
 
        if d['footer_fragments']:
202
 
            html = ''.join(d['footer_fragments'].values())
203
 
        return html
 
173
        return  u'<ul class="editbar"><li>%s</li></ul>' % self.editorLink(page)
204
174
 
205
175
    def availableactions(self, d):    
206
176
        """
212
182
        """
213
183
        request = self.request
214
184
        _ = request.getText
215
 
        html = ''
216
 
        available = request.getAvailableActions(d['page'])
 
185
        html = []
 
186
        page = d['page']
 
187
        available = request.getAvailableActions(page)
217
188
        if available:
218
189
            available = available.keys()
219
190
            available.sort()
220
 
            html = []
221
191
            for action in available:
222
192
                # Always add spaces: AttachFile -> Attach File 
223
193
                # XXX TODO do not make a page object just for split_title
228
198
                link = wikiutil.link_tag(request, params, title)
229
199
                html.append(link)
230
200
                
231
 
            html = u'<p>%s %s</p>\n' % (_('Or try one of these actions:'),
 
201
        title = _("DeleteCache", formatted=False)
 
202
        params = '%s?action=%s' % (d['page_name'], 'refresh')
 
203
        link = wikiutil.link_tag(request, params, title)
 
204
        
 
205
        cache = caching.CacheEntry(request, page, page.getFormatterName())
 
206
        date = request.user.getFormattedDateTime(cache.mtime())
 
207
        deletecache = u'<p>%s %s</p>' % (link, _('(cached %s)') % date)
 
208
 
 
209
        html = deletecache + u'<p>%s %s</p>\n' % (_('Or try one of these actions:'),
232
210
                                       u', '.join(html))
233
211
        return html
234
212