43 |
43 |
44 |
44 |
45 class View(presence_with_tos.View): |
45 class View(presence_with_tos.View): |
46 """View methods for the Document model. |
46 """View methods for the Document model. |
47 """ |
47 """ |
48 |
|
49 DEF_DOWN_FOR_MAINTENANCE_MSG = ugettext("Down for maintenance") |
|
50 DEF_NOT_IN_MAINTENANCE_MSG = ugettext( |
|
51 "The site is currently not in maintenance mode.") |
|
52 |
48 |
53 def __init__(self, params=None): |
49 def __init__(self, params=None): |
54 """Defines the fields and methods required for the base View class |
50 """Defines the fields and methods required for the base View class |
55 to provide the user with list, public, create, edit and delete views. |
51 to provide the user with list, public, create, edit and delete views. |
56 |
52 |
100 |
96 |
101 page_name = "Home Page" |
97 page_name = "Home Page" |
102 patterns += [(r'^$', 'soc.views.models.%(module_name)s.main_public', |
98 patterns += [(r'^$', 'soc.views.models.%(module_name)s.main_public', |
103 page_name)] |
99 page_name)] |
104 |
100 |
105 page_name = "Maintenance" |
|
106 patterns += [(r'^maintenance$', |
|
107 'soc.views.models.%(module_name)s.maintenance', page_name)] |
|
108 |
|
109 page_name = "Edit Site" |
101 page_name = "Edit Site" |
110 patterns += [(r'^%(url_name)s/(?P<access_type>edit)$', |
102 patterns += [(r'^%(url_name)s/(?P<access_type>edit)$', |
111 'soc.views.models.%(module_name)s.main_edit', |
103 'soc.views.models.%(module_name)s.main_edit', |
112 page_name)] |
104 page_name)] |
113 |
105 |
156 new_params = {} |
148 new_params = {} |
157 new_params['sidebar_additional'] = submenus |
149 new_params['sidebar_additional'] = submenus |
158 |
150 |
159 params = dicts.merge(params, new_params) |
151 params = dicts.merge(params, new_params) |
160 return super(View, self).getSidebarMenus(id, user, params=params) |
152 return super(View, self).getSidebarMenus(id, user, params=params) |
161 |
|
162 def maintenance(self, request, page_name): |
|
163 """Returns a 'down for maintenance' view. |
|
164 """ |
|
165 |
|
166 context = responses.getUniversalContext(request) |
|
167 context['page_name'] = page_name |
|
168 |
|
169 notice = context.pop('site_notice') |
|
170 |
|
171 if not notice: |
|
172 context['body_content'] = self.DEF_NOT_IN_MAINTENANCE_MSG |
|
173 else: |
|
174 context['body_content'] = notice |
|
175 context['header_title'] = self.DEF_DOWN_FOR_MAINTENANCE_MSG |
|
176 context['sidebar_menu_items'] = [ |
|
177 {'heading': self.DEF_DOWN_FOR_MAINTENANCE_MSG, |
|
178 'group': ''}, |
|
179 ] |
|
180 |
|
181 template = 'soc/base.html' |
|
182 |
|
183 return responses.respond(request, template, context=context) |
|
184 |
153 |
185 def mainPublic(self, request, page_name=None, **kwargs): |
154 def mainPublic(self, request, page_name=None, **kwargs): |
186 """Displays the main site settings page. |
155 """Displays the main site settings page. |
187 |
156 |
188 Args: |
157 Args: |
228 list = decorators.view(view.list) |
197 list = decorators.view(view.list) |
229 public = decorators.view(view.public) |
198 public = decorators.view(view.public) |
230 export = decorators.view(view.export) |
199 export = decorators.view(view.export) |
231 main_public = decorators.view(view.mainPublic) |
200 main_public = decorators.view(view.mainPublic) |
232 main_edit = decorators.view(view.mainEdit) |
201 main_edit = decorators.view(view.mainEdit) |
233 maintenance = decorators.view(view.maintenance) |
|
234 home = decorators.view(view.home) |
202 home = decorators.view(view.home) |