[freeside-commits] branch master updated. fb603cbe0bf8cda2eb139bf2e867d23d636db7ad

Mark Wells mark at 420.am
Thu May 8 16:05:06 PDT 2014


The branch, master has been updated
       via  fb603cbe0bf8cda2eb139bf2e867d23d636db7ad (commit)
      from  3797296c49485eb48aea3cafe9d4a3323752ef34 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fb603cbe0bf8cda2eb139bf2e867d23d636db7ad
Author: Mark Wells <mark at freeside.biz>
Date:   Thu May 8 15:44:19 2014 -0700

    current day of month condition, #25899

diff --git a/FS/FS/part_event/Condition/day_of_month.pm b/FS/FS/part_event/Condition/day_of_month.pm
new file mode 100644
index 0000000..61cd8d6
--- /dev/null
+++ b/FS/FS/part_event/Condition/day_of_month.pm
@@ -0,0 +1,35 @@
+package FS::part_event::Condition::day_of_month;
+
+use strict;
+use base qw( FS::part_event::Condition );
+
+sub description {
+  "Run only on a certain day of the month",
+}
+
+sub option_fields {
+  (
+    'day'   => { label  => 'Day (1-28, separate multiple days with commas)',
+                 type   => 'text',
+               },
+  );
+}
+
+sub condition { # is this even necessary? condition_sql is exact.
+  my( $self, $object, %opt ) = @_;
+
+  my $today = (localtime($opt{'time'}))[3];
+  if (grep { $_ == $today } split(',', $self->option('day'))) {
+    return 1;
+  }
+  '';
+}
+
+sub condition_sql {
+  my( $class, $table, %opt ) = @_;
+  my $today = (localtime($opt{'time'}))[3];
+  my $day = $class->condition_sql_option('day');
+  "$today = ANY( string_to_array($day, ',')::integer[] )"
+}
+
+1;

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/part_event/Condition/day_of_month.pm |   35 ++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)
 create mode 100644 FS/FS/part_event/Condition/day_of_month.pm




More information about the freeside-commits mailing list