import rt 3.8.11
[freeside.git] / rt / html / Elements / RT__Ticket / ColumnMap
index 80e3c69..ae96226 100644 (file)
@@ -2,7 +2,7 @@
 %# 
 %# COPYRIGHT:
 %#  
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC 
+%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC 
 %#                                          <jesse@bestpractical.com>
 %# 
 %# (Except where explicitly superseded by other copyright notices)
@@ -22,7 +22,9 @@
 %# 
 %# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# 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:
@@ -52,7 +54,7 @@ $Attr => undef
 <%ONCE>
 our ( $COLUMN_MAP );
 
-sub ColumnMap {
+my $ColumnMap = sub {
     my $name = shift;
     my $attr = shift;
 
@@ -67,7 +69,7 @@ sub ColumnMap {
         my $field = $1;
 
         if ( $attr eq 'attribute' ) {
-            return (undef);
+            return ("CF.{$field}");
         }
         elsif ( $attr eq 'title' ) {
             return ( $field );
@@ -77,20 +79,22 @@ sub ColumnMap {
             # For Image custom fields we also show a thumbnail here.
             return sub {
                 my $values = $_[0]->CustomFieldValues($field);
-                return map {
+                my @values =  map {
                     (
                         ($_->CustomFieldObj->Type eq 'Image')
                             ? \($m->scomp( '/Elements/ShowCustomFieldImage', Object => $_ ))
                             : $_->Content
                     ),
-                    \'<br>',
-                } @{ $values->ItemsArrayRef }
+                    \'<br />',
+                } @{ $values->ItemsArrayRef };
+            pop @values; # Remove that last <br />
+            return @values;
            };
         }
     }
-}
+};
 
-sub LinkCallback {
+my $LinkCallback = sub {
     my $method = shift;
 
     my $mode            = $RT::Ticket::LINKTYPEMAP{$method}{Mode};
@@ -101,16 +105,21 @@ sub LinkCallback {
 
     return sub {
         map {
-            \'<A HREF="',
+            \'<a href="',
             $_->$mode_uri->Resolver->HREF,
             \'">',
             ( $_->$mode_uri->IsLocal ? $_->$local_type : $_->$mode ),
-            \'</A><BR>',
+            \'</a><br />',
         } @{ $_[0]->Links($other_mode,$type)->ItemsArrayRef }
     }
-}
+};
 
 $COLUMN_MAP = {
+    Queue => {
+        attribute => 'Queue',
+        title     => 'Queue id',
+        value     => sub { return $_[0]->Queue }
+    },
     QueueName => {
         attribute => 'Queue',
         title     => 'Queue',
@@ -194,12 +203,15 @@ $COLUMN_MAP = {
         value     => sub { return $_[0]->TimeEstimated }
     },
     Requestors => {
+        attribute => 'Requestor.EmailAddress',
         value => sub { return $_[0]->Requestors->MemberEmailAddressesAsString }
     },
     Cc => {
+        attribute => 'Cc.EmailAddress',
         value => sub { return $_[0]->Cc->MemberEmailAddressesAsString }
     },
     AdminCc => {
+        attribute => 'AdminCc.EmailAddress',
         value => sub { return $_[0]->AdminCc->MemberEmailAddressesAsString }
     },
     StartsRelative => {
@@ -257,7 +269,7 @@ $COLUMN_MAP = {
         value     => sub { return $_[0]->CreatedObj->AsString }
     },
     CreatedBy => {
-        attribute => 'CreatedBy',
+        attribute => 'Creator',
         title => 'Created By',
         value     => sub { return $_[0]->CreatorObj->Name }
     },
@@ -286,16 +298,22 @@ $COLUMN_MAP = {
 
     # Everything from LINKTYPEMAP
     (map {
-        $_ => { value => LinkCallback( $_ ) }
+        $_ => { value => $LinkCallback->( $_ ) }
     } keys %RT::Ticket::LINKTYPEMAP),
 
     '_CLASS' => {
         value => sub { return $_[1] % 2 ? 'oddline' : 'evenline' }
     },
+    '_CHECKBOX' => {
+        attribute => 'checkbox',
+        title => loc('Update'),
+        align     => 'right',
+        value     => sub { return \('<input type="checkbox" class="checkbox" name="UpdateTicket'.$_[0]->id.'" value="1" checked />') }
+    },
 
 };
 </%ONCE>
 <%init>
 $m->comp( '/Elements/Callback', COLUMN_MAP    => $COLUMN_MAP, _CallbackName => 'ColumnMap');
-return ColumnMap($Name, $Attr);
+return $ColumnMap->( $Name, $Attr );
 </%init>