enable CardFortress in test database, #71513
[freeside.git] / FS / FS / reason_Mixin.pm
index 9c436ab..a1b32f2 100644 (file)
@@ -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.