summaryrefslogtreecommitdiff
path: root/httemplate/edit/process
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2014-11-29 16:36:19 -0800
committerMark Wells <mark@freeside.biz>2014-11-29 16:36:25 -0800
commitffda3975d8eefa8d08ae9e468dba33448e207ae6 (patch)
treeaff371664c60cab543c3351fbf973d95216debca /httemplate/edit/process
parentea16cbe4a50fa79872a4f08225863f39b7d28c06 (diff)
fix editing of events that have reasons, from #31702
Diffstat (limited to 'httemplate/edit/process')
-rw-r--r--httemplate/edit/process/part_event.html15
1 files changed, 10 insertions, 5 deletions
diff --git a/httemplate/edit/process/part_event.html b/httemplate/edit/process/part_event.html
index 481439d53..bac69241c 100644
--- a/httemplate/edit/process/part_event.html
+++ b/httemplate/edit/process/part_event.html
@@ -62,12 +62,17 @@
my $value = join(',', $cgi->param( "$prefix$option" ) );
if ( $option eq 'reasonnum' && $value == -1 ) {
- $value = {
- 'typenum' => scalar( $cgi->param( "new$prefix${option}T" ) ),
- 'reason' => scalar( $cgi->param( "new$prefix${option}" ) ),
- };
+ my $reason_prefix = $object->action . '_' . $option . '_new_';
+ my $new_reason = FS::reason->new;
+ foreach ( qw( reason_type reason unsuspend pkgpart
+ unsuspend_hold unused_credit ) ) {
+ $new_reason->set($_, $cgi->param("$reason_prefix$_"));
+ }
+ warn Dumper $new_reason;
+ my $error = $new_reason->insert;
+ die "error creating reason: $error" if $error;
+ $value = $new_reason->reasonnum;
}
-
( $option => $value );
}
@{ $object->option_fields_listref };