From 794e709ef65adb15d75a02ca9fd53d2a2caa5f8b Mon Sep 17 00:00:00 2001 From: mark Date: Wed, 27 Oct 2010 19:27:59 +0000 Subject: [PATCH] cust_pkg fields in ticket export templates, RT#9936 --- FS/FS/msg_template.pm | 17 +++++++++++++++-- httemplate/edit/msg_template.html | 4 ++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/FS/FS/msg_template.pm b/FS/FS/msg_template.pm index 5582d0f3e..270eb1f72 100644 --- a/FS/FS/msg_template.pm +++ b/FS/FS/msg_template.pm @@ -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 diff --git a/httemplate/edit/msg_template.html b/httemplate/edit/msg_template.html index f1cbc5550..be917d68d 100644 --- a/httemplate/edit/msg_template.html +++ b/httemplate/edit/msg_template.html @@ -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', -- 2.11.0