<%INIT>
my $request_path = $HTML::Mason::Commands::r->path_info;

my $query_string = sub {
    my %args = @_;
    my $u    = URI->new();
    $u->query_form(%args);
    return $u->query;
};


# Static menu entries
if ( $request_path =~ qr{^/Ticket/.*\.html} && $m->request_args->{'id'} &&  $m->request_args->{'id'} =~ /^\d+$/ ) {
    my $Ticket = RT::Ticket->new( $session{'CurrentUser'} );
    $Ticket->Load( $m->request_args->{'id'} );
    my $CcRight = $session{'CurrentUser'}->HasRight( Right => 'Watch', Object => $Ticket )
                  || $session{'CurrentUser'}->HasRight( Right => 'ModifyTicket', Object => $Ticket );
    my $AdminCcRight = $session{'CurrentUser'}->HasRight( Right => 'WatchAsAdminCc', Object => $Ticket )
                       || $session{'CurrentUser'}->HasRight( Right => 'ModifyTicket', Object => $Ticket );
    my $tabs = PageMenu;
    my $actions = $tabs->child( 'actions' );
    if ( $CcRight  && ! $Ticket->IsWatcher( Type => 'Cc', PrincipalId => $session{'CurrentUser'}->id ) ) {
        $actions->child(
            'followupcc' => title => loc('Follow Up as Cc'), path => '/Ticket/Display.html?id='.$Ticket->Id.'&Ticket-AddWatcher-Principal-'.$session{'CurrentUser'}->Id.'=Cc'
        );
    }
    if ( $AdminCcRight && ! $Ticket->IsWatcher( Type => 'AdminCc', PrincipalId => $session{'CurrentUser'}->id ) ) {
        $actions->child(
            'followupadmincc' => title => loc('Follow Up as AdminCc'), path => '/Ticket/Display.html?id='.$Ticket->Id.'&Ticket-AddWatcher-Principal-'.$session{'CurrentUser'}->Id.'=AdminCc'
        );
    }
}


</%INIT>
