[freeside-commits] branch master updated. 85291fb4046b876aa1f33ae3e1a57823c30a446e

Mark Wells mark at 420.am
Wed Dec 31 15:42:27 PST 2014


The branch, master has been updated
       via  85291fb4046b876aa1f33ae3e1a57823c30a446e (commit)
      from  96419278c8a1370b34246515591f0b620adb94c2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 85291fb4046b876aa1f33ae3e1a57823c30a446e
Author: Mark Wells <mark at freeside.biz>
Date:   Wed Dec 31 15:42:21 2014 -0800

    add unused_credit option on suspend reasons to browse and edit UI, #31702

diff --git a/httemplate/browse/reason.html b/httemplate/browse/reason.html
index 14e97bf..5bb6a3e 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/reason.html b/httemplate/edit/reason.html
index 78d0447..3e6645e 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>

-----------------------------------------------------------------------

Summary of changes:
 httemplate/browse/reason.html |   81 ++++++++++++++++++++++++++++-------------
 httemplate/edit/reason.html   |   31 +++++++++-------
 2 files changed, 73 insertions(+), 39 deletions(-)




More information about the freeside-commits mailing list