X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Felements%2Fchange_history_common.html;h=f22e093605fd02fa45d8f422b2ca936d5c44f4dd;hp=9fc85aa53fac074f16a0c3c4bc7c375a09b15052;hb=b71b1576c68bc40ad26592b354feace37a029f0e;hpb=81bad22dc70a9277331d2d15ff25810f615c4a92 diff --git a/httemplate/elements/change_history_common.html b/httemplate/elements/change_history_common.html index 9fc85aa53..f22e09360 100644 --- a/httemplate/elements/change_history_common.html +++ b/httemplate/elements/change_history_common.html @@ -3,6 +3,7 @@ % my $bgcolor2 = '#ffffff'; % my $bgcolor = ''; + User Date @@ -14,11 +15,12 @@ Action Description + % foreach my $item ( @history ) { % my $history_other = ''; % my $act = $item->history_action; -% if ( $act =~ /^replace/ ) { +% if ( $act =~ /^replace/ && $item->table ne 'legacy_cust_history' ) { % my $pkey = $item->primary_key; % my $date = $item->history_date; % $history_other = qsearchs({ @@ -42,20 +44,67 @@ % } else { % $bgcolor = $bgcolor1; % } +% +% ## Create Description and check to see it is not empty, no need to display a record with no description, so skip it. +% my $description = ''; +% if ( $item->table eq 'legacy_cust_history' ) { +% $description = $item->description; +% } elsif ( $item->table eq 'h_cust_tag' ) { +% $description = &{ $h_table_descripsub{$item->table} }( $item, $tables{'cust_tag'} ) +% if $single_cust && $h_table_descripsub{$item->table}; +% } else { +% my @fields = $item->fields; +% push @fields, 'message_dest' if $item->table eq 'h_contact'; +% $description = join(', ', +% map { my $value = ( $_ =~ /(^pay(info|cvv)|^ss|_password)$/ ) +% ? 'N/A' +% : $item->get($_); +% $value = time2str($cust_pkg_date_format, $value) +% if $item->table eq 'h_cust_pkg' +% && $cust_pkg_date_fields{$_} +% && $value; +% +% $value = substr($value, 0, 77).'...' if length($value) > 80; +% $value = encode_entities($value); +% "$_:$value"; +% } +% grep { $history_other +% ? ( $item->get($_) ne $history_other->get($_) ) +% : ( $item->get($_) =~ /\S/ ) +% } +% grep { ! /^(history|custnum$)/i } +% @fields +% ); +% if ( $single_cust && $h_table_descripsub{$item->table} ) { +% $description = &{ $h_table_descripsub{$item->table} }( $item ); +% } +% } #else +% if (!$description) { next; } + -% my $otaker = $item->history_user; +% my $otaker = ''; +% if ( $item->history_usernum ) { +% $access_user{ $item->history_usernum } ||= +% FS::access_user->by_key( $item->history_usernum ); +% $otaker = $access_user{ $item->history_usernum }->username +% if $access_user{ $item->history_usernum }; +% } +% $otaker ||= $item->history_user; % $otaker = 'auto billing' if $otaker eq 'fs_daily'; % $otaker = 'customer self-service' if $otaker eq 'fs_selfservice'; % $otaker = 'job queue' if $otaker eq 'fs_queue'; +% $otaker = 'system bootstrap user' if $otaker eq 'fs_bootstrap'; <% $otaker %> + % my $d = time2str('%b %o, %Y', $item->history_date ); % $d =~ s/ / /g; <% $d %> + % my $t = time2str('%r', $item->history_date ); % $t =~ s/ / /g; @@ -72,44 +121,26 @@ % my $label = ''; -% $label = $item->table; -% $label =~ s/^h_//; -% $label = $tables{$label}; -% if ( $single_cust ) { -% $label = &{ $h_table_labelsub{$item->table} }( $item, $label ) -% if $h_table_labelsub{$item->table}; -% } +% if ( $item->table eq 'legacy_cust_history' ) { +% $label = $item->item; +% } else { +% $label = $item->table; +% $label =~ s/^h_//; +% $label = $tables{$label}; +% $label = &{ $h_table_labelsub{$item->table} }( $item, $label ) +% if $single_cust && $h_table_labelsub{$item->table}; +% } <% $label %> + - <% $action{$item->history_action} %> + <% $action{$item->history_action} || ucfirst($item->history_action) |h %> + - <% join(', ', - map { my $value = ( $_ =~ /(^pay(info|cvv)|^ss|_password)$/ ) - ? 'N/A' - : $item->get($_); - $value = time2str($cust_pkg_date_format, $value) - if $item->table eq 'h_cust_pkg' - && $cust_pkg_date_fields{$_} - && $value; - - $value = substr($value, 0, 77).'...' if length($value) > 80; - $value = encode_entities($value); - "$_:$value"; - } - grep { $history_other - ? ( $item->get($_) ne $history_other->get($_) ) - : ( $item->get($_) =~ /\S/ ) - } - grep { ! /^(history|custnum$)/i } - $item->fields - ) - %> -% if ( $single_cust && $h_table_descripsub{$item->table} ) { - <% &{ $h_table_descripsub{$item->table} }( $item ) %> -% } + <% $description %> + % } @@ -128,8 +159,8 @@ die "access deined" my %action = ( 'insert' => 'Insert', #'Create', - 'replace_old' => 'Change from', - 'replace_new' => 'Change to', + 'replace_old' => "Change\xA0from", + 'replace_new' => "Change\xA0to", 'delete' => 'Remove', ); @@ -175,6 +206,18 @@ my $svc_labelsub = sub { $label. ': '. encode_entities($item->label($item->history_date)). ''; }; +my $tag_labelsub = sub { + my($item, $label) = @_; + my $part_tag = qsearchs('part_tag',{ tagnum => $item->tagnum }); + $label. ': '. encode_entities($part_tag->tagname). ''; +}; + +my $contact_labelsub = sub { + my($item, $label) = @_; + my $contact = qsearchs('h_contact',{ contactnum => $item->contactnum }); + $label. ': '. encode_entities($contact->first). ' ' . encode_entities($contact->last) . ''; +}; + my %h_table_labelsub = ( 'h_cust_pkg' => $pkg_labelsub, 'h_svc_acct' => $svc_labelsub, @@ -186,12 +229,24 @@ my %h_table_labelsub = ( 'h_svc_external' => $svc_labelsub, 'h_svc_phone' => $svc_labelsub, #'h_phone_device' + #'h_cust_tag' => $tag_labelsub, + 'h_contact' => $contact_labelsub, + 'h_cust_contact' => $contact_labelsub, ); +my $tag_descripsub = sub { + my($item, $label) = @_; + my $part_tag = qsearchs('part_tag',{ tagnum => $item->tagnum }); + ''. encode_entities($part_tag->tagname). ''; +}; + my $discounts = {}; my $discount_descripsub = sub { my($item) = @_; - $pkgpart{$item->pkgpart} ||= $item->part_pkg->pkg; + $pkgpart{$item->pkgpart} ||= qsearchs({ + 'table' => 'part_pkg', + 'hashref' => {'pkgpart' => $item->pkgpart} + })->pkg; my $dnum = $item->discountnum; $discounts->{$dnum} ||= qsearchs({ 'table'=>'discount', @@ -204,6 +259,7 @@ my $discount_descripsub = sub { my %h_table_descripsub = ( 'h_cust_pkg_discount' => $discount_descripsub, + 'h_cust_tag' => $tag_descripsub, ); my $cust_pkg_date_format = '%b %o, %Y'; @@ -218,4 +274,6 @@ if ( $curuser->option('history_order') eq 'newest' ) { @history = reverse @history; } +my %access_user = (); #cache +