diff options
| author | Mark Wells <mark@freeside.biz> | 2012-06-12 16:32:30 -0700 |
|---|---|---|
| committer | Mark Wells <mark@freeside.biz> | 2012-06-12 16:32:43 -0700 |
| commit | 14f3259eef6cbc440a9ce0cdc20ee2cde87c41b0 (patch) | |
| tree | 164cbc54c275778759009158204f37b0306b2a8d /FS | |
| parent | db7d5ea2de851705fb4dbe2bd23b07476110e20c (diff) | |
suppress all fractions of days in unearned revenue calculation, #13289
Diffstat (limited to 'FS')
| -rw-r--r-- | FS/FS/Mason.pm | 1 | ||||
| -rw-r--r-- | FS/FS/Record.pm | 21 |
2 files changed, 21 insertions, 1 deletions
diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm index a4650632d..045a5b12c 100644 --- a/FS/FS/Mason.pm +++ b/FS/FS/Mason.pm @@ -122,6 +122,7 @@ if ( -e $addl_handler_use_file ) { use FS::UID qw( getotaker dbh datasrc driver_name ); use FS::Record qw( qsearch qsearchs fields dbdef str2time_sql str2time_sql_closing + midnight_sql ); use FS::Conf; use FS::CGI qw(header menubar table itable ntable idiot diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index a8b912cf1..3667d5159 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -38,6 +38,7 @@ use Tie::IxHash; @EXPORT_OK = qw( dbh fields hfields qsearch qsearchs dbdef jsearch str2time_sql str2time_sql_closing regexp_sql not_regexp_sql concat_sql + midnight_sql ); $DEBUG = 0; @@ -3245,7 +3246,7 @@ sub not_regexp_sql { =item concat_sql [ DRIVER_NAME ] ITEMS_ARRAYREF -Returns the items concatendated based on database type, using "CONCAT()" for +Returns the items concatenated based on database type, using "CONCAT()" for mysql and " || " for Pg and other databases. You can pass an optional driver name such as "Pg", "mysql" or @@ -3266,6 +3267,24 @@ sub concat_sql { } +=item midnight_sql DATE + +Returns an SQL expression to convert DATE (a unix timestamp) to midnight +on that day in the system timezone, using the default driver name. + +=cut + +sub midnight_sql { + my $driver = driver_name; + my $expr = shift; + if ( $driver =~ /^mysql/i ) { + "UNIX_TIMESTAMP(DATE(FROM_UNIXTIME($expr)))"; + } + else { + "EXTRACT( EPOCH FROM DATE(TO_TIMESTAMP($expr)) )"; + } +} + =back =head1 BUGS |
