Roundup Tracker - Issues

Issue 2551236

classification
Handle empty states in index view
Type: rfe Severity: minor
Components: Web interface Versions:
process
Status: new
:
: : rouilj
Priority: normal :

Created on 2022-11-01 01:47 by rouilj, last changed 2024-05-26 04:08 by rouilj.

Messages
msg7655 Author: [hidden] (rouilj) Date: 2022-11-01 01:47
It is possible for the index page for issues to return no data. Causes:

  * there are no issues
  * user has no access to issues that match search params
  * search params don't match anything

Currently an empty table consisting of just a header row with no additional copy
is produced. It would be nice to have this empty state handled better.

See https://pencilandpaper.io/articles/empty-states specifically:
https://pencilandpaper.io/articles/empty-states#no-search-results-pattern

for example if there are no issues, Welcome the user to Roundup and provide a link
to create an issue (and teach them that they can use the new issue link).

If there is at least one issue and the user is not logged in, add note that
the user may need to log in to have the search work.

Alternatively tell the user that no issues (or other class) matched the search. Maybe
recap what the search terms were and provide a link to edit the search.

This probably needs a new template function "HandleEmptyState" as it would be done in
a template, but we can reuse the template function in jinja and TAL and easily plug it
into the index pages for the various tracker templates.
msg8066 Author: [hidden] (rouilj) Date: 2024-05-26 04:08
I added this to one of my trackers:

<tal:block tal:condition="python:context.is_view_ok and not request.batch()">
  <p>Search did not find any results.</p>
    <ul>
      <li tal:condition="python:'@search_text' in request.form">check the spell\
ing of your search terms,</li>
      <li><a tal:attributes="href python:request.indexargs_url('issue',
                        {'@template':'search',
                        '@queryname': request.dispname or None,
                        '@old-queryname': request.dispname or None})">
          review all your search options</a>, or</li>
      <li><a href="issue?@template=item">add a new issue</a></li>
    </ul>

</tal:block>

just below the /table tag for the results table in the index page.
If a full text search is done it says to check the spelling (which will show
up in the page.html icing search box). It also provides a link to edit the
current search by displaying it in the search template. Last it provides a link
to create an issue.
History
Date User Action Args
2024-05-26 04:08:13rouiljsetmessages: + msg8066
2022-11-01 01:47:09rouiljcreate