[freeside-commits] branch FREESIDE_4_BRANCH updated. 7a24befdb65751f552247abf42df94276bcfa12f

Christopher Burger burgerc at freeside.biz
Sun Dec 2 10:37:18 PST 2018


The branch, FREESIDE_4_BRANCH has been updated
       via  7a24befdb65751f552247abf42df94276bcfa12f (commit)
       via  c955fc16406c0666bcfb6f3a5c27a2922bd9ec31 (commit)
      from  a89510408116054d258baa026d9c2a4048644e4c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7a24befdb65751f552247abf42df94276bcfa12f
Merge: c955fc164 a89510408
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Sun Dec 2 13:27:55 2018 -0500

    Merge branch 'FREESIDE_4_BRANCH' of ssh://git.freeside.biz/home/git/freeside into FREESIDE_4_BRANCH


commit c955fc16406c0666bcfb6f3a5c27a2922bd9ec31
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Fri Nov 30 15:42:53 2018 -0500

    RT# 71289 - now shows contact email and phone changes while attached to customer

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 {
   '<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) = @_;
@@ -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 {

-----------------------------------------------------------------------

Summary of changes:
 httemplate/elements/change_history_common.html | 21 +++++++++++++++++++++
 httemplate/view/cust_main/change_history.html  | 26 ++++++++------------------
 2 files changed, 29 insertions(+), 18 deletions(-)




More information about the freeside-commits mailing list