backdate credits, RT#32320
[freeside.git] / httemplate / edit / process / cust_credit.cgi
index e442d7f..39c6f19 100755 (executable)
@@ -42,11 +42,20 @@ if (!$reasonnum) {
 }
 $cgi->param('reasonnum', $reasonnum) unless $error;
 
+my $_date;
+if ( $FS::CurrentUser::CurrentUser->access_right('Backdate credit') ) {
+  $_date = parse_datetime($cgi->param('_date'));
+}
+else {
+  $_date = time;
+}
+
+my @fields = grep { $_ ne '_date' } fields('cust_credit');
+
 unless ($error) {
   my $new = new FS::cust_credit ( {
-    map {
-      $_, scalar($cgi->param($_));
-    } fields('cust_credit')
+    _date  => $_date,
+    map { $_ => scalar($cgi->param($_)) } @fields
   } );
   $error = $new->insert;
 }