"Fossies" - the Fresh Open Source Software Archive

Member "RT-Extension-Assets-1.05/html/Elements/RT__Asset/ColumnMap" (15 Oct 2014, 4668 Bytes) of package /linux/misc/RT-Extension-Assets-1.05.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 %# BEGIN BPS TAGGED BLOCK {{{
    2 %#
    3 %# COPYRIGHT:
    4 %#
    5 %# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC
    6 %#                                          <sales@bestpractical.com>
    7 %#
    8 %# (Except where explicitly superseded by other copyright notices)
    9 %#
   10 %#
   11 %# LICENSE:
   12 %#
   13 %# This work is made available to you under the terms of Version 2 of
   14 %# the GNU General Public License. A copy of that license should have
   15 %# been provided with this software, but in any event can be snarfed
   16 %# from www.gnu.org.
   17 %#
   18 %# This work is distributed in the hope that it will be useful, but
   19 %# WITHOUT ANY WARRANTY; without even the implied warranty of
   20 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   21 %# General Public License for more details.
   22 %#
   23 %# You should have received a copy of the GNU General Public License
   24 %# along with this program; if not, write to the Free Software
   25 %# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
   26 %# 02110-1301 or visit their web page on the internet at
   27 %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
   28 %#
   29 %#
   30 %# CONTRIBUTION SUBMISSION POLICY:
   31 %#
   32 %# (The following paragraph is not intended to limit the rights granted
   33 %# to you to modify and distribute this software under the terms of
   34 %# the GNU General Public License and is only of importance to you if
   35 %# you choose to contribute your changes and enhancements to the
   36 %# community by submitting them to Best Practical Solutions, LLC.)
   37 %#
   38 %# By intentionally submitting any modifications, corrections or
   39 %# derivatives to this work, or any other work intended for use with
   40 %# Request Tracker, to Best Practical Solutions, LLC, you confirm that
   41 %# you are the copyright holder for those contributions and you grant
   42 %# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
   43 %# royalty-free, perpetual, license to use, copy, create derivative
   44 %# works based on those contributions, and sublicense and distribute
   45 %# those contributions and any derivatives thereof.
   46 %#
   47 %# END BPS TAGGED BLOCK }}}
   48 <%ARGS>
   49 $Name => undef
   50 $Attr => undef
   51 </%ARGS>
   52 <%ONCE>
   53 my $linkUsers;
   54 $linkUsers = sub {
   55     my ($what, $more) = @_;
   56     if ($what->isa("RT::Group")) {
   57         # Link the users (non-recursively)
   58         my @ret = map {$linkUsers->($_->[1], $more), ", "}
   59             sort {$a->[0] cmp $b->[0]}
   60             map {+[($_->EmailAddress||''), $_]}
   61             @{ $what->UserMembersObj( Recursively => 0 )->ItemsArrayRef };
   62 
   63         # But don't link the groups
   64         push @ret, map {+("Group: $_", ",")}
   65             sort map {$_->Name} @{ $what->GroupMembersObj( Recursively => 0)->ItemsArrayRef };
   66 
   67         pop @ret; # Remove ending ", "
   68         return @ret;
   69     } else {
   70         my @ret = \($m->scomp("/Elements/ShowUser", User => $what));
   71         push @ret, $more->($what) if $more;
   72         return @ret;
   73     }
   74 };
   75 my $COLUMN_MAP = {
   76     Name => {
   77         attribute => 'Name',
   78         title     => 'Name',
   79         value     => sub { $_[0]->Name },
   80     },
   81     Description => {
   82         attribute => 'Description',
   83         title     => 'Description',
   84         value     => sub { $_[0]->Description },
   85     },
   86     Catalog => {
   87         attribute => 'Catalog',
   88         title     => 'Catalog', # loc
   89         value     => sub { $_[0]->CatalogObj->Name },
   90     },
   91     Status => {
   92         title     => 'Status',
   93         attribute => 'Status',
   94         value     => sub { loc($_[0]->Status) }
   95     },
   96     ActiveTickets => {
   97         title     => 'Active tickets', # loc
   98         value     => sub {
   99             my $Asset = shift;
  100             my $Query = "RefersTo = 'asset:" . $Asset->id . "'";
  101             $Query .= " AND (" . join(" OR ", map { "Status = '$_'" } RT::Queue->ActiveStatusArray) . ")";
  102             my $SearchURL = RT->Config->Get('WebPath') . '/Search/Results.html?' . $m->comp('/Elements/QueryString', Query => $Query);
  103             return \'[&nbsp;<a href="',$SearchURL,\'">Active</a>&nbsp;]';
  104         }
  105     },
  106     InactiveTickets => {
  107         title     => 'Inactive tickets', # loc
  108         value     => sub {
  109             my $Asset = shift;
  110             my $Query = "RefersTo = 'asset:" . $Asset->id . "'";
  111             $Query .= " AND (" . join(" OR ", map { "Status = '$_'" } RT::Queue->InactiveStatusArray) . ")";
  112             my $SearchURL = RT->Config->Get('WebPath') . '/Search/Results.html?' . $m->comp('/Elements/QueryString', Query => $Query);
  113             return \'[&nbsp;<a href="',$SearchURL,\'">Inactive</a>&nbsp;]';
  114         }
  115     },
  116 };
  117 </%ONCE>
  118 <%init>
  119 $m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'Once', CallbackOnce => 1 );
  120 return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
  121 </%init>