summaryrefslogtreecommitdiff
path: root/FS/FS/reason_Mixin.pm
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-04-19 15:27:53 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-04-19 15:40:44 -0500
commit06a4fea881fe6b8a40270ff1cdc78945609fa130 (patch)
tree18760396969eb1b8a2c5daa6784beaa637889b32 /FS/FS/reason_Mixin.pm
parent36f4c60e1be681978a348db1fd8a4b3a6b088d06 (diff)
RT#41501: OBH: Separate credit additional info into separate field on reports
Diffstat (limited to 'FS/FS/reason_Mixin.pm')
-rw-r--r--FS/FS/reason_Mixin.pm31
1 files changed, 24 insertions, 7 deletions
diff --git a/FS/FS/reason_Mixin.pm b/FS/FS/reason_Mixin.pm
index 9c436ab..a1b32f2 100644
--- a/FS/FS/reason_Mixin.pm
+++ b/FS/FS/reason_Mixin.pm
@@ -22,13 +22,8 @@ voided payment / voided invoice. This can no longer be used to set the
sub reason {
my $self = shift;
- my $reason_text;
- if ( $self->reasonnum ) {
- my $reason = FS::reason->by_key($self->reasonnum);
- $reason_text = $reason->reason;
- } else { # in case one of these somehow still exists
- $reason_text = $self->get('reason');
- }
+ my $reason_text = $self->reason_only;
+
if ( $self->get('addlinfo') ) {
$reason_text .= ' ' . $self->get('addlinfo');
}
@@ -36,6 +31,28 @@ sub reason {
return $reason_text;
}
+=item reason_only
+
+Returns only the text of the associated reason,
+absent any addlinfo that is included by L</reason>.
+(Currently only affects credit and credit void reasons.)
+
+=cut
+
+# a bit awkward, but much easier to invoke this in the few reports
+# that need separate fields than to update every place
+# that displays them together
+
+sub reason_only {
+ my $self = shift;
+ if ( $self->reasonnum ) {
+ my $reason = FS::reason->by_key($self->reasonnum);
+ return $reason->reason;
+ } else { # in case one of these somehow still exists
+ return $self->get('reason');
+ }
+}
+
# Used by FS::Upgrade to migrate reason text fields to reasonnum.
# Note that any new tables that get reasonnum fields do NOT need to be
# added here unless they have previously had a free-text "reason" field.