Patch/suggestions for rt1.06

Hi!

This is a patch for the web interface of RT 1.06 which adds some
features I’d like to see in RT2, too:
http://intevation.de/~tkoester/tmp/rt-1.0.6-intevation1.patch

  • guest access
    We need a guest user who isn’t allowed to change his settings in
    the admin interface.
    → quickly done in rt-1.0.6/lib/rt/ui/web/admin.pm

  • internal http authentication with ability to logout
    Enabled with $web_auth_mechanism = “internal”; in etc/config.pm.
    If someone uses webrt or admin-webrt without any http authentication
    he will be the guest user by default.
    The page footer contains a link to “$ScriptURL?logout=$current_user”,
    which is used to re-login as a different user, so the CGIs send a
    401 Unauthorized/WWW-Authenticate http header if the http user is
    equal to the current RT user.
    It’s difficult to make browsers forget their saved password, e.g.
    Netscape sometimes clears this and sometimes not, depending whether
    the user presses ‘Ok’ or ‘Cancel’ in the user/password window.
    Therefore you have to provide a valid 401 page which warns the user
    about this if he is still authenticated.
    → done in rt-1.0.6/lib/rt/ui/web/support.pm

  • prefer selected queue
    The ‘Create request’ button should default to the currently
    selected queue (queue filter, transaction history or create request
    form) or a queue where you have display access.
    → done in rt-1.0.6/lib/rt/ui/web/forms.pm

and now the small things:

  • Navigation between queues list and admin interface
    This one depends on the names of the two CGI scripts
    (webrt and admin-webrt without .cgi in our case)
    → done in rt-1.0.6/lib/rt/ui/web/support.pm

  • Queues table
    make subjects clickable - because you read these before clicking
    → done in rt-1.0.6/lib/rt/ui/web/manipulate.pm

  • textareas

fields should be really empty if they are empty ... this is the only case where newlines count in HTML:

→ done in rt-1.0.6/lib/rt/ui/web/forms.pm

You can test all this on http://intevation.de/rt/webrt in the queue
‘test’. The user ‘test’ with password ‘test’ is allowed to
manipulate requests there.
Please don’t flood the other queues with test reports :slight_smile:

Thomas Koester

Email: tkoester@intevation.de
http://intevation.de/~tkoester/