cust_pkg fields in ticket export templates, RT#9936
authormark <mark>
Wed, 27 Oct 2010 19:27:59 +0000 (19:27 +0000)
committermark <mark>
Wed, 27 Oct 2010 19:27:59 +0000 (19:27 +0000)
FS/FS/msg_template.pm
httemplate/edit/msg_template.html

index 5582d0f..270eb1f 100644 (file)
@@ -166,7 +166,13 @@ Customer object (required).
 =item object
 
 Additional context object (currently, can be a cust_main, cust_pkg, 
-cust_bill, svc_acct, cust_pay, or cust_pay_pending object).
+cust_bill, svc_acct, cust_pay, or cust_pay_pending).  If the object 
+is a svc_acct, its cust_pkg will be fetched and used for substitution.
+
+As a special case, this may be an arrayref of two objects.  Both 
+objects will be available for substitution, with their field names 
+prefixed with 'new_' and 'old_' respectively.  This is used in the 
+rt_ticket export when exporting "replace" events.
 
 =item to
 
@@ -193,17 +199,24 @@ sub prepare {
   my %hash;
   my @objects = ($cust_main);
   my @prefixes = ('');
+  my $svc;
   if( ref $object ) {
     if( ref($object) eq 'ARRAY' ) {
       # [new, old], for provisioning tickets
       push @objects, $object->[0], $object->[1];
       push @prefixes, 'new_', 'old_';
+      $svc = $object->[0] if $object->[0]->isa('FS::svc_Common');
     }
     else {
       push @objects, $object;
       push @prefixes, '';
+      $svc = $object if $object->isa('FS::svc_Common');
     }
   }
+  if( $svc ) {
+    push @objects, $svc->cust_svc->cust_pkg;
+    push @prefixes, '';
+  }
 
   foreach my $obj (@objects) {
     my $prefix = shift @prefixes;
@@ -355,7 +368,7 @@ sub substitutions {
     ],
     # next_bill_date
     'cust_pkg'  => [qw( 
-      pkgnum pkg_label pkg_label_long
+      pkgnum pkg pkg_label pkg_label_long
       location_label
       status statuscolor
     
index f1cbc55..be917d6 100644 (file)
@@ -80,8 +80,8 @@ my %substitutions = (
   ],
   'cust_pkg' => [
     '$pkgnum'         => 'Package#',
-    '$pkg_label'      => 'Package label (short)',
-    '$pkg_label_long' => 'Package label (long)',
+    '$pkg'            => 'Package description',
+    '$pkg_label'      => 'Description + comment',
     '$status'         => 'Status',
     '$statuscolor'    => 'Status color code',
     '$start_ymd'      => 'Start date',