[freeside-commits] branch master updated. 96b69dd1aa5c8045b5a4297ecea510d60f575251

Jonathan Prykop jonathan at 420.am
Mon Nov 9 15:06:13 PST 2015


The branch, master has been updated
       via  96b69dd1aa5c8045b5a4297ecea510d60f575251 (commit)
      from  b3c70d709fd646ef355d49a4e87151c99ee413e9 (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 96b69dd1aa5c8045b5a4297ecea510d60f575251
Author: Jonathan Prykop <jonathan at freeside.biz>
Date:   Mon Nov 9 17:05:36 2015 -0600

    RT#34960: Quotations [changed billpkgnum to quotationpkgnum]

diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 6b5d658..7880cc1 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -1973,7 +1973,7 @@ sub tables_hashref {
     'quotation_pkg_detail' => {
       'columns' => [
         'detailnum', 'serial', '', '', '', '', 
-        'billpkgnum', 'int', '', '', '', '',        # actually links to quotationpkgnum
+        'quotationpkgnum', 'int', '', '', '', '',
         'format',  'char', 'NULL', 1, '', '',       # not used for anything
         'detail',  'varchar', '', 255, '', '',
       ],
@@ -1981,7 +1981,7 @@ sub tables_hashref {
       'unique'       => [],
       'index'        => [ [ 'billpkgnum' ] ],
       'foreign_keys' => [
-                          { columns    => [ 'billpkgnum' ],
+                          { columns    => [ 'quotationpkgnum' ],
                             table      => 'quotation_pkg',
                             references => [ 'quotationpkgnum' ],
                           },
diff --git a/FS/FS/TemplateItem_Mixin.pm b/FS/FS/TemplateItem_Mixin.pm
index dcd7ab3..248da3c 100644
--- a/FS/FS/TemplateItem_Mixin.pm
+++ b/FS/FS/TemplateItem_Mixin.pm
@@ -175,6 +175,7 @@ sub details {
   my $escape_function = $opt{escape_function} || sub { shift };
 
   my $csv = new Text::CSV_XS;
+  my $key = $self->primary_key;
 
   if ( $opt{format_function} ) {
 
@@ -189,14 +190,14 @@ sub details {
           )
         }
       qsearch ({ 'table'    => $self->detail_table,
-                 'hashref'  => { 'billpkgnum' => $self->billpkgnum },
+                 'hashref'  => { $key => $self->get($key) },
                  'order_by' => 'ORDER BY detailnum',
               });
 
   } elsif ( $opt{'no_usage'} ) {
 
     my $sql = "SELECT detail FROM ". $self->detail_table.
-              "  WHERE billpkgnum = ". $self->billpkgnum.
+              "  WHERE " . $key . " = ". $self->get($key).
               "    AND ( format IS NULL OR format != 'C' ) ".
               "  ORDER BY detailnum";
     my $sth = dbh->prepare($sql) or die dbh->errstr;
@@ -251,7 +252,7 @@ sub details {
     }
 
     my $sql = "SELECT format, detail FROM ". $self->detail_table.
-              "  WHERE billpkgnum = ". $self->billpkgnum.
+              "  WHERE " . $key . " = ". $self->get($key).
               "  ORDER BY detailnum";
     my $sth = dbh->prepare($sql) or die dbh->errstr;
     $sth->execute or die $sth->errstr;
diff --git a/FS/FS/quotation_pkg.pm b/FS/FS/quotation_pkg.pm
index 49d0d9a..e264209 100644
--- a/FS/FS/quotation_pkg.pm
+++ b/FS/FS/quotation_pkg.pm
@@ -101,21 +101,8 @@ sub display_table         { 'quotation_pkg'; }
 #                                                 #  (for invoice display order)
 
 sub discount_table        { 'quotation_pkg_discount'; }
-
-# detail table uses non-quotation fieldnames, see billpkgnum below
 sub detail_table          { 'quotation_pkg_detail'; }
 
-=item billpkgnum
-
-Sets/returns quotationpkgnum, for ease of integration with TemplateItem_Mixin::details
-
-=cut
-
-sub billpkgnum {
-  my $self = shift;
-  $self->quotationpkgnum(@_);
-}
-
 =item insert
 
 Adds this record to the database.  If there is an error, returns the error,
@@ -380,7 +367,7 @@ sub delete_details {
   local $FS::UID::AutoCommit = 0;
   my $dbh = dbh;
 
-  foreach my $detail ( qsearch('quotation_pkg_detail',{ 'billpkgnum' => $self->quotationpkgnum }) ) {
+  foreach my $detail ( qsearch('quotation_pkg_detail',{ 'quotationpkgnum' => $self->quotationpkgnum }) ) {
     my $error = $detail->delete;
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;
@@ -416,8 +403,8 @@ sub set_details {
 
   foreach my $detail ( @details ) {
     my $quotation_pkg_detail = new FS::quotation_pkg_detail {
-      'billpkgnum' => $self->quotationpkgnum,
-      'detail'     => $detail,
+      'quotationpkgnum' => $self->quotationpkgnum,
+      'detail' => $detail,
     };
     $error = $quotation_pkg_detail->insert;
     if ( $error ) {
@@ -431,6 +418,10 @@ sub set_details {
 
 }
 
+sub details_header {
+  return ();
+}
+
 =item cust_bill_pkg_display [ type => TYPE ]
 
 =cut
diff --git a/FS/FS/quotation_pkg_detail.pm b/FS/FS/quotation_pkg_detail.pm
index be3d815..ce13589 100644
--- a/FS/FS/quotation_pkg_detail.pm
+++ b/FS/FS/quotation_pkg_detail.pm
@@ -34,10 +34,9 @@ currently supported:
 
 primary key
 
-=item billpkgnum
+=item quotationpkgnum
 
-named thusly for quick compatability with L<FS::TemplateItem_Mixin>,
-actually the quotationpkgnum for the relevant L<FS::quotation_pkg>
+for the relevant L<FS::quotation_pkg>
 
 =item detail
 
@@ -108,7 +107,7 @@ sub check {
 
   my $error = 
     $self->ut_numbern('detailnum')
-    || $self->ut_foreign_key('billpkgnum', 'quotation_pkg', 'quotationpkgnum')
+    || $self->ut_foreign_key('quotationpkgnum', 'quotation_pkg', 'quotationpkgnum')
     || $self->ut_text('detail')
   ;
   return $error if $error;
diff --git a/httemplate/edit/quotation_pkg_detail.html b/httemplate/edit/quotation_pkg_detail.html
index b8f589a..80a9044 100644
--- a/httemplate/edit/quotation_pkg_detail.html
+++ b/httemplate/edit/quotation_pkg_detail.html
@@ -21,15 +21,11 @@
     <TD BGCOLOR="#ffffff"><% $part_pkg->comment |h %></TD>
   </TR>
 
-  <TR>
-    <TD COLSPAN=2>Detail: </TD>
-  </TR>
-
 % my $row = 0;
 % for ( @details ) { 
 
     <TR>
-      <TD></TD>
+      <TD ALIGN="right"><% $row ? '' : 'Detail' %></TD>
       <TD>
         <INPUT TYPE="text" NAME="detail<% $row %>" SIZE="60" MAXLENGTH="65" VALUE="<% $_ |h %>" rownum="<% $row++ %>" onkeyup="possiblyAddRow" onchange="possiblyAddrow">
       </TD>
@@ -63,6 +59,10 @@
     var row = document.createElement('TR');
 
     var empty_cell = document.createElement('TD');
+    if (!rownum) {
+      empty_cell.innerHTML = 'Detail:'
+      empty_cell.style.textAlign = 'right';
+    }
     row.appendChild(empty_cell);
 
     var detail_cell = document.createElement('TD');

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

Summary of changes:
 FS/FS/Schema.pm                           |    4 ++--
 FS/FS/TemplateItem_Mixin.pm               |    7 ++++---
 FS/FS/quotation_pkg.pm                    |   23 +++++++----------------
 FS/FS/quotation_pkg_detail.pm             |    7 +++----
 httemplate/edit/quotation_pkg_detail.html |   10 +++++-----
 5 files changed, 21 insertions(+), 30 deletions(-)




More information about the freeside-commits mailing list