equal
deleted
inserted
replaced
17 """Helpers functions for displaying views. |
17 """Helpers functions for displaying views. |
18 """ |
18 """ |
19 |
19 |
20 __authors__ = [ |
20 __authors__ = [ |
21 '"Sverre Rabbelier" <sverre@rabbelier.nl>', |
21 '"Sverre Rabbelier" <sverre@rabbelier.nl>', |
|
22 '"Lennard de Rijk" <ljvderijk@gmail.com>', |
22 '"Pawel Solyga" <pawel.solyga@gmail.com>', |
23 '"Pawel Solyga" <pawel.solyga@gmail.com>', |
23 ] |
24 ] |
24 |
25 |
25 |
26 |
26 from django import http |
27 from django import http |
312 else: |
313 else: |
313 form = params['create_form']() |
314 form = params['create_form']() |
314 |
315 |
315 return self._constructResponse(request, entity, context, form, params) |
316 return self._constructResponse(request, entity, context, form, params) |
316 |
317 |
317 def list(self, request, page_name=None, params=None): |
318 def list(self, request, page_name=None, params=None, filter=None): |
318 """Displays the list page for the entity type. |
319 """Displays the list page for the entity type. |
319 |
320 |
320 Args: |
321 Args: |
321 request: the standard Django HTTP request object |
322 request: the standard Django HTTP request object |
322 page_name: the page name displayed in templates as page and header title |
323 page_name: the page name displayed in templates as page and header title |
323 params: a dict with params for this View |
324 params: a dict with params for this View |
|
325 filter: a dict for the properties that the entities should have |
324 """ |
326 """ |
325 |
327 |
326 params = dicts.merge(params, self._params) |
328 params = dicts.merge(params, self._params) |
327 |
329 |
328 try: |
330 try: |
335 |
337 |
336 offset, limit = helper.lists.cleanListParameters( |
338 offset, limit = helper.lists.cleanListParameters( |
337 offset=request.GET.get('offset'), limit=request.GET.get('limit')) |
339 offset=request.GET.get('offset'), limit=request.GET.get('limit')) |
338 |
340 |
339 # Fetch one more to see if there should be a 'next' link |
341 # Fetch one more to see if there should be a 'next' link |
340 entities = self._logic.getForLimitAndOffset(limit + 1, offset=offset) |
342 if not filter: |
341 |
343 entities = self._logic.getForLimitAndOffset(limit + 1, offset=offset) |
|
344 else: |
|
345 entities = self._logic.getForFields(filter, limit=limit + 1, offset=offset) |
|
346 |
342 context['pagination_form'] = helper.lists.makePaginationForm(request, limit) |
347 context['pagination_form'] = helper.lists.makePaginationForm(request, limit) |
343 |
348 |
344 templates = params['lists_template'] |
349 templates = params['lists_template'] |
345 |
350 |
346 context = helper.lists.setList(request, context, entities, |
351 context = helper.lists.setList(request, context, entities, |