[freeside-commits] branch FREESIDE_3_BRANCH updated. 1b961dca9ac3d9904991926c73121b8e7a45a451
Ivan
ivan at 420.am
Tue Mar 25 16:33:28 PDT 2014
The branch, FREESIDE_3_BRANCH has been updated
via 1b961dca9ac3d9904991926c73121b8e7a45a451 (commit)
from 90d1022ea578c2aba32d4fa55a503247310eb228 (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 1b961dca9ac3d9904991926c73121b8e7a45a451
Author: Ivan Kohler <ivan at freeside.biz>
Date: Tue Mar 25 16:33:26 2014 -0700
improve performance of package add/edit (don't pull up pricing info in add-on/supplemental package dropdowns), RT#24000
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm
index d1ec0fb..198c362 100644
--- a/FS/FS/part_pkg.pm
+++ b/FS/FS/part_pkg.pm
@@ -772,6 +772,16 @@ sub pkg_comment {
$pre. $self->pkg. ( $custom_comment ? " - $custom_comment" : '' );
}
+#without price info (so without hitting the DB again)
+sub pkg_comment_only {
+ my $self = shift;
+ my %opt = @_;
+
+ my $pre = $opt{nopkgpart} ? '' : $self->pkgpart. ': ';
+ my $comment = $self->comment;
+ $pre. $self->pkg. ( $comment ? " - $comment" : '' );
+}
+
sub price_info { # safety, in case a part_pkg hasn't defined price_info
'';
}
@@ -1205,6 +1215,8 @@ will be suppressed.
sub option {
my( $self, $opt, $ornull ) = @_;
+ cluck "$self -> option: searching for $opt"
+ if $DEBUG;
my $part_pkg_option =
qsearchs('part_pkg_option', {
pkgpart => $self->pkgpart,
diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html
index 938d3a5..c644425 100644
--- a/httemplate/edit/elements/edit.html
+++ b/httemplate/edit/elements/edit.html
@@ -317,6 +317,9 @@ Example:
% 'disabled' => $f->{'disabled'},
% 'fixed' => $f->{'fixed'},
%
+% #umm. for select-agent_types at least
+% 'label_callback'=> $f->{'label_callback'},
+%
% #any?
% 'colspan' => $f->{'colspan'},
% 'required' => $f->{'required'},
diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi
index d1fbdf2..829bf83 100755
--- a/httemplate/edit/part_pkg.cgi
+++ b/httemplate/edit/part_pkg.cgi
@@ -275,6 +275,7 @@
? "AND pkgpart != $pkgpart"
: ''
},
++ 'label_callback' => sub { shift->pkg_comment_only },
'm2_label' => 'Include line item(s) from package',
'm2m_method' => 'bill_part_pkg_link',
'm2m_dstcol' => 'dst_pkgpart',
@@ -301,6 +302,7 @@
? "AND pkgpart != $pkgpart"
: ''
},
++ 'label_callback' => sub { shift->pkg_comment_only },
'm2_label' => 'Include services of package: ',
'm2m_method' => 'svc_part_pkg_link',
'm2m_dstcol' => 'dst_pkgpart',
@@ -317,6 +319,7 @@
},
{ 'field' => 'supp_dst_pkgpart',
'type' => 'select-part_pkg',
++ 'label_callback' => sub { shift->pkg_comment_only },
'm2_label' => 'When ordering package, also order',
'm2m_method' => 'supp_part_pkg_link',
'm2m_dstcol' => 'dst_pkgpart',
diff --git a/httemplate/elements/select-part_pkg.html b/httemplate/elements/select-part_pkg.html
index 9d41b07..bf58191 100644
--- a/httemplate/elements/select-part_pkg.html
+++ b/httemplate/elements/select-part_pkg.html
@@ -15,17 +15,16 @@ Example:
</%doc>
-<% include( '/elements/select-table.html',
- 'table' => 'part_pkg',
- 'agent_virt' => 1,
- 'agent_null' => 1,
- 'name_col' => 'pkg',
- 'empty_label' => 'Select package', #should this be the default?
- 'label_callback' => sub { shift->pkg_comment },
- 'hashref' => \%hash,
- %opt,
- )
-%>
+<& /elements/select-table.html,
+ 'table' => 'part_pkg',
+ 'agent_virt' => 1,
+ 'agent_null' => 1,
+ 'name_col' => 'pkg',
+ 'empty_label' => 'Select package', #should this be the default?
+ 'label_callback' => $opt{'label_callback'} || sub { shift->pkg_comment },
+ 'hashref' => \%hash,
+ %opt,
+&>
<%init>
my( %opt ) = @_;
-----------------------------------------------------------------------
Summary of changes:
FS/FS/part_pkg.pm | 12 ++++++++++++
httemplate/edit/elements/edit.html | 3 +++
httemplate/edit/part_pkg.cgi | 3 +++
httemplate/elements/select-part_pkg.html | 21 ++++++++++-----------
4 files changed, 28 insertions(+), 11 deletions(-)
More information about the freeside-commits
mailing list