Project

General

Profile

Download (2.18 KB) Statistics
| Branch: | Tag: | Revision:

root / extra / modules / admin.ptl @ 9e6caf99

1
import os
2

    
3
from quixote import get_publisher, redirect
4
from quixote.directory import Directory
5

    
6
import wcs.admin.root
7
import wcs.root
8
from wcs.admin.menu import *
9

    
10
from qommon import get_cfg
11
from qommon.form import *
12

    
13
from wcs.formdef import FormDef
14
from wcs.categories import Category
15

    
16
class AdminRootDirectory(wcs.admin.root.RootDirectory):
17
    def __init__(self):
18
        self._q_exports = wcs.admin.root.RootDirectory._q_exports
19

    
20
    def _q_index [html] (self):
21
        self.menu_items[-1] = ('/', N_('Au Quotidien'))
22
        from wcs.admin.menu import html_top
23
        html_top('/')
24
        '<p>'
25
        _('Welcome on Au Quotidien administration interface')
26
        '</p>'
27
        # XXX: add links to documentation, "this is based on w.c.s., a free
28
        # software project", etc.
29

    
30
class PanelDirectory(Directory):
31
    _q_exports = ['', 'update', 'sms']
32
    label = N_('Control Panel')
33

    
34
    def _q_index [html] (self):
35
        html_top('panel', _('Control Panel'))
36
        get_response().breadcrumb.append(('panel', _('Control Panel')))
37
        '<h2>%s</h2>' % _('Control Panel')
38

    
39
        '<ul>'
40
        '<li><a href="sms">%s</a></li>' % _('SMS Options')
41
        '</ul>'
42

    
43

    
44
    def sms [html] (self):
45
        sms_cfg = get_cfg('sms', {})
46
        form = Form(enctype='multipart/form-data')
47
        form.add(SingleSelectWidget, 'mode', title = _('SMS Mode'),
48
                value = sms_cfg.get('mode', 'none'),
49
                options = [ (str('none'), _('No support')),
50
                            (str('demo'), _('Demo support')) ])
51
        form.add_submit('submit', _('Submit'))
52
        form.add_submit('cancel', _('Cancel'))
53

    
54
        if form.get_widget('cancel').parse():
55
            return redirect('.')
56

    
57
        if not form.is_submitted() or form.has_errors():
58
            get_response().breadcrumb.append(('panel', _('Control Panel')))
59
            get_response().breadcrumb.append(('sms', 'SMS'))
60
            html_top('panel', _('SMS'))
61
            '<h2>%s</h2>' % _('SMS Options')
62
            form.render()
63
        else:
64
            from wcs.admin.settings import cfg_submit
65
            cfg_submit(form, 'sms', ('mode',))
66
            return redirect('.')
67

    
68
AdminRootDirectory.register_page('panel', PanelDirectory())
69

    
(2-2/15)