Much refactoring to use $page_element generically, and to use newer
[capital-apms.git] / inc / view / newbatch.php
blobf1c1e0da667dd3326f60f5b309c5fdf2963eb119
1 <?php
2 include_once("classViewer.php");
3 include_once("classEditor.php");
5 param_to_global('id', 'int', 'batchcode');
6 // Viewer component for company records
7 $viewer = new Viewer("Unposted Batch");
8 $viewer->AddField( 'batchcode' );
9 $viewer->AddField( 'batchtype' );
10 $viewer->AddField( 'description' );
11 $viewer->AddField( 'documentcount' );
12 $viewer->SetJoins( 'newbatch' );
14 $viewer->SetWhere( 'batchcode='.$id );
16 $template = <<<EOTEMPLATE
17 <table>
18 <tr>
19 <th class="right">Batch:</th>
20 <td class="center">##batchcode.value##</td>
21 <th class="right">Type:</th>
22 <td class="center">##batchtype.value##</td>
23 </tr>
24 <tr>
25 <th class="right">Description:</th>
26 <td class="left" colspan="3">##description.value##</td>
27 </tr>
28 </table>
30 EOTEMPLATE;
32 $viewer->SetTemplate( $template );
33 $viewer->GetRecord();
34 $viewer->SetTitle("Unposted Batch: $id - ".$viewer->Record->{'description'});
35 $c->page_title = $viewer->Title;
36 $page_elements[] = $viewer;
38 $related_menu->AddOption("View Batch","/view.php?t=newbatch&id=$id","View this unposted batch of transactions.");
39 $related_menu->AddOption("Edit Batch","/edit.php?t=newbatch&id=$id","Edit this unposted batch of transactions.");
40 $related_menu->AddOption("Create Batch","/edit.php?t=newbatch","Create a new batch of transactions.");
41 if ( $viewer->Record->{'batchtype'} == 'ACCR' ) {
42 $related_menu->AddOption("Copy Batch","/action.php?t=batch-copy&batchcode=$id","Copy this batch of accruals transactions");
44 else {
45 $related_menu->AddOption("Update Batch","/action.php?t=batch-update&batchcode=$id","Update this batch of transactions");
49 // Now list income accounts
50 require_once('classBrowser.php');
52 $documentcount = $viewer->Record->{'documentcount'};
53 // $browsers[] = array();
55 $template = new Browser("Document");
56 $template->AddColumn( 'transactioncode', 'TxNo', 'right' );
57 // $template->AddColumn( 'account', 'Account', 'left', "entitytype || '-' || TO_CHAR(entitycode,'FM00009') || '-' || TO_CHAR(accountcode,'FM0009.00')" );
58 $template->AddColumn( 'entitytype', 'ET', 'center' );
59 $template->AddColumn( 'entitycode', 'Code', 'right' );
60 $template->AddColumn( 'accountcode', 'Account', 'right', '', "TO_CHAR(accountcode,'FM0009.00')" );
61 $template->AddColumn( 'date', 'Date', 'center', '', "TO_CHAR(date,'DD/MM/YYYY')" );
62 $template->AddColumn( 'reference', 'Reference', 'left', '', "COALESCE(newaccttrans.reference,newdocument.reference)" );
63 $template->AddColumn( 'description', 'Description', 'left', '', "COALESCE(newaccttrans.description,newdocument.description)" );
64 $template->AddColumn( 'amount', 'Amount', 'right', '%0.2lf' );
65 $template->AddTotal( 'amount' );
66 $template->SetJoins( "newdocument LEFT JOIN newaccttrans USING ( batchcode, documentcode ) " );
67 $template->SetWhere( "newdocument.batchcode = $id" );
68 $template->AddOrder( 'transactioncode', 'ASC' );
69 // $rowurl = '/view.php?t=account&id=%s';
70 $template->RowFormat( "<tr class=\"r%d\">\n", "</tr>\n", '#even' );
72 // Now, based on the template lets add that for each document...
73 for ( $doc = 1; $doc <= $documentcount; $doc++ ) {
74 $browser = clone($template);
75 $browser->SetTitle("Document $doc");
76 $browser->SetOrdering('transactioncode', 'ASC', $doc );
77 $browser->AndWhere("newdocument.documentcode = $doc" );
78 $page_elements[] = $browser;