def catalogfile_list(request, page = 1, template_name = 'impex/catalogfile_list.html'): """ Prepare a list of all catalog files """ # Check permissions if not request.user.has_perm('impex.upload_catalog'): return page_forbidden(request, _('You are not allowed to upload catalogs.')) # Create the catalog file list catalog_files = CatalogFile.objects.select_related() # Define the paginator try: user = request.user except AttributeError: page_size = 10 else: page_size = int(user.get_profile().page_size) paginator = Paginator(request, catalog_files, current_page = page, page_size = page_size) # The absolute url to add a new catalog file url = CatalogFile.objects.get_absolute_add_url() # If the page number is over total pages or null, go to first page if page is None: page = '1' if int(page) > paginator.pages or int(page) <= 0: return HttpResponseRedirect(paginator.path) else: return render_to_response(template_name, { 'paginator': paginator, 'object_list': paginator.get_page(), 'url_add': url, }, context_instance = RequestContext(request) )