RT# 71289 - now shows contact email and phone changes while attached to customer
authorChristopher Burger <burgerc@freeside.biz>
Fri, 30 Nov 2018 20:42:53 +0000 (15:42 -0500)
committerChristopher Burger <burgerc@freeside.biz>
Mon, 3 Dec 2018 14:41:00 +0000 (09:41 -0500)
Conflicts:
httemplate/elements/change_history_common.html
httemplate/view/cust_main/change_history.html

httemplate/elements/change_history_common.html
httemplate/view/cust_main/change_history.html

index a526493..673068a 100644 (file)
@@ -227,6 +227,8 @@ my %h_table_labelsub = (
   #'h_phone_device'
   #'h_cust_tag'      => $tag_labelsub,
   'h_contact'  => $contact_labelsub,
+  'h_contact_phone' => $contact_labelsub,
+  'h_contact_email' => $contact_labelsub,
 );
 
 my $tag_descripsub = sub {
@@ -235,6 +237,24 @@ my $tag_descripsub = sub {
   '<SPAN STYLE="background-color: #'.$part_tag->tagcolor.'">'. encode_entities($part_tag->tagname). '</SPAN>';
 };
 
+my $contact_descripsub = sub {
+  my($item, $label) = @_;
+  my $phone_type = qsearchs('phone_type',{ phonetypenum => $item->phonetypenum });
+  my @fields = $item->fields;
+  join(', ',
+    map  {
+           my $value = ( $_ eq "phonetypenum" )
+              ? $item->get($_).' ('.$phone_type->typename.')'
+              : $item->get($_);
+           $value = substr($value, 0, 77).'...' if length($value) > 80;
+           $value = encode_entities($value);
+           "<I>$_</I>:<B>$value</B>";
+         }
+         grep { ! /^(history|custnum$)/i }
+            @fields
+  );
+};
+
 my $discounts = {};
 my $discount_descripsub = sub {
   my($item) = @_;
@@ -255,6 +275,7 @@ my $discount_descripsub = sub {
 my %h_table_descripsub = (
   'h_cust_pkg_discount' => $discount_descripsub,
   'h_cust_tag'          => $tag_descripsub,
+  'h_contact_phone'     => $contact_descripsub,
 );
 
 my $cust_pkg_date_format = '%b %o, %Y';
index 52edca4..7e0b8df 100644 (file)
@@ -48,10 +48,13 @@ tie my %tables, 'Tie::IxHash',
   #? it gets provisioned anyway 'phone_avail'         => 'Phone',
   'cust_tag'          => 'Tag',
   'contact'           => 'Contact',
+  'contact_phone'     => 'Contact',
+  'contact_email'     => 'Contact',
 ;
 
 my $pkg_join = "JOIN cust_pkg USING ( pkgnum )";
 my $svc_join = "JOIN cust_svc USING ( svcnum ) $pkg_join";
+my $contact_join = "JOIN contact using (contactnum )";
 
 my @svc_tables = qw(
   svc_acct
@@ -68,6 +71,8 @@ my %table_join = (
   'radius_usergroup' => $svc_join,
   'phone_device'     => $svc_join,
   'cust_pkg_discount'=> $pkg_join,
+  'contact_phone'    => $contact_join,
+  'contact_email'    => $contact_join,
 );
 
 %table_join = (%table_join, map { $_ => $svc_join } @svc_tables);