コード例 #1
0
ファイル: imp.py プロジェクト: cstroie/tranpy
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)
        )