summaryrefslogtreecommitdiff
path: root/FS/FS/reason.pm
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2014-11-25 19:39:23 -0800
committerMark Wells <mark@freeside.biz>2014-11-25 19:39:23 -0800
commit3cda3a85eb0daa5b8b9f4d30cd0896da6ccf4a9b (patch)
treee1d8a4f8b8572396fd2d4fe7a82327f1c9768c0f /FS/FS/reason.pm
parent77be6115a8972c8e7917fc9f80e30a6ba571a552 (diff)
option to credit unused time on suspension as part of suspend reason, #31702
Diffstat (limited to 'FS/FS/reason.pm')
-rw-r--r--FS/FS/reason.pm13
1 files changed, 8 insertions, 5 deletions
diff --git a/FS/FS/reason.pm b/FS/FS/reason.pm
index e6b20db..f28989a 100644
--- a/FS/FS/reason.pm
+++ b/FS/FS/reason.pm
@@ -56,6 +56,10 @@ suspensions but not others.
whether to bill the unsuspend package immediately ('') or to wait until
the customer's next invoice ('Y').
+=item unused_credit - 'Y' or ''. For suspension reasons only (for now).
+If enabled, the customer will be credited for their remaining time on
+suspension.
+
=back
=head1 METHODS
@@ -109,7 +113,6 @@ sub check {
|| $self->ut_number('reason_type')
|| $self->ut_foreign_key('reason_type', 'reason_type', 'typenum')
|| $self->ut_text('reason')
- || $self->ut_flag('disabled')
;
return $error if $error;
@@ -117,11 +120,13 @@ sub check {
$error = $self->ut_numbern('unsuspend_pkgpart')
|| $self->ut_foreign_keyn('unsuspend_pkgpart', 'part_pkg', 'pkgpart')
|| $self->ut_flag('unsuspend_hold')
+ || $self->ut_flag('unused_credit')
;
return $error if $error;
} else {
- $self->set('unsuspend_pkgpart' => '');
- $self->set('unsuspend_hold' => '');
+ foreach (qw(unsuspend_pkgpart unsuspend_hold unused_credit)) {
+ $self->set($_ => '');
+ }
}
$self->SUPER::check;
@@ -178,8 +183,6 @@ sub new_or_existing {
=head1 BUGS
-Here by termintes. Don't use on wooden computers.
-
=head1 SEE ALSO
L<FS::Record>, schema.html from the base documentation.