From: Jonathan Prykop Date: Sat, 27 Feb 2016 13:38:19 +0000 (-0600) Subject: RT#21463: Option to show disabled package definitions [does not work on IE] X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=5ebeeda12a588c1db792fcc8954aeeedb54a84b2;hp=6fd39bf8dfa989aaedea59e5e3cd609642f9e024;p=freeside.git RT#21463: Option to show disabled package definitions [does not work on IE] --- diff --git a/FS/FS/part_event/Condition/has_referral_pkgpart.pm b/FS/FS/part_event/Condition/has_referral_pkgpart.pm index 7062f6c2e..44094449c 100644 --- a/FS/FS/part_event/Condition/has_referral_pkgpart.pm +++ b/FS/FS/part_event/Condition/has_referral_pkgpart.pm @@ -13,6 +13,7 @@ sub option_fields { 'if_pkgpart' => { 'label' => 'Only packages: ', 'type' => 'select-part_pkg', 'multiple' => 1, + 'toggle_disabled' => 1, }, ); } diff --git a/httemplate/elements/select-part_pkg.html b/httemplate/elements/select-part_pkg.html index 237d7df0a..d54f2831b 100644 --- a/httemplate/elements/select-part_pkg.html +++ b/httemplate/elements/select-part_pkg.html @@ -9,6 +9,8 @@ Example: #opt 'part_pkg' => \@records, + 'showdisabled' => 1, #defaults to 0, shows disabled if true + 'toggle_disabled' => 1, #implies showdisabled, adds js to toggle display of disabled #select-table.html options ) @@ -23,8 +25,45 @@ Example: 'empty_label' => 'Select package', #should this be the default? 'label_callback' => $opt{'label_callback'} || sub { shift->pkg_comment_only }, 'hashref' => \%hash, + $opt{'toggle_disabled'} ? ( + 'extra_option_attributes' => [ 'disabled' ], + 'hidden_sub' => sub { my $rec = shift; $rec->disabled; }, + ) : (), %opt, &> + +% if ($opt{'toggle_disabled'}) { +% unless ($toggle_disabled_init) { +% $toggle_disabled_init = 1; + + + +% } # unless $toggle_disabled_init + +
<% emt("show disabled packages") %> + +% } # if $opt{'toggle_disabled'} + +<%shared> +my $toggle_disabled_init = 0; + <%init> my( %opt ) = @_; @@ -32,6 +71,8 @@ my( %opt ) = @_; $opt{'records'} = delete $opt{'part_pkg'} if $opt{'part_pkg'}; +$opt{'showdisabled'} = 1 if $opt{'toggle_disabled'}; + my %hash = (); $hash{'disabled'} = '' unless $opt{'showdisabled'}; diff --git a/httemplate/elements/select-table.html b/httemplate/elements/select-table.html index 4b6ddb40e..7945bb450 100644 --- a/httemplate/elements/select-table.html +++ b/httemplate/elements/select-table.html @@ -51,9 +51,12 @@ Example: #