app/soc/views/models/base.py
changeset 555 3cdfb42d941b
parent 554 68c7a1dd3c52
child 560 a32be584ee04
equal deleted inserted replaced
554:68c7a1dd3c52 555:3cdfb42d941b
   363     try:
   363     try:
   364       self.checkAccess('list', request)
   364       self.checkAccess('list', request)
   365     except out_of_band.Error, error:
   365     except out_of_band.Error, error:
   366       return error.response(request)
   366       return error.response(request)
   367 
   367 
       
   368     content = helper.lists.getListContent(request, params, self._logic, filter)
       
   369     contents = [content]
       
   370 
       
   371     return self._list(request, params, contents, page_name)
       
   372 
       
   373   def _list(self, request, params, contents, page_name):
       
   374     """Returns the list page for the specified contents
       
   375 
       
   376     Args:
       
   377       request: the standard Django HTTP request object
       
   378       params: a dict with params for this View
       
   379       contents: a list of content dicts
       
   380       page_name: the page name displayed in templates as page and header title
       
   381     """
       
   382 
       
   383     offset, limit = helper.lists.cleanListParameters(
       
   384       offset=request.GET.get('offset'), limit=request.GET.get('limit'))
       
   385 
   368     context = helper.responses.getUniversalContext(request)
   386     context = helper.responses.getUniversalContext(request)
   369     context['page_name'] = page_name
   387     context['page_name'] = page_name
   370 
       
   371     offset, limit = helper.lists.cleanListParameters(
       
   372       offset=request.GET.get('offset'), limit=request.GET.get('limit'))
       
   373 
       
   374     # Fetch one more to see if there should be a 'next' link
       
   375     if not filter:
       
   376       entities = self._logic.getForLimitAndOffset(limit+1, offset=offset)
       
   377     else:
       
   378       entities = self._logic.getForFields(filter, limit=limit+1, offset=offset)
       
   379     
       
   380     context['pagination_form'] = helper.lists.makePaginationForm(request, limit)
   388     context['pagination_form'] = helper.lists.makePaginationForm(request, limit)
   381 
   389     context['list'] = soc.logic.lists.Lists(contents)
   382     updates = dicts.rename(params, params['list_params'])
       
   383     updates['logic'] = self._logic
       
   384 
       
   385     content = helper.lists.getList(request, entities, offset, limit)
       
   386     content.update(updates)
       
   387 
       
   388     context['list'] = soc.logic.lists.Lists([content])
       
   389 
   390 
   390     context['entity_type'] = params['name']
   391     context['entity_type'] = params['name']
   391     context['entity_type_plural'] = params['name_plural']
   392     context['entity_type_plural'] = params['name_plural']
   392 
   393 
   393     template = params['list_template']
   394     template = params['list_template']