The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

RT::Extension::MandatoryFields - Enforce users to fill standard fields when creating a ticket

DESCRIPTION

This RT Extension enforces users to fill standard fields defined in RT site configuration file when creating a ticket via the web interface.

Note: This extension does not take effect on custom fields. RT has already a built-in feature to mark custom fields as mandatory.

INSTALLATION

This extension requires RT >= 4.0.0. To install this extension, run the following commands:

    perl Makefile.PL
    make
    make test
    make install

CONFIGURATION

RT SITE CONFIGURATION

To enable this extension edit the RT site configuration located in $RT_HOME/etc/RT_SiteConfig.pm (where $RT_HOME is the path to your RT installation):

    Set(@Plugins,qw(RT::Extension::MandatoryFields));

To enforce users to fill the standard fields add them to %MandatoryFields:

    Set(%MandatoryFields, (
        'Requestors' => 'true',
        'Cc' => 'true',
        'AdminCc' => 'true',
        'Subject' => 'true',
        'Content' => 'true',
        'Attach' => 'true',
        'Status' => 'true',
        'Queue' => 'true',
        'Owner' => 'true',
        'Priority' => 'true',
        'InitialPriority' => 'true',
        'FinalPriority' => 'true',
        'TimeEstimated' => 'true',
        'TimeWorked' => 'true',
        'TimeLeft' => 'true',
        'Starts' => 'true',
        'Due' => 'true',
        'new-DependsOn' => 'true',
        'DependsOn-new' => 'true',
        'new-MemberOf' => 'true',
        'MemberOf-new' => 'true',
        'new-RefersTo' => 'true',
        'RefersTo-new' => 'true'
    ));

Mark a mandatory field with true, otherwise false.

Note: There are more than one way to create a new ticket. The default way is Create, but there are QuickCreate on the home page and SelfService for unpreviledged users, too. This extension handles them all. If a formular doesn't include one of the fields marked as mandatory (set to true in the configuration) it will be ignored. Don't get confused if you set a mandatory field that won't show up on the web interface. The table below gives you a short summarize which formular supports which mandatory field.

    Field             Create        QuickCreate     SelfService
    ----------------  ----------    --------------  --------------
    Requestors        included      included        included
    Cc                included      not included    included
    AdminCc           included      not included    not included
    Subject           included      included        included
    Content           included      included        included
    Attach            included      not included    included
    Queue             not editable  included        not editable
    Status            included      not included    not included
    Owner             included      included        not included
    Priority          included      not included    not included
    InitialPriority   included      not included    not included
    FinalPriority     included      not included    not included
    TimeEstimated     included      not included    not included
    TimeWorked        included      not included    not included
    TimeLeft          included      not included    not included
    Starts            included      not included    not included
    Due               included      not included    not included
    new-DependsOn     included      not included    not included
    (depends on)
    DependsOn-new     included      not included    not included
    (depended on by)
    new-MemberOf      included      not included    not included
    (parents)
    MemberOf-new      included      not included    not included
    (children)
    new-RefersTo      included      not included    not included
    (refers to)
    RefersTo-new      included      not included    not included
    (referred to by)

After all your new configuration will take effect after restarting your RT environment:

    rm -rf $RT_HOME/var/mason_data/obj/* && service apache2 restart

This is an example for deleting the mason cache and restarting the Apache HTTP web server on a Debian GNU/Linux based operating system.

AUTHOR

Benjamin Heisig, <bheisig@synetics.de>

SUPPORT AND DOCUMENTATION

You can find documentation for this module with the perldoc command.

    perldoc RT::Extension::MandatoryFields

You can also look for information at:

BUGS

Please report any bugs or feature requests to the author.

ACKNOWLEDGEMENTS

This extension is a fork of RT::Extension::MandatorySubject written by Emmanuel Lacour.

COPYRIGHT AND LICENSE

Copyright 2011 synetics GmbH, <http://i-doit.org/>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Request Tracker (RT) is Copyright Best Practical Solutions, LLC.

SEE ALSO

    RT
    RT::Extension::MandatorySubject