X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FTicket%2FElements%2FBookmark;h=bede3326c070162f6ccfcae6d702f554b2f90a21;hp=d857d380f4ba7a71b8b56ab6a48c4d0f0c61a680;hb=187086c479a09629b7d180eec513fb7657f4e291;hpb=63a268637b2d51a8766412617724b9436439deb6 diff --git a/rt/share/html/Ticket/Elements/Bookmark b/rt/share/html/Ticket/Elements/Bookmark index d857d380f..bede3326c 100644 --- a/rt/share/html/Ticket/Elements/Bookmark +++ b/rt/share/html/Ticket/Elements/Bookmark @@ -1,40 +1,40 @@ %# BEGIN BPS TAGGED BLOCK {{{ -%# +%# %# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC -%# -%# +%# +%# This software is Copyright (c) 1996-2018 Best Practical Solutions, LLC +%# +%# %# (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 @@ -43,51 +43,31 @@ %# 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> -my $bookmarks = $session{'CurrentUser'}->UserObj->FirstAttribute('Bookmarks'); -$bookmarks = $bookmarks->Content if $bookmarks; -$bookmarks ||= {}; +my $ticket = RT::Ticket->new( $session{'CurrentUser'} ); +$ticket->Load( $id ); -my $bookmarked = $bookmarks->{ $id }; # we still not sure if it's undef - -my @ids; -if ( $Toggle || !$bookmarked ) { - my $ticket = RT::Ticket->new( $session{'CurrentUser'} ); - $ticket->Load( $id ); - return unless $id = $ticket->id; - - @ids = ($id, $ticket->Merged); +my $is_bookmarked; +if ($Toggle) { + $is_bookmarked = $session{'CurrentUser'}->UserObj->ToggleBookmark($ticket); } - -if ( $Toggle ) { - if ( grep $bookmarks->{ $_ }, @ids ) { - delete $bookmarks->{ $_ } foreach @ids; - $bookmarked = 0; - } else { - $bookmarks->{ $id } = 1; - $bookmarked = 1; - } - $session{'CurrentUser'}->UserObj->SetAttribute( - Name => 'Bookmarks', - Content => $bookmarks, - ); -} elsif ( !$bookmarked ) { - $bookmarked = grep $bookmarks->{ $_ }, @ids; +else { + $is_bookmarked = $session{'CurrentUser'}->UserObj->HasBookmark($ticket); } <%ARGS> $id $Toggle => 0 - + % my $url = RT->Config->Get('WebPath') ."/Helpers/Toggle/TicketBookmark?id=". $id; - -% if ( $bookmarked ) { -<% loc('Remove Bookmark') %> + +% if ( $is_bookmarked ) { +<% loc('Remove Bookmark') %> % } else { -<% loc('Add Bookmark') %> +<% loc('Add Bookmark') %> % }