From 648aa3b8a493fd693c43cac8b13b2f3c57f2c75d Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 8 Nov 2010 20:00:52 +0000 Subject: [PATCH] hide communigate fields in svc_acct and svc_domain when there's no communigate exports, RT#10515 --- httemplate/edit/part_svc.cgi | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/httemplate/edit/part_svc.cgi b/httemplate/edit/part_svc.cgi index fcffc4f56..50bc79c02 100755 --- a/httemplate/edit/part_svc.cgi +++ b/httemplate/edit/part_svc.cgi @@ -101,12 +101,14 @@ that field. % % my $columns = 3; % my $count = 0; +% my $communigate = 0; % my @part_export = % map { qsearch( 'part_export', {exporttype => $_ } ) } % keys %{FS::part_export::export_info($layer)}; % $html .= '

'. table(). % "Exports"; % foreach my $part_export ( @part_export ) { +% $communigate++ if $part_export->exporttype =~ /^communigate/; % $html .= 'table($layer) ) -% ? grep { -% $_ ne 'svcnum' && -% ( !FS::part_svc->svc_table_fields($layer) -% ->{$_}->{disable_part_svc_column} || -% $part_svc->part_svc_column($_)->columnflag -% ) -% } -% fields($layer) -% : (); +% my @fields = (); +% if ( defined( dbdef->table($layer) ) ) { +% @fields = grep { +% $_ ne 'svcnum' +% && ( $communigate || !$communigate_fields{$layer}->{$_} ) +% && ( !FS::part_svc->svc_table_fields($layer) +% ->{$_}->{disable_part_svc_column} +% || $part_svc->part_svc_column($_)->columnflag +% ) +% } fields($layer); +% } % push @fields, 'usergroup' if $layer eq 'svc_acct'; #kludge % $part_svc->svcpart($clone) if $clone; #haha, undone below % @@ -425,7 +428,21 @@ my $action = $part_svc->svcpart ? 'Edit' : 'Add'; my $hashref = $part_svc->hashref; # my $p_svcdb = $part_svc->svcdb || 'svc_acct'; - +my %communigate_fields = ( + 'svc_acct' => { map { $_=>1 } + qw( file_quota file_maxnum file_maxsize + password_selfchange password_recover + ), + grep /^cgp_/, fields('svc_acct') + }, + 'svc_domain' => { map { $_=>1 } + qw( max_accounts trailer parent_svcnum ), + grep /^(cgp|acct_def)_/, fields('svc_domain') + }, + #'svc_forward' => { map { $_=>1 } qw( ) }, + #'svc_mailinglist' => { map { $_=>1 } qw( ) }, + #'svc_cert' => { map { $_=>1 } qw( ) }, +); -- 2.11.0