Fix cut and paste error.
[capital-apms.git] / inc / action / screen / close_transactions.php
blob1a2c506ef9f87d61c22a8716f741fddb5709d93d
1 <?php
2 /**
3 * Component for closing transactions
4 * @package apms
5 * @subpackage close_transactions
6 * @author Andrew McMillan <andrew@morphoss.com>
7 * @copyright Morphoss Ltd http://www.morphoss.com/
8 * @license http://gnu.org/copyleft/gpl.html GNU GPL v2 or later
9 */
11 // Can only close transactions for tenant/creditor
12 param_to_global( 'id', '#^[CT]-\d+(-\d+(\.\d+)?)?$#i' );
13 if ( isset($id) ) {
14 list( $et, $ec, $ac ) = explode('-',$id,3);
15 $et = strtoupper(substr($et,0,1));
16 $ec = intval($ec);
17 // $ac = floatval($ac); // ignored, in this case.
21 /**
22 * The browser
24 $browser = new Browser("Close Transactions");
25 if ( isset($et) && isset($ec) ) {
26 $qry = new PgQuery( "SELECT get_entity_type_name(?) AS entitytypename, get_entity_name(?,?) AS entityname;", $et, $et, $ec);
27 if ( $qry->Exec("Browse::Transaction") && $row = $qry->Fetch() ) {
28 $browser->SetTitle("$row->entitytypename Transactions for $row->entityname ($et$ec)");
29 $c->title = $browser->Title;
33 $browser->SetWhere( "closedstate IN ( 'O', 'P' ) " );
34 if ( isset($et) )
35 $browser->AndWhere( "entitytype = '$et'" );
36 else
37 $browser->AddColumn( 'entitytype', 'ET', 'center' );
39 if ( isset($ec) )
40 $browser->AndWhere( "entitycode = $ec" );
41 else
42 $browser->AddColumn( 'entitycode', 'Code', 'right' );
44 $browser->AddHidden( 'txn', "batchcode || '.' || documentcode || '.' || transactioncode" );
45 $browser->AddHidden( 'document', "batchcode || '.' || documentcode" );
46 $browser->AddHidden( 'accountname', "chartofaccount.name" );
47 $browser->AddColumn( 'date', 'Date', 'center' );
48 $browser->AddColumn( 'reference', 'Reference', 'left', '', "COALESCE(accttran.reference, document.reference)" );
49 $browser->AddColumn( 'description', 'Description', 'left', '', "COALESCE(accttran.description, document.description)" );
50 $browser->AddColumn( 'amount', 'Amount', 'right', '%0.2lf' );
51 $browser->AddColumn( 'closedstate', 'Close', 'center', '<input type="checkbox" name="close[##txn##]" value="C" onclick="Toggle(\'close[##txn##]\');">' );
52 $browser->AddTotal( 'amount' );
53 $browser->SetJoins( "accttran JOIN batch USING (batchcode) JOIN document USING (batchcode, documentcode) JOIN month USING (monthcode) JOIN chartofaccount USING(accountcode)" );
55 include_once("menus_entityaccount.php");
57 $browser->AddOrder( 'date', 'ASC' );
58 $rowurl = '/view.php?t=document&id=%s';
59 $browser->RowFormat( "<tr onclick=\"Toggle('close[%s]');\" title=\"Mark transactions to be closed as a group\" class=\"r%d\">\n", "</tr>\n", 'txn', '#even' );
60 $browser->SetDiv( '<div class="browser"><form method="POST">', '<input class="submit" type="submit" name="submit" value="Close Group"></div>' );
61 $browser->DoQuery();
63 $page_elements[] = $browser;