From: Ivan Kohler Date: Sun, 4 Jan 2015 02:35:01 +0000 (-0800) Subject: Merge branch 'master' of git.freeside.biz:/home/git/freeside X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=859036a7e64506106a507f12e7196efeb40733a1;hp=a7d9192c0b3b7dc5c4aa5bd889db93379dfeac3b;p=freeside.git Merge branch 'master' of git.freeside.biz:/home/git/freeside --- diff --git a/FS/FS/cdr/cx3.pm b/FS/FS/cdr/cx3.pm index a1e2e93c4..7f1222e9a 100644 --- a/FS/FS/cdr/cx3.pm +++ b/FS/FS/cdr/cx3.pm @@ -30,8 +30,10 @@ use Date::Parse; skip(1), sub { my ($cdr, $calldate, $param) = @_; - $cdr->set('calldate', $calldate); - }, #date + my $date = str2time($calldate); + $cdr->set('startdate', $date); + + }, #date skip(4), 'accountcode', # AccountCode skip(6), diff --git a/httemplate/browse/reason.html b/httemplate/browse/reason.html index 14e97bf2f..5bb6a3e0c 100644 --- a/httemplate/browse/reason.html +++ b/httemplate/browse/reason.html @@ -14,21 +14,10 @@ 'addl_from' => 'LEFT JOIN reason_type ON reason_type.typenum = reason.reason_type', }, 'count_query' => $count_query, - 'header' => [ '#', - ucfirst($classname) . ' Reason Type', - ucfirst($classname) . ' Reason', - ($class eq 'S' ? 'Unsuspension Fee' : ()), - ], - 'fields' => [ 'reasonnum', - sub { shift->reasontype->type }, - 'reason', - $unsuspend_pkg_comment, - ], - 'links' => [ $link, - $link, - '', - $unsuspend_pkg_link, - ], + 'header' => \@header, + 'fields' => \@fields, + 'links' => \@links, + 'align' => $align, ) %> <%init> @@ -53,18 +42,58 @@ my $count_query = 'SELECT COUNT(*) FROM reason LEFT JOIN reason_type on ' . my $link = [ $p."edit/reason.html?class=$class&reasonnum=", 'reasonnum' ]; -my ($unsuspend_pkg_comment, $unsuspend_pkg_link); -if ( $class eq 'S' ) { - $unsuspend_pkg_comment = sub { - my $pkgpart = shift->unsuspend_pkgpart or return ''; - my $part_pkg = FS::part_pkg->by_key($pkgpart) or return ''; - $part_pkg->pkg_comment; - }; +my @header = ( + '#', + ucfirst($classname) . ' reason type', + ucfirst($classname) . ' reason', +); + +my @fields = ( + 'reasonnum', + sub { shift->reasontype->type }, + 'reason', +); - my $unsuspend_pkg_link = sub { - my $pkgpart = shift->unsuspend_pkgpart or return ''; - [ $p."edit/part_pkg.cgi?", $pkgpart ]; - }; +my @links = ( + $link, + $link, + '', +); + +my $align = 'rll'; + +if ( $class eq 'S' ) { + push @header, + 'Credit unused service', + 'Unsuspension fee', + ; + push @fields, + sub { + my $reason = shift; + if ( $reason->unused_credit ) { + return 'YES'; + } else { + return 'NO'; + } + }, + sub { + my $reason = shift; + my $pkgpart = $reason->unsuspend_pkgpart or return ''; + my $part_pkg = FS::part_pkg->by_key($pkgpart) or return ''; + my $text = $part_pkg->pkg_comment; + my $href = $p."edit/part_pkg.cgi?$pkgpart"; + $text = qq!! . encode_entities($text) . "". + ""; + if ( $reason->unsuspend_hold ) { + $text .= ' (on next bill)' + } else { + $text .= ' (immediately)' + } + $text .= ''; + } + ; + $align .= 'cl'; } + diff --git a/httemplate/edit/process/svc_circuit.html b/httemplate/edit/process/svc_circuit.html index d28f91329..27f43db38 100644 --- a/httemplate/edit/process/svc_circuit.html +++ b/httemplate/edit/process/svc_circuit.html @@ -2,10 +2,22 @@ table => 'svc_circuit', edit_ext => 'html', redirect => popurl(3)."view/svc_circuit.html?", + precheck_callback => $precheck, &> <%init> die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? +my $precheck = sub { + my $cgi = shift; + foreach ('desired_due_date', 'due_date') { + if ( length $cgi->param($_) ) { + my $date = parse_datetime( $cgi->param($_) ); + $cgi->param($_, $date); + } + } + return; +}; + diff --git a/httemplate/edit/reason.html b/httemplate/edit/reason.html index 78d044755..3e6645ec8 100644 --- a/httemplate/edit/reason.html +++ b/httemplate/edit/reason.html @@ -15,6 +15,7 @@ 'class' => '', 'unsuspend_pkgpart' => 'Unsuspension fee', 'unsuspend_hold' => 'Delay until next bill', + 'unused_credit' => 'Credit unused portion of service', }, 'fields' => \@fields, &> @@ -61,18 +62,22 @@ my @fields = ( }, ); -push @fields, - { 'field' => 'unsuspend_pkgpart', - 'type' => 'select-part_pkg', - 'hashref' => { 'disabled' => '', - 'freq' => 0 }, # one-time charges only - }, - { 'field' => 'unsuspend_hold', - 'type' => 'checkbox', - 'value' => 'Y', - }, - if ( $class eq 'S' ); - - +if ( $class eq 'S' ) { + push @fields, + { 'field' => 'unsuspend_pkgpart', + 'type' => 'select-part_pkg', + 'hashref' => { 'disabled' => '', + 'freq' => 0 }, # one-time charges only + }, + { 'field' => 'unsuspend_hold', + 'type' => 'checkbox', + 'value' => 'Y', + }, + { 'field' => 'unused_credit', + 'type' => 'checkbox', + 'value' => 'Y', + }, + ; +} diff --git a/httemplate/view/svc_circuit.html b/httemplate/view/svc_circuit.html index c8d5d23ee..42bfc4b21 100644 --- a/httemplate/view/svc_circuit.html +++ b/httemplate/view/svc_circuit.html @@ -53,10 +53,10 @@ my @fields = ( table => 'circuit_termination', name_col => 'termination', }, - qw( vendor_qual_id vendor_order_id vendor_order_type vendor_order_status - desired_due_date due_date - endpoint_ip_addr - ), + qw( vendor_qual_id vendor_order_id vendor_order_type vendor_order_status ), + { field => 'desired_due_date', type => 'date' }, + { field => 'due_date', type => 'date' }, + 'endpoint_ip_addr', { field => 'endpoint_mac_addr', type => 'mac_addr' }, );