Can we get a Home page/Dashboard link in the floating menu bar?

It would be handy to have a link in the floating menu bar in RT that would go back to the user’s homepage/dashboard, as shown in the screenshot. It would just be quicker than having to scroll back up to the top of the page in order to click on the “Home” link. (Please enjoy my ransom-note-style, sketchy-mouse-control handwriting included in the screenshot.)

1 Like

You could use the Privileged callback to achieve this, create the file:

local/html/callbacks/AnyNameYouWant/Elements/Tabs/Privileged

Then as content:

<%init>
PageMenu()->child( MyLinkHome => title => loc('Ransom Note!'), path => '/' );
</%init>
2 Likes

Thanks!

I tried that and rebooted the server, but it did not work. I’m on 4.4.3.

I created the file:

/opt/rt4/local/html/callbacks/FloatingMenuHomeLink/Elements/Tabs/Privileged

And then pasted in this content to the that file and saved it:

<%init>
PageMenu()->child( MyLinkHome => title => loc('Home'), path => '/' );
</%init>

After I rebooted, nothing changed in RT and I verified that the path to Privileged and the Privileged file existed with that content above. Is there something else I need to do?

My mistake ‘callbacks’->‘Callbacks’, also you will want to delete your mason cache.

Thanks, that worked!

Can I also be picky and ask how to get that Home link to show up as the first link in the floating menu (that is, farthest left position)? :slight_smile: Because it is near the right hand side, as shown below.

<%init>
PageMenu()->child("display")->add_before(MyHomeLink => title => loc('Ransom Note!'), path => '/' );
</%init>
1 Like

Adding in a +1 request. It would be great to get the whole “Home” menu to float just like the “right hand side” menu floats:

1 Like

This should be enough to everyone going :wink:

<%init>
return unless $m->request_path =~ m{^/Ticket/};
my $home = PageMenu()->child("display")->add_before(MyHomeLink => title => loc('Home'), path => '/' );
$home->child( edit => title => loc('Update This Menu'), path => 'Prefs/DashboardsInMenu.html' );
$home->child( more => title => loc('All Dashboards'),   path => 'Dashboards/index.html' );

my $dashboard = RT::Dashboard->new( $session{CurrentUser} );
if ( $dashboard->CurrentUserCanCreateAny ) {
    $home->child('dashboard_create' => title => loc('New Dashboard'), path => "/Dashboards/Modify.html?Create=1" );
}
</%init>

Craig, this did not work and gave me an “internal error” message when I tried to access the RT webpage. Will try again later and report the exact error message.