#3384 Add package name range after page numbers
Opened 2 years ago by ralacroix. Modified 2 years ago
ralacroix/koji indexed_pages  into  master

file modified
+2 -2
@@ -54,7 +54,7 @@ 

            Page:

            <select onchange="javascript: window.location = 'packages?start=' + this.value * $packageRange + '$util.passthrough($self, 'userID', 'tagID', 'order', 'prefix', 'inherited', 'blocked')';">

              #for $pageNum in $packagePages

-             <option value="$pageNum"#if $pageNum == $packageCurrentPage then ' selected="selected"' else ''#>#echo $pageNum + 1#</option>

+             <option value="$pageNum"#if $pageNum == $packageCurrentPage then ' selected="selected"' else ''#>#echo $pageNum + 1#  #echo $util.escapeHTML($packages[$pageNum * $packageRange].package_name[:3])# - #if $pageNum == $len($packagePages) - 1 then $util.escapeHTML($packages[-1].package_name[:3]) else $util.escapeHTML($packages[($pageNum + 1) * $packageRange - 1].package_name[:3])#</option>

              #end for

            </select>

          </form>
@@ -103,7 +103,7 @@ 

            Page:

            <select onchange="javascript: window.location = 'packages?start=' + this.value * $packageRange + '$util.passthrough($self, 'userID', 'tagID', 'order', 'prefix', 'inherited', 'blocked')';">

              #for $pageNum in $packagePages

-             <option value="$pageNum"#if $pageNum == $packageCurrentPage then ' selected="selected"' else ''#>#echo $pageNum + 1#</option>

+             <option value="$pageNum"#if $pageNum == $packageCurrentPage then ' selected="selected"' else ''#>#echo $pageNum + 1#  #echo $util.escapeHTML($packages[$pageNum * $packageRange].package_name[:3])# - #if $pageNum == $len($packagePages) - 1 then $util.escapeHTML($packages[-1].package_name[:3]) else $util.escapeHTML($packages[($pageNum + 1) * $packageRange - 1].package_name[:3])#</option>

              #end for

            </select>

          </form>

The paginated list of packages currently shows page numbers in the two page selectors. This change transforms the page number list into a package index list, displaying the first 3 letters of the first and last packages on each page similar to what you might see in a book index. This implementation includes the page numbers as well, but you may decide to dispense with the page numbers.

It is not working if you've more than one page. packages variable is populated by paginated data so names for the rest are inaccessible

 An error has occurred while processing your request.
IndexError: list index out of range

Traceback (most recent call last):
  File "/usr/share/koji-web/scripts/wsgi_publisher.py", line 388, in handle_request
    result = func(environ, **data)
  File "/usr/share/koji-web/scripts/index.py", line 954, in packages
    return _genHTML(environ, 'packages.chtml')
  File "/usr/share/koji-web/lib/kojiweb/util.py", line 147, in _genHTML
    return tmpl_inst.respond()
  File "packages_chtml.py", line 249, in respond
IndexError: list index out of range

pretty please pagure-ci rebuild

2 years ago
Metadata