app/soc/views/models/site.py
changeset 2392 b53e1cdb0398
parent 2210 1095b52ed667
child 2656 25210120d67b
equal deleted inserted replaced
2391:c9283c3102ce 2392:b53e1cdb0398
    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)