From 9bf940754c8cfc9404a49965ea3e4e8f0d4cd646 Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Fri, 30 Nov 2018 15:42:53 -0500 Subject: [PATCH] RT# 71289 - now shows contact email and phone changes while attached to customer --- httemplate/elements/change_history_common.html | 21 +++++++++++++++++++++ httemplate/view/cust_main/change_history.html | 26 ++++++++------------------ 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/httemplate/elements/change_history_common.html b/httemplate/elements/change_history_common.html index f22e09360..d73405343 100644 --- a/httemplate/elements/change_history_common.html +++ b/httemplate/elements/change_history_common.html @@ -232,6 +232,8 @@ my %h_table_labelsub = ( #'h_cust_tag' => $tag_labelsub, 'h_contact' => $contact_labelsub, 'h_cust_contact' => $contact_labelsub, + 'h_contact_phone' => $contact_labelsub, + 'h_contact_email' => $contact_labelsub, ); my $tag_descripsub = sub { @@ -240,6 +242,24 @@ my $tag_descripsub = sub { ''. encode_entities($part_tag->tagname). ''; }; +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); + "$_:$value"; + } + grep { ! /^(history|custnum$)/i } + @fields + ); +}; + my $discounts = {}; my $discount_descripsub = sub { my($item) = @_; @@ -260,6 +280,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'; diff --git a/httemplate/view/cust_main/change_history.html b/httemplate/view/cust_main/change_history.html index 11777b54c..933d66c8a 100644 --- a/httemplate/view/cust_main/change_history.html +++ b/httemplate/view/cust_main/change_history.html @@ -50,6 +50,8 @@ tie my %tables, 'Tie::IxHash', 'cust_tag' => 'Tag', 'contact' => 'Contact', 'cust_contact' => 'Contact', + 'contact_phone' => 'Contact', + 'contact_email' => 'Contact', ; my $pkg_join = "JOIN cust_pkg USING ( pkgnum )"; @@ -147,8 +149,7 @@ my $extra_sql = ' AND custnum = '. $cust_main->custnum; my %foundsvcs; foreach my $table ( keys %tables ) { - if ($table eq 'cust_contact') { next; } #skip as dont need to search table but hack to show contact name - elsif ($table eq 'contact') { + if ($tables{$table} eq 'Contact') { my $contact_addl_from = " INNER JOIN (select contactnum, min(history_date) as min_history_date, max(history_date) as max_history_date, max(historynum) as max_historynum FROM h_cust_contact WHERE custnum = ".$cust_main->custnum." AND history_date >= $newer_than GROUP BY contactnum) a ON h_cust_contact.contactnum = a.contactnum @@ -168,25 +169,14 @@ foreach my $table ( keys %tables ) { ## get history of contact while attached to customer my @contact_history = qsearch({ - 'table' => "h_contact", + 'table' => "h_$table", 'hashref' => { - 'history_date' => { op=>'>=', value=>$c->{Hash}->{min_history_date} }, + 'history_date' => { op=>'>=', value=>($c->{Hash}->{min_history_date} - 1) }, 'contactnum' => $c->{Hash}->{contactnum}, - }, - 'extra_sql' => $max_date_sql, + }, + 'extra_sql' => $max_date_sql, }); - - ## get history of customer specific changes to contact. - my @cust_contact_history = qsearch({ - 'table' => "h_cust_contact", - 'hashref' => { - 'history_date' => { op=>'>=', value=>$c->{Hash}->{min_history_date} }, - 'contactnum' => $c->{Hash}->{contactnum}, - 'custnum' => $cust_main->custnum, - }, - }); - - push @history, @contact_history; push @history, @cust_contact_history; + push @history, @contact_history; } } else { -- 2.11.0