summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/cdr/cx3.pm6
-rw-r--r--httemplate/browse/reason.html81
-rw-r--r--httemplate/edit/process/svc_circuit.html12
-rw-r--r--httemplate/edit/reason.html31
-rw-r--r--httemplate/view/svc_circuit.html8
5 files changed, 93 insertions, 45 deletions
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 '<SPAN STYLE="background-color:#00ff00">YES</SPAN>';
+ } else {
+ return '<SPAN STYLE="background-color:#ff0000">NO</SPAN>';
+ }
+ },
+ 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!<A HREF="$href">! . encode_entities($text) . "</A>".
+ "<FONT SIZE=-1>";
+ if ( $reason->unsuspend_hold ) {
+ $text .= ' (on next bill)'
+ } else {
+ $text .= ' (immediately)'
+ }
+ $text .= '</FONT>';
+ }
+ ;
+ $align .= 'cl';
}
+
</%init>
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;
+};
+
</%init>
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',
+ },
+ ;
+}
</%init>
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' },
);