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:

    *   Search CPAN

        <http://search.cpan.org/dist/RT-Extension-MandatoryFields/>

    *   RT: CPAN's request tracker

        <http://rt.cpan.org/NoAuth/Bugs.html?Dist=RT-Extension-MandatoryFiel
        ds>

    *   AnnoCPAN: Annotated CPAN documentation

        <http://annocpan.org/dist/RT-Extension-MandatoryFields>

    *   CPAN Ratings

        <http://cpanratings.perl.org/d/RT-Extension-MandatoryFields>

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

