NAME
    RT::Extension::QuickCalls - Quickly create tickets in specific queues
    with default values

RT VERSION
    Works with RT 4.4, 5.0

    To use the QuickCreate option RT must be newer than 4.4.1

DESCRIPTION
    This RT extension allows you to add a QuickCalls portlet to your RT
    dashboards.

    You can configure the portlet to show the same Quick Calls on every
    dashboard or customize the Quick Calls per dashboard.

    The QuickCalls portlet can also be added to the user summary page:

        Set(@UserSummaryPortlets, (qw/ExtraInfo CreateTicket ActiveTickets
            InactiveTickets UserAssets QuickCalls/));

INSTALLATION
    perl Makefile.PL
    make
    make install
        May need root permissions

    To use the QuickCreate option apply this patch for RT earlier than 5.0.6
            patch -d /opt/rt5 -p1 < patches/0001-Support-QuickCreate-to-pass-arguments-to-redirect-UR.patch

    Edit your /opt/rt4/etc/RT_SiteConfig.pm
        Add this line:

            Plugin('RT::Extension::QuickCalls');

    Clear your mason cache
            rm -rf /opt/rt4/var/mason_data/obj

    Restart your webserver

CONFIGURATION
    You will need to enable the new QuickCalls portlet with a line like this
    in your RT_SiteConfig.pm file:

        Set($HomepageComponents, [qw(QuickCreate Quicksearch MyAdminQueues MySupportQueues MyReminders
                                     RefreshHomepage QuickCalls)]);

    This is the default portlet list with QuickCalls added to the end People
    can then choose to add the portlet to their homepage in Preferences ->
    RT at a glance

  BASIC CONFIGURATION
    To set up your Quick Calls, you will want to specify a Name and a Queue
    in the config file. The Name will become the Subject of the task unless
    you specify a Subject option. You can add other Ticket options as
    needed, such as Status. Additionally, if the SetOwnerToCurrentUser
    option is set, the ticket will be owned by the current user.

    The following configuration will show the same Quick Calls on all
    dashboards:

        Set(
            $QuickCalls, [
                { Name => "Foo", Queue => 'General', Status => 'resolved' },
                { Name => "Bar", Queue => 'Queue2',  Status => 'resolved' },
            ]
        );

  CUSTOM CONFIGURATION PER DASHBOARD
    If you would like different dashboards to show different Quick Calls you
    can use a different configuration format:

        Set(
            $QuickCalls, {
                Default => {
                    Actions => [
                        { Name => "Default Foo", Queue => 'General', Status => 'resolved' },
                        { Name => "Default Bar", Queue => 'Queue2',  Status => 'resolved' }
                    ],
                },
                1 => { # use the ID of the Dashboard as the hash key
                    Title => 'Optional Title',
                    Actions => [
                        { Name => "Dashboard ID 1 Foo", Queue => 'General', Status => 'resolved' },
                        { Name => "Dashboard ID 1 Bar", Queue => 'Queue2',  Status => 'resolved' }
                    ],
                },
                ...
            }
        );

    The above configuration would show different Quick Calls when the
    portlet is loaded on the Dashboard with ID 1. If there is not a custom
    configuration for a Dashboard ID it will use the 'Default' value.

  SUBREF VALUES
    If a value is an anonymous subref, it will be called when the Quick Call
    is selected, and its return value filled in for the appropriate key:

        Set(
            $QuickCalls, [
                {
                    Queue   => 'General',
                    Name    => 'This will have the current time on the server in its content',
                    Content => sub {
                        my $date = localtime;
                        return "When: $date\n\n";
                    },
                },
            ]
        );

  QUICK CREATE
    After you have added the QuickCalls portlet to your home page, you will
    be able to select one, click Create and be brought to the ticket
    creation page with multiple fields pre-filled.

    If you would like the Quick Call to automatically create the ticket and
    stay on the dashboard you can use the QuickCreate option:

        Set(
            $QuickCalls, [
                { Name => "Foo", Queue => 'General', Status => 'resolved', QuickCreate => 1 },
                { Name => "Bar", Queue => 'Queue2',  Status => 'resolved' },
            ]
        );

AUTHOR
    Best Practical Solutions, LLC <modules@bestpractical.com>

BUGS
    All bugs should be reported via email to

        L<bug-RT-Extension-QuickCalls@rt.cpan.org|mailto:bug-RT-Extension-QuickCalls@rt.cpan.org>

    or via the web at

        L<rt.cpan.org|http://rt.cpan.org/Public/Dist/Display.html?Name=RT-Extension-QuickCalls>.

LICENSE AND COPYRIGHT
    This software is Copyright (c) 2014-2023 by Best Practical Solutions

    This is free software, licensed under:

      The GNU General Public License, Version 2, June 1991

