[freeside-commits] branch FREESIDE_3_BRANCH updated. 92e63d82b0f376e5c8d95df5f916d7b32b018289

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


The branch, FREESIDE_3_BRANCH has been updated
       via  92e63d82b0f376e5c8d95df5f916d7b32b018289 (commit)
      from  808c72ffcfc256efa5b15a98b5b4b0cf7655135e (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 92e63d82b0f376e5c8d95df5f916d7b32b018289
Author: Mark Wells <mark at freeside.biz>
Date:   Wed Dec 31 15:42:03 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