[freeside-commits] branch master updated. 4b76d6fbe262579dbb19aa40b24c83f1024f5425
Ivan
ivan at 420.am
Mon Sep 10 23:10:33 PDT 2012
The branch, master has been updated
via 4b76d6fbe262579dbb19aa40b24c83f1024f5425 (commit)
from 2b10c0594ff2ab9ce37d9f8af9c154d3bedde731 (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 4b76d6fbe262579dbb19aa40b24c83f1024f5425
Author: Ivan Kohler <ivan at freeside.biz>
Date: Mon Sep 10 23:10:31 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