Open new tab for editing items
[infodrom.org/service.infodrom.org] / src / InfoCon / buch / infocon
index 76e0b40..d049fd6 100755 (executable)
@@ -39,6 +39,7 @@ my $term = undef;
 my $opt_all = 0;
 my $opt_verbose = 0;
 my $opt_year = 0;
+my $opt_date = undef;
 my $opt_direction = undef;
 
 sub sdate
@@ -94,9 +95,10 @@ sub pay_invoice
     my $sth;
 
     if ($pay) {
-       $query  = "UPDATE sales SET paid=1,billing_date=now() WHERE nr = $nr";
+       $query  = sprintf("UPDATE sales SET paid=1,billing_date=%s WHERE nr = %d",
+                         defined $opt_date ? $dbh->quote($opt_date) : 'now()', $nr);
     } else {
-       $query  = "UPDATE sales SET paid=0,billing_date=NULL WHERE nr = $nr";
+       $query  = sprintf("UPDATE sales SET paid=0,billing_date=NULL WHERE nr = %d", $nr);
     }
     $sth = $dbh->do($query);
 }
@@ -509,6 +511,7 @@ sub usage
     print "  --buchung-input|-bi\n";
     print "  --buchung-unpaid\n";
     print "  --buchung-hidden\n";
+    print "  --date yyyy-mm-dd (for --pay)\n";
     print "  --pay <nr> | --unpay <nr>\n";
     print "  --hide <nr> | --unhide <nr>\n";
     print "  --list-categories|-lc\n";
@@ -541,6 +544,7 @@ my %options = (
     'hide=s' => \$data{hide},
     'unhide=s' => \$data{unhide},
     'year=i' => \$opt_year,
+    'date=s' => \$opt_date,
     'direction|d=s' => \$opt_direction,
     'mailto:s' => \$data{mailto},
     'all' => \$opt_all,