From: mark Date: Wed, 27 Oct 2010 19:27:59 +0000 (+0000) Subject: cust_pkg fields in ticket export templates, RT#9936 X-Git-Tag: TORRUS_1_0_9~182 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=794e709ef65adb15d75a02ca9fd53d2a2caa5f8b cust_pkg fields in ticket export templates, RT#9936 --- 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',