X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Flog_context.pm;h=6b69a805882dc4c41843e0905baa943fce26fcff;hp=372bdaa39aab6a6ee7581703fc0dc66ac14a12f1;hb=3adb46fccf9f631e188ea5383bd147b340477639;hpb=06fb1346ff8076a84f743fa07de31852942e144f diff --git a/FS/FS/log_context.pm b/FS/FS/log_context.pm index 372bdaa39..6b69a8058 100644 --- a/FS/FS/log_context.pm +++ b/FS/FS/log_context.pm @@ -4,14 +4,38 @@ 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 + FS::cust_main::Billing_Realtime::realtime_bop + FS::cust_main::Billing_Realtime::realtime_tokenize + FS::cust_main::Billing_Realtime::realtime_verify_bop + FS::cust_main::Billing_Realtime::token_check + FS::pay_batch::import_from_gateway + FS::part_pkg + FS::Misc::Geo::standardize_uscensus + FS::saved_search::send + FS::saved_search::render + FS::cust_location::process_district_update Cron::bill + Cron::backup Cron::upload spool_upload daily 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 @@ -63,8 +87,6 @@ points to. You can ask the object for a copy with the I method. =cut -# the new method can be inherited from FS::Record, if a table method is defined - sub table { 'log_context'; } =item insert @@ -72,27 +94,15 @@ sub table { 'log_context'; } Adds this record to the database. If there is an error, returns the error, otherwise returns false. -=cut - -# the insert method can be inherited from FS::Record - =item delete Delete this record from the database. -=cut - -# the delete method can be inherited from FS::Record - =item replace OLD_RECORD Replaces the OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false. -=cut - -# the replace method can be inherited from FS::Record - =item check Checks all fields to make sure this is a valid example. If there is @@ -101,16 +111,13 @@ and replace methods. =cut -# the check method should currently be supplied - FS::Record contains some -# data checking routines - sub check { my $self = shift; my $error = $self->ut_numbern('logcontextnum') || $self->ut_number('lognum') - || $self->ut_enum('context', \@contexts) + || $self->ut_text('context') #|| $self->ut_enum('context', \@contexts) ; return $error if $error; @@ -125,11 +132,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