summaryrefslogtreecommitdiff
path: root/httemplate/edit/process
diff options
context:
space:
mode:
authorivan <ivan>2002-01-30 18:22:54 +0000
committerivan <ivan>2002-01-30 18:22:54 +0000
commitc7ff9a58360788ce776022606c4ec3496062013b (patch)
tree82bf1727e804dce87fc452e060466d6da7ddd879 /httemplate/edit/process
parent1fd6d8cf5d7854860ef4fd10ed89828e0c04ec39 (diff)
fully working invoice event web interface
Diffstat (limited to 'httemplate/edit/process')
-rwxr-xr-xhttemplate/edit/process/part_bill_event.cgi46
1 files changed, 34 insertions, 12 deletions
diff --git a/httemplate/edit/process/part_bill_event.cgi b/httemplate/edit/process/part_bill_event.cgi
index eb7c53e5d..7c0b54d0d 100755
--- a/httemplate/edit/process/part_bill_event.cgi
+++ b/httemplate/edit/process/part_bill_event.cgi
@@ -5,21 +5,43 @@ my $eventpart = $cgi->param('eventpart');
my $old = qsearchs('part_bill_event',{'eventpart'=>$eventpart}) if $eventpart;
#s/days/seconds/
-$cgi->param('seconds', $cgi->param('days') * 3600 );
-
-my $new = new FS::part_bill_event ( {
- map {
- $_, scalar($cgi->param($_));
- } fields('part_bill_event'),
-} );
+$cgi->param('seconds', $cgi->param('days') * 86400 );
my $error;
-if ( $eventpart ) {
- $error = $new->replace($old);
+if ( ! $cgi->param('plan_weight_eventcode') ) {
+ $error = "Must select an action";
} else {
- $error = $new->insert;
- $eventpart = $new->getfield('eventpart');
-}
+
+ $cgi->param('plan_weight_eventcode') =~ /^(\w+):(\d+):(.*)$/
+ or die "illegal plan_weight_eventcode:".
+ $cgi->param('plan_weight_eventcode');
+ $cgi->param('plan', $1);
+ $cgi->param('weight', $2);
+ my $eventcode = $3;
+ my $plandata = '';
+ while ( $eventcode =~ /%%%(\w+)%%%/ ) {
+ my $field = $1;
+ my $value = $cgi->param($field);
+ $eventcode =~ s/%%%$field%%%/$value/;
+ $plandata .= "$field $value\n";
+ }
+ $cgi->param('eventcode', $eventcode);
+ $cgi->param('plandata', $plandata);
+
+ my $new = new FS::part_bill_event ( {
+ map {
+ $_, scalar($cgi->param($_));
+ } fields('part_bill_event'),
+ } );
+
+ my $error;
+ if ( $eventpart ) {
+ $error = $new->replace($old);
+ } else {
+ $error = $new->insert;
+ $eventpart = $new->getfield('eventpart');
+ }
+}
if ( $error ) {
$cgi->param('error', $error);