[freeside-commits] branch FREESIDE_2_3_BRANCH updated. a064b639a194efff1cf554e821777b80f3399ec3
Ivan
ivan at 420.am
Mon Sep 10 23:10:36 PDT 2012
The branch, FREESIDE_2_3_BRANCH has been updated
via a064b639a194efff1cf554e821777b80f3399ec3 (commit)
from 86bc5cdcde76e575550da249beeb33a4069fcca4 (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 a064b639a194efff1cf554e821777b80f3399ec3
Author: Ivan Kohler <ivan at freeside.biz>
Date: Mon Sep 10 23:10:34 2012 -0700
still prevent inadvertantly losing disabled package/service defs, package classes, but now without incurring the perf overhead of showing all disabled items in config selections
diff --git a/httemplate/config/config.cgi b/httemplate/config/config.cgi
index a4f9890..7960d7e 100644
--- a/httemplate/config/config.cgi
+++ b/httemplate/config/config.cgi
@@ -304,7 +304,6 @@ Setting <b><% $key %></b>
%
% my %opt = ( 'element_name' => "$key$n",
% 'empty_label' => ' ',
-% 'showdisabled' => 1,
% );
% if ( $config_item->multiple ) {
% $opt{'multiple'} = 1 if $config_item->multiple;
diff --git a/httemplate/elements/select-table.html b/httemplate/elements/select-table.html
index 127028e..c0cd7a5 100644
--- a/httemplate/elements/select-table.html
+++ b/httemplate/elements/select-table.html
@@ -181,24 +181,29 @@ if ( $opt{'records'} ) {
});
}
-unless ( $value < 1 # !$value #ignore negatives too
- or ref($value)
+if ( ref( $value ) eq 'ARRAY' ) {
+ $value = { map { $_ => 1 } @$value };
+}
+
+unless ( !ref($value) && $value < 1 # !$value #ignore negatives too
or ! exists( $opt{hashref}->{disabled} ) #??
- or grep { $value == $_->$key() } @records
+ #or grep { $value == $_->$key() } @records
) {
delete $opt{hashref}->{disabled};
- $opt{hashref}->{$key} = $value;
- my $record = qsearchs( {
- 'table' => $opt{table},
- 'addl_from' => $opt{'addl_from'},
- 'hashref' => $hashref,
- 'extra_sql' => $extra_sql,
- });
- push @records, $record if $record;
-}
-if ( ref( $value ) eq 'ARRAY' ) {
- $value = { map { $_ => 1 } @$value };
+ foreach my $v ( ref($value) ? keys %$value : ($value) ) {
+ next if grep { $v == $_->$key() } @records;
+
+ $opt{hashref}->{$key} = $v;
+ my $record = qsearchs( {
+ 'table' => $opt{table},
+ 'addl_from' => $opt{'addl_from'},
+ 'hashref' => $hashref,
+ 'extra_sql' => $extra_sql,
+ });
+ push @records, $record if $record;
+
+ }
}
my @pre_options = $opt{pre_options} ? @{ $opt{pre_options} } : ();
-----------------------------------------------------------------------
Summary of changes:
httemplate/config/config.cgi | 1 -
httemplate/elements/select-table.html | 33 +++++++++++++++++++--------------
2 files changed, 19 insertions(+), 15 deletions(-)
More information about the freeside-commits
mailing list