X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Flog_context.pm;h=1ae667708d02cb69096d04d2273a6606df941f41;hb=30776e35f2b4bd50affc82bd0c3277e5b7dcad83;hp=0d6220915316995f0a90556cdfba1fae760a8d9d;hpb=4496a23e58b830db4c2d10ad17dfb0d531b15859;p=freeside.git diff --git a/FS/FS/log_context.pm b/FS/FS/log_context.pm index 0d6220915..1ae667708 100644 --- a/FS/FS/log_context.pm +++ b/FS/FS/log_context.pm @@ -4,8 +4,9 @@ use strict; use base qw( FS::Record ); use FS::Record qw( qsearch qsearchs ); -my @contexts = ( qw( - test +# Items in @default_contexts will always be included in the +# output of contexts() method +my @default_contexts = ( qw( bill_and_collect FS::cust_main::Billing::bill_and_collect FS::cust_main::Billing::bill @@ -14,6 +15,7 @@ my @contexts = ( qw( FS::Misc::Geo::standardize_uscensus FS::saved_search::send FS::saved_search::render + FS::cust_location::process_district_update Cron::bill Cron::upload spool_upload @@ -21,8 +23,14 @@ my @contexts = ( qw( queue upgrade upgrade_taxable_billpkgnum + freeside-ipifony-download freeside-paymentech-upload freeside-paymentech-download + test + FS::TaxEngine::billsoft + wa_sales + wa_tax_rate_update + tax_rate_update ) ); =head1 NAME @@ -119,11 +127,25 @@ sub check { =item contexts -Returns a list of all valid contexts. +Returns a list of all log contexts, by combining @default_contexts +with all context values seen in the log_context table =cut -sub contexts { @contexts } +sub contexts { + my $self = shift; + + my %contexts = map { $_ => 1 } @default_contexts; + + $contexts{ $_->context } = 1 + for qsearch({ + select => 'DISTINCT context AS context', + table => 'log_context', + hashref => {}, + }); + + sort { lc $a cmp lc $b } keys %contexts; +} =back