& /Elements/Header, Title => $title &> <& /Elements/Tabs &> <& /Elements/ListActions, actions => \@results &>
<%INIT> my @results; my $QueueObj = RT::Queue->new($session{'CurrentUser'}); $QueueObj->Load($id) || Abort(loc("Couldn't load queue", $id)); my $title = loc('Automatic Assignment for queue [_1]', $QueueObj->Name); my @filters = RT->Config->Get('AutomaticAssignmentFilters'); my @choosers = RT->Config->Get('AutomaticAssignmentChoosers'); if ($Update) { my @filters_config; my %chooser_config; for my $filter_prefix (split /,/, $Filters) { my @config_keys = grep { s/^\Q$filter_prefix\E_// ? $_ : () } keys %ARGS; my %filter_config = map { $_ => $ARGS{"${filter_prefix}_$_"} } @config_keys; push @filters_config, \%filter_config; } { my @config_keys = grep { s/^\Q$Chooser\E_// ? $_ : () } keys %ARGS; %chooser_config = map { $_ => $ARGS{"${Chooser}_$_"} } @config_keys; } my ($ok, $msg) = RT::Extension::AutomaticAssignment->_SetConfigForQueue( $QueueObj, \@filters_config, \%chooser_config, ); if ($ok) { push @results, 'Automatic assignment updated'; } else { push @results, $msg; } } my $attr = $QueueObj->FirstAttribute('AutomaticAssignment'); my $config = $attr ? $attr->Content : { filters => [], chooser => { _name => $choosers[0] }, }; my $scrips = RT::Extension::AutomaticAssignment->_ScripsForQueue($QueueObj); if ($scrips->Count == 0) { push @results, "No scrips for automatic assignment are applied to this queue. Please see the AutomaticAssignment documentation for setup instructions."; } %INIT> <%ARGS> $id => undef $Update => undef $Filters => undef $Chooser => undef %ARGS>