Skip to content

Commit

Permalink
Add /SelfService/Views/Component to make SelfService dashboard work
Browse files Browse the repository at this point in the history
  • Loading branch information
sunnavy committed Jan 21, 2025
1 parent 42aa161 commit 8df0475
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 4 deletions.
2 changes: 1 addition & 1 deletion lib/RT/Interface/Web.pm
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ sub HandleRequest {
$HTML::Mason::Commands::m->callback( %$ARGS, CallbackName => 'Final', CallbackPage => '/autohandler' );

# Don't show the footer for htmx components
if ( $HTML::Mason::Commands::m->request_path !~ /^\/Views/ ) {
if ( $HTML::Mason::Commands::m->request_path !~ /^(?:\/SelfService)?\/Views/ ) {
$HTML::Mason::Commands::m->comp( '/Elements/Footer', %$ARGS );
}
}
Expand Down
2 changes: 1 addition & 1 deletion share/html/Elements/ShowSearch
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
icons_ref => \@icon_links,
hideable => $hideable,
class => 'fullwidth',
htmx_get => RT->Config->Get('WebPath') . '/Views/Component/SavedSearch?SavedSearch=' . $SavedSearch . $htmx_query_args,
htmx_get => RT->Config->Get('WebPath') . ( $session{CurrentUser}->Privileged ? '' : '/SelfService' ) . '/Views/Component/SavedSearch?SavedSearch=' . $SavedSearch . $htmx_query_args,
htmx_load => $HTMXLoad &>
<& $query_display_component, hideable => $hideable, %$ProcessedSearchArg, ShowNavigation => 0, Class => $class, HasResults => $HasResults, PreferOrderBy => 1 &>
% if ( $refresh_seconds ) {
Expand Down
51 changes: 51 additions & 0 deletions share/html/SelfService/Views/Component/dhandler
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
%# BEGIN BPS TAGGED BLOCK {{{
%#
%# COPYRIGHT:
%#
%# This software is Copyright (c) 1996-2025 Best Practical Solutions, LLC
%# <[email protected]>
%#
%# (Except where explicitly superseded by other copyright notices)
%#
%#
%# LICENSE:
%#
%# This work is made available to you under the terms of Version 2 of
%# the GNU General Public License. A copy of that license should have
%# been provided with this software, but in any event can be snarfed
%# from www.gnu.org.
%#
%# This work is distributed in the hope that it will be useful, but
%# WITHOUT ANY WARRANTY; without even the implied warranty of
%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%# General Public License for more details.
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
%# 02110-1301 or visit their web page on the internet at
%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
%#
%# (The following paragraph is not intended to limit the rights granted
%# to you to modify and distribute this software under the terms of
%# the GNU General Public License and is only of importance to you if
%# you choose to contribute your changes and enhancements to the
%# community by submitting them to Best Practical Solutions, LLC.)
%#
%# By intentionally submitting any modifications, corrections or
%# derivatives to this work, or any other work intended for use with
%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
%# you are the copyright holder for those contributions and you grant
%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
%# royalty-free, perpetual, license to use, copy, create derivative
%# works based on those contributions, and sublicense and distribute
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}

<%INIT>
$m->comp("/Views/Component/dhandler", %ARGS);
</%INIT>
4 changes: 2 additions & 2 deletions share/html/Widgets/TitleBox
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ $htmx_get => undef
my $content;

# If htmx_load is set to 0 explicitly, render with titlebox even for /Views/
if ( $m->request_path =~ /^\/Views/ && $m->request_path !~ m{/Widgets/} && ( $htmx_load // 1 ) ) {
if ( $m->request_path =~ /^(?:\/SelfService)?\/Views/ && $m->request_path !~ m{(?:\/SelfService)?/Widgets/} && ( $htmx_load // 1 ) ) {

# HTMX load, send content with no titlebox
$m->out( $m->content );
Expand All @@ -100,7 +100,7 @@ if ( $m->request_path =~ /^\/Views/ && $m->request_path !~ m{/Widgets/} && ( $ht
elsif ( my $name = $m->notes('HTMXLoadComponent') ) {
# Request for a mason component
$htmx_load //= 1;
$htmx_get = RT->Config->Get('WebPath') . '/Views/Component/' . $name . '?From=' . RT->Config->Get('WebPath') . $m->request_path;
$htmx_get = RT->Config->Get('WebPath') . ( $session{CurrentUser}->Privileged ? '' : '/SelfService' ) . '/Views/Component/' . $name . '?From=' . RT->Config->Get('WebPath') . $m->request_path;
}

$content = $m->content unless $htmx_load && RT::Interface::Web->ModernClient();
Expand Down

0 comments on commit 8df0475

Please sign in to comment.