[freeside-commits] branch master updated. 08f3345fd90fa5b21aab49545bfe6ed0ff880673

Ivan ivan at 420.am
Sun Aug 18 14:36:09 PDT 2013


The branch, master has been updated
       via  08f3345fd90fa5b21aab49545bfe6ed0ff880673 (commit)
      from  5c0cfcb8dec7c4f3a7aecea4c550ffb4bfb774c3 (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 08f3345fd90fa5b21aab49545bfe6ed0ff880673
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Sun Aug 18 14:36:08 2013 -0700

    continue sales person work: customer and package selection, commissions, reporting.  RT#23402

diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 676757e..dedc637 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -1840,6 +1840,7 @@ sub change {
       $hash{$date} = $self->getfield($date);
     }
   }
+
   # allow $opt->{'locationnum'} = '' to specifically set it to null
   # (i.e. customer default location)
   $opt->{'locationnum'} = $self->locationnum if !exists($opt->{'locationnum'});
@@ -1864,7 +1865,6 @@ sub change {
   }
 
   $hash{'contactnum'} = $opt->{'contactnum'} if $opt->{'contactnum'};
-  $hash{'quantity'} = $opt->{'quantity'} || $self->quantity;
 
   my $cust_pkg;
   if ( $opt->{'cust_pkg'} ) {
@@ -1881,10 +1881,11 @@ sub change {
   } else {
     # Create the new package.
     $cust_pkg = new FS::cust_pkg {
-      custnum        => $custnum,
-      pkgpart        => ( $opt->{'pkgpart'}     || $self->pkgpart      ),
-      refnum         => ( $opt->{'refnum'}      || $self->refnum       ),
-      locationnum    => ( $opt->{'locationnum'}                        ),
+      custnum     => $custnum,
+      locationnum => $opt->{'locationnum'},
+      ( map {  $_ => ( $opt->{$_} || $self->$_() )  }
+          qw( pkgpart quantity refnum salesnum )
+      ),
       %hash,
     };
     $error = $cust_pkg->insert( 'change' => 1,
@@ -2177,14 +2178,17 @@ sub change_later {
 
   return '' unless $new_pkgpart or $new_locationnum or $new_quantity; # wouldn't do anything
 
-  my %hash = (
-    'custnum'     => $self->custnum,
-    'pkgpart'     => ($opt->{'pkgpart'}     || $self->pkgpart),
-    'locationnum' => ($opt->{'locationnum'} || $self->locationnum),
-    'quantity'    => ($opt->{'quantity'}    || $self->quantity),
-    'start_date'  => $date,
-  );
-  my $new = FS::cust_pkg->new(\%hash);
+  # allow $opt->{'locationnum'} = '' to specifically set it to null
+  # (i.e. customer default location)
+  $opt->{'locationnum'} = $self->locationnum if !exists($opt->{'locationnum'});
+
+  my $new = FS::cust_pkg->new( {
+    custnum     => $self->custnum,
+    locationnum => $opt->{'locationnum'},
+    start_date  => $date,
+    map   {  $_ => ( $opt->{$_} || $self->$_() )  }
+      qw( pkgpart quantity refnum salesnum )
+  } );
   $error = $new->insert('change' => 1, 
                         'allow_pkgpart' => ($new_pkgpart ? 0 : 1));
   if ( !$error ) {
diff --git a/httemplate/misc/change_pkg.cgi b/httemplate/misc/change_pkg.cgi
index 923be71..887fa01 100755
--- a/httemplate/misc/change_pkg.cgi
+++ b/httemplate/misc/change_pkg.cgi
@@ -6,12 +6,14 @@
 <FORM NAME="OrderPkgForm" ACTION="<% $p %>edit/process/change-cust_pkg.html" METHOD=POST>
 <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
 
+
+<FONT CLASS="fsinnerbox-title"><% mt('Package') |h %></FONT>
 <% ntable('#cccccc') %>
 
   <TR>
     <TH ALIGN="right"><% mt('Current package') |h %></TH>
     <TD COLSPAN=7>
-      <% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><B><% $part_pkg->pkg |h %></B> - <% $part_pkg->comment |h %>
+      <FONT STYLE="background-color:#e8e8e8"><% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><B><% $part_pkg->pkg |h %></B> - <% $part_pkg->comment |h %></FONT>
     </TD>
   </TR>
 
@@ -26,34 +28,46 @@
                'curr_value' => $cust_pkg->quantity
   &>
 
-  <& /elements/tr-select-cust_location.html,
-               'cgi'       => $cgi,
-               'cust_main' => $cust_main,
-  &>
-
 </TABLE>
+<BR>
+
+
+<FONT CLASS="fsinnerbox-title"><% mt('Change') |h %></FONT>
+<% ntable('#cccccc') %>
 
-<TABLE>
   <TR>
-    <TD> Apply this change: </TD>
+<!--    <TD> Apply this change: </TD> -->
     <TD> <INPUT TYPE="radio" NAME="delay" VALUE="0" \
-          <% !$cgi->param('delay') ? 'CHECKED' : '' %>> now </TD>
+          <% !$cgi->param('delay') ? 'CHECKED' : '' %>> Now </TD>
     <TD> <INPUT TYPE="radio" NAME="delay" VALUE="1" \
-          <% $cgi->param('delay')  ? 'CHECKED' : '' %>> in the future
+          <% $cgi->param('delay')  ? 'CHECKED' : '' %>> In the future
       <& /elements/input-date-field.html, {
-  'name'  => 'start_date',
-  'value' => ($cgi->param('start_date') || $cust_main->next_bill_date),
+          'name'  => 'start_date',
+          'value' => ($cgi->param('start_date') || $cust_main->next_bill_date),
       } &>
     </TD>
   </TR>
 </TABLE>
+</BR>
+
+
+<FONT CLASS="fsinnerbox-title"><% mt('Location') |h %></FONT>
+<% ntable('#cccccc') %>
+
+  <& /elements/tr-select-cust_location.html,
+               'cgi'       => $cgi,
+               'cust_main' => $cust_main,
+  &>
+
+</TABLE>
+<BR>
+
 
 <& /elements/standardize_locations.html,
             'form'       => "OrderPkgForm",
             'callback'   => 'document.OrderPkgForm.submit();',
 &>
 
-<BR>
 <INPUT NAME    = "submitButton"
        TYPE    = "button"
        VALUE   = "<% mt("Change package") |h %>"
diff --git a/httemplate/misc/order_pkg.html b/httemplate/misc/order_pkg.html
index 0573468..febe427 100644
--- a/httemplate/misc/order_pkg.html
+++ b/httemplate/misc/order_pkg.html
@@ -33,7 +33,7 @@
   <FONT CLASS="fsinnerbox-title"><% mt('Sales') |h %></FONT>
 % }
 % if ( $show_sales_table ) {
-  <% ntable("#cccccc", 2) %>
+  <% ntable("#cccccc") %>
 % }
 
 <& /elements/tr-select-sales.html,
@@ -55,7 +55,7 @@
 % }
 
 <FONT CLASS="fsinnerbox-title"><% mt('Package') |h %></FONT>
-<% ntable("#cccccc", 2) %>
+<% ntable("#cccccc") %>
 
 % if ( $part_pkg ) {
     <INPUT TYPE="hidden" NAME="pkgpart" VALUE="<% $part_pkg->pkgpart %>">
@@ -117,7 +117,7 @@
 %
 % if ( $discount_cust_pkg || $waive_setup_fee ) {
   <FONT CLASS="fsinnerbox-title"><% mt('Discounting') |h %></FONT>
-  <% ntable("#cccccc", 2) %>
+  <% ntable("#cccccc") %>
 
 %   if ( $waive_setup_fee ) {
       <TR>
@@ -143,7 +143,7 @@
 % my $contact_title = $lock_locationnum ? 'Contact'
 %                                       : 'Contact and Location';
 <FONT CLASS="fsinnerbox-title"><% mt($contact_title) |h %></FONT>
-<% ntable("#cccccc", 2) %>
+<% ntable("#cccccc") %>
 
 <& /elements/tr-select-contact.html,
              'cgi'           => $cgi,

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

Summary of changes:
 FS/FS/cust_pkg.pm              |   30 +++++++++++++++++-------------
 httemplate/misc/change_pkg.cgi |   40 +++++++++++++++++++++++++++-------------
 httemplate/misc/order_pkg.html |    8 ++++----
 3 files changed, 48 insertions(+), 30 deletions(-)




More information about the freeside-commits mailing list