summaryrefslogtreecommitdiff
path: root/doc/TODO
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2008-06-19 03:34:46 -0400
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>2008-06-19 03:34:46 -0400
commitd96875037bca527fe2bc88f7cc1a3842e3080f04 (patch)
treeb049a5c1c51eee6a04232ba8ed30c2cb6bfc4724 /doc/TODO
parent1cfde8b57895ab300f47452d03da20e73f27032d (diff)
fixed think-o: running a commend with no arguments should have no arguments.
Diffstat (limited to 'doc/TODO')
0 files changed, 0 insertions, 0 deletions
an class="hl opt">;
  • use LedgerSMB::Tax;
  • use LedgerSMB::PriceMatrix;
  • use LedgerSMB::Sysconfig;
  • use Math::BigFloat;
  • sub post_invoice {
  • my ( $self, $myconfig, $form ) = @_;
  • if ($form->{id}){
  • delete_invoice($self, $myconfig, $form);
  • }
  • my $dbh = $form->{dbh};
  • $form->{invnumber} = $form->update_defaults( $myconfig, "vinumber", $dbh )
  • unless $form->{invnumber};
  • for ( 1 .. $form->{rowcount} ) {
  • $form->{"qty_$_"} *= -1 if $form->{reverse};
  • unless ( $form->{"deliverydate_$_"} ) {
  • $form->{"deliverydate_$_"} = $form->{transdate};
  • }
  • }
  • my $query;
  • my $sth;
  • my $ref;
  • my $null;
  • my $project_id;
  • my $exchangerate = 0;
  • my $allocated;
  • my $taxrate;
  • my $taxamount;
  • my $diff = 0;
  • my $item;
  • my $invoice_id;
  • my $keepcleared;
  • ( $null, $form->{employee_id} ) = split /--/, $form->{employee};
  • unless ( $form->{employee_id} ) {
  • ( $form->{employee}, $form->{employee_id} ) = $form->get_employee($dbh);
  • }
  • ( $null, $form->{department_id} ) = split( /--/, $form->{department} );
  • $form->{department_id} *= 1;
  • $query = qq|
  • SELECT (SELECT value FROM defaults
  • WHERE setting_key = 'fxgain_accno_id')
  • AS fxgain_accno_id,
  • (SELECT value FROM defaults
  • WHERE setting_key = 'fxloss_accno_id')
  • AS fxloss_accno_id|;
  • my ( $fxgain_accno_id, $fxloss_accno_id ) = $dbh->selectrow_array($query);
  • $query = qq|
  • SELECT inventory_accno_id, income_accno_id, expense_accno_id
  • FROM parts
  • WHERE id = ?|;
  • my $pth = $dbh->prepare($query) || $form->dberror($query);
  • my %updparts = ();
  • if ( $form->{id} ) {
  • my $sth;
  • $keepcleared = 1;
  • $query = qq|SELECT id FROM ap WHERE id = ?|;
  • $sth = $dbh->prepare($query);
  • $sth->execute( $form->{id} );
  • if ( $sth->fetchrow_array ) {
  • $query = qq|
  • SELECT p.id, p.inventory_accno_id,
  • p.income_accno_id
  • FROM invoice i
  • JOIN parts p ON (p.id = i.parts_id)
  • WHERE i.trans_id = ?|;
  • $sth = $dbh->prepare($query);
  • $sth->execute( $form->{id} ) || $form->dberror($query);
  • while ( $ref = $sth->fetchrow_hashref ) {
  • if ( $ref->{inventory_accno_id}
  • && $ref->{income_accno_id} )
  • {
  • $updparts{ $ref->{id} } = 1;
  • }
  • }
  • $sth->finish;
  • &reverse_invoice( $dbh, $form );
  • }
  • else {
  • $query = qq|INSERT INTO ap (id) VALUES (?)|;
  • $sth = $dbh->prepare($query);
  • $sth->execute( $form->{id} ) || $form->dberror($query);
  • }
  • }
  • my $uid = localtime;
  • $uid .= "$$";
  • if ( !$form->{id} ) {
  • $query = qq|
  • INSERT INTO ap (invnumber, employee_id)
  • VALUES ('$uid', (SELECT id FROM employee
  • WHERE login = ?))|;
  • $sth = $dbh->prepare($query);
  • $sth->execute( $form->{login} ) || $form->dberror($query);
  • $query = qq|SELECT id FROM ap WHERE invnumber = '$uid'|;
  • $sth = $dbh->prepare($query);
  • $sth->execute || $form->dberror($query);
  • ( $form->{id} ) = $sth->fetchrow_array;
  • $sth->finish;
  • }
  • my $amount;
  • my $grossamount;
  • my $allocated;