From: ivan Date: Thu, 25 Apr 2002 10:37:08 +0000 (+0000) Subject: free_delayed try #2 X-Git-Tag: freeside_1_4_0_pre12~19 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=2a22a4862979750c1886ac8f125043854be47d58 free_delayed try #2 --- diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index 0cb766eef..8ab8ad452 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -189,16 +189,20 @@ sub check { my $s = $self->setup; - $s =~ /^\s*\d*\.?\d*\s*$/ or do { - #log! - return "illegal setup: $s"; - }; + $s =~ /^\s*\d*\.?\d*\s*$/ + + or $s =~ /^my \$d = \$cust_pkg->bill || \$time; \$d += 86400 \* \s*\d+\s*; \$cust_pkg->bill\(\$d\); \$cust_pkg_mod_flag=1; \s*\d*\.?\d*\s*$/ + + or do { + #log! + return "illegal setup: $s"; + }; my $r = $self->recur; $r =~ /^\s*\d*\.?\d*\s*$/ - or $r =~ /^\$sdate += 86400 \* \s*\d+\s*; \s*\d*\.?\d*\s*$/ + #or $r =~ /^\$sdate += 86400 \* \s*\d+\s*; \s*\d*\.?\d*\s*$/ or $r =~ /^my \$mnow = \$sdate; my \(\$sec,\$min,\$hour,\$mday,\$mon,\$year\) = \(localtime\(\$sdate\) \)\[0,1,2,3,4,5\]; my \$mstart = timelocal\(0,0,0,1,\$mon,\$year\); my \$mend = timelocal\(0,0,0,1, \$mon == 11 \? 0 : \$mon\+1, \$year\+\(\$mon==11\)\); \$sdate = \$mstart; \( \$part_pkg->freq \- 1 \) \* \d*\.?\d* \/ \$part_pkg\-\>freq \+ \d*\.?\d* \/ \$part_pkg\-\>freq \* \(\$mend\-\$mnow\) \/ \(\$mend\-\$mstart\) ;\s*$/ @@ -293,7 +297,7 @@ sub payby { =head1 VERSION -$Id: part_pkg.pm,v 1.11 2002-04-25 09:47:25 ivan Exp $ +$Id: part_pkg.pm,v 1.12 2002-04-25 10:37:08 ivan Exp $ =head1 BUGS diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi index dea02f1cc..a63fc23fe 100755 --- a/httemplate/edit/part_pkg.cgi +++ b/httemplate/edit/part_pkg.cgi @@ -188,8 +188,8 @@ tie my %plans, 'Tie::IxHash', }, }, 'fieldorder' => [ 'free_days', 'setup_fee', 'recur_fee' ], - 'setup' => 'what.setup_fee.value', - 'recur' => '\'$sdate += 86400 * \' + what.free_days.value + \'; \' + what.recur_fee.value', + 'setup' => '\'my $d = $cust_pkg->bill || $time; $d += 86400 * \' + what.free_days.value + \'; $cust_pkg->bill($d); $cust_pkg_mod_flag=1; \' + what.setup_fee.value', + 'recur' => 'what.recur_fee.value', }, 'prorate' => {