I was looking at custom field validation; and mandatory fields in
particular. So far my findings were thus:
- If you enter a ticket as a privileged user, you must enter a
custom field that is set up as mandatory.
- If you log in as an unprivileged user, mandatory fields don’t
work. To get around this, I created CGI scripts for our users to use.
The users fill in the mandatory fields and using the RT custom field
extraction module, the desired custom fields are populated via e-mail.
- If a ticket is e-mailed to Request Tracker directly, without
using the CGI script, a ticket is created and no custom fields are
Yes, the above are obvious conclusions and common knowledge. However, in
regards to the third item above, if a person works on the ticket and
does not set any of the custom fields using the Basics or Jumbo menu
selection, Request Tracker does not force the user to select a value for
a custom field which was designated as mandatory. They can select and
edit custom fields, and update the page, but if they do not set the
mandatory custom field, RT just ignores that a field is mandatory and
allows the ticket to be updated. However, if a person does set a
mandatory field and tries to set it back to “(none)” in a pick list or
delete the contents of the field, then RT forces the person to enter a
value in the field; again using the Basic or Jumbo menu selection.
There is an element file called in Tickets/Elements called
ValidateCustomFields, but this code is only active for Craete.html.
/opt/rt3/lib/RT/CustomField_Overlay.pm handles processing for
Modify.html and ModifyAll.html in Tickets, yet it only seems to work for
the DeleteValueForObject subroutine, but not for AddValueForObject
subroutine in the above context.
This looks like either a bug in the software, or something that was
missed when RT 3.6.x was developed. One would think that if a person is
given a screen which has mandatory fields to be filled in, that RT would
force the person to enter values that need to be entered.
Has anyone come up with a work around for this?
Also, how hard is it to make it sot when one works on a ticket, that the
Owner field must be changed from “Nobody” to an actual RT user? This is
something my management desires.
Anyway ideas would be most welcome.
Consulting System Administrator
DigitalGlobe (r), An Imaging and Information Company