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),
'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>
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>
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>
'class' => '',
'unsuspend_pkgpart' => 'Unsuspension fee',
'unsuspend_hold' => 'Delay until next bill',
+ 'unused_credit' => 'Credit unused portion of service',
},
'fields' => \@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>
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' },
);