X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg%2Fsql_external.pm;h=3cdfe992ea7da097176165e86a37d6094734e364;hb=b71b1576c68bc40ad26592b354feace37a029f0e;hp=9bf107b7df314b3b919c8cf698b95794dca6895c;hpb=a2ecb1cf6a6c084c521710f1256da082f70ba9e5;p=freeside.git diff --git a/FS/FS/part_pkg/sql_external.pm b/FS/FS/part_pkg/sql_external.pm index 9bf107b7d..3cdfe992e 100644 --- a/FS/FS/part_pkg/sql_external.pm +++ b/FS/FS/part_pkg/sql_external.pm @@ -19,6 +19,10 @@ our @detail_cols = ( qw(amount format duration phonenum accountcode 'shortname' => 'External SQL query', 'inherit_fields' => [ 'prorate_Mixin', 'global_Mixin' ], 'fields' => { + 'sync_bill_date' => { 'name' => 'Prorate first month to synchronize '. + 'with the customer\'s other packages', + 'type' => 'checkbox', + }, 'cutoff_day' => { 'name' => 'Billing Day (1 - 28) for prorating or '. 'subscription', 'default' => '1', @@ -40,6 +44,7 @@ our @detail_cols = ( qw(amount format duration phonenum accountcode 'default' => '', }, 'query' => { 'name' => 'SQL query', + 'type' => 'textarea', 'default' => '', }, @@ -50,7 +55,7 @@ our @detail_cols = ( qw(amount format duration phonenum accountcode }, }, - 'fieldorder' => [qw( recur_method cutoff_day ), + 'fieldorder' => [qw( recur_method cutoff_day sync_bill_date), FS::part_pkg::prorate_Mixin::fieldorder, qw( datasrc db_username db_password query query_style )], @@ -140,6 +145,12 @@ sub calc_recur { ($cust_pkg->quantity || 1) * $self->calc_recur_Common($cust_pkg,$sdate,$details,$param); } +sub cutoff_day { + my( $self, $cust_pkg ) = @_; + my $error = FS::part_pkg::flat::cutoff_day( $self, $cust_pkg ); + return $error; +} + sub can_discount { 1; } sub is_free { 0; }