|
1 # |
|
2 # Copyright (c) 2008-2015 Thierry Florac <tflorac AT ulthar.net> |
|
3 # All Rights Reserved. |
|
4 # |
|
5 # This software is subject to the provisions of the Zope Public License, |
|
6 # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. |
|
7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
|
8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
|
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
|
10 # FOR A PARTICULAR PURPOSE. |
|
11 # |
|
12 |
|
13 __docformat__ = 'restructuredtext' |
|
14 |
|
15 |
|
16 # import standard library |
|
17 |
|
18 # import interfaces |
|
19 from zope.location.interfaces import IContained |
|
20 |
|
21 # import packages |
|
22 from zope.interface import Interface, Attribute |
|
23 from zope.schema import TextLine, Choice, Bool |
|
24 |
|
25 from pyams_skin import _ |
|
26 |
|
27 |
|
28 class IStaticConfiguration(Interface): |
|
29 """Static configuration interface |
|
30 |
|
31 These configuration options are used by default presentation layout |
|
32 """ |
|
33 |
|
34 application_package = TextLine(title="Main application package", |
|
35 description="This package is used to get current application version", |
|
36 required=False) |
|
37 |
|
38 application_name = TextLine(title="Main application name", |
|
39 description="This name is used to display application version", |
|
40 required=False) |
|
41 |
|
42 version = Attribute("Application version") |
|
43 |
|
44 version_location = Choice(title="Version label location", |
|
45 required=False, |
|
46 values=(u'menus', u'shortcuts'), |
|
47 default=u'menus') |
|
48 |
|
49 include_top_links = Bool(title="Include top links?", |
|
50 default=True, |
|
51 required=True) |
|
52 |
|
53 include_site_search = Bool(title="Include site search?", |
|
54 default=True, |
|
55 required=False) |
|
56 |
|
57 site_search_placeholder = TextLine(title="Site search placeholder", |
|
58 required=False, |
|
59 default=_("Search...")) |
|
60 |
|
61 site_search_handler = TextLine(title="Site search handler", |
|
62 required=False, |
|
63 default="#search.html") |
|
64 |
|
65 include_mobile_search = Bool(title="Include mobile search?", |
|
66 default=True, |
|
67 required=False) |
|
68 |
|
69 mobile_search_placeholder = TextLine(title="Mobile search placeholder", |
|
70 required=False, |
|
71 default=_("Search...")) |
|
72 |
|
73 mobile_search_handler = TextLine(title="Mobile search handler", |
|
74 required=False, |
|
75 default='#search.html') |
|
76 |
|
77 include_user_activity = Bool(title="Include user dropdown window?", |
|
78 default=True, |
|
79 required=True) |
|
80 |
|
81 include_user_shortcuts = Bool(title="Include user shortcuts?", |
|
82 default=True, |
|
83 required=True) |
|
84 |
|
85 include_logout_button = Bool(title="Include logout button?", |
|
86 default=True, |
|
87 required=True) |
|
88 |
|
89 include_minify_button = Bool(title="Include minify button?", |
|
90 default=True, |
|
91 required=True) |
|
92 |
|
93 include_flags = Bool(title="Include flags menu?", |
|
94 default=True, |
|
95 required=False) |
|
96 |
|
97 include_menus = Bool(title="Include main menus?", |
|
98 default=True, |
|
99 required=True) |
|
100 |
|
101 include_ribbon = Bool(title="Include ribbon?", |
|
102 default=True, |
|
103 required=True) |
|
104 |
|
105 include_reload_button = Bool(title="Include reload button?", |
|
106 default=True, |
|
107 required=True) |
|
108 |
|
109 body_css_class = TextLine(title="Body HTML tag CSS class", |
|
110 required=False) |
|
111 |
|
112 |
|
113 SKIN_CONFIGURATION_KEY = 'pyams_skin.configuration' |
|
114 |
|
115 |
|
116 class IConfiguration(IContained): |
|
117 """Dynamic application global configuration |
|
118 |
|
119 These settings are generally managed by an administrator. |
|
120 They are used by default presentation layout. |
|
121 """ |
|
122 |
|
123 title = TextLine(title=_("Title"), |
|
124 description=_("Application title displayed in title bar"), |
|
125 required=False) |
|
126 |
|
127 description = TextLine(title=_("Description"), |
|
128 description=_("Main application description"), |
|
129 required=False) |
|
130 |
|
131 author = TextLine(title=_("Author"), |
|
132 description=_("Public author name"), |
|
133 required=False) |