Getting the receipt/payment data in order, getting ready to save (or at least experiment with save.
git-svn-id: file:///svn-source/pmgr/branches/ledger_transactions_20090605@157 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
class TransactionsController extends AppController {
|
||||
|
||||
var $components = array('RequestHandler');
|
||||
|
||||
var $sidemenu_links =
|
||||
array(array('name' => 'Transactions', 'header' => true),
|
||||
array('name' => 'All', 'url' => array('controller' => 'transactions', 'action' => 'all')),
|
||||
@@ -92,4 +94,20 @@ class TransactionsController extends AppController {
|
||||
$title = 'Transaction #' . $transaction['Transaction']['id'];
|
||||
$this->set(compact('transaction', 'title', 'total'));
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
**************************************************************************
|
||||
**************************************************************************
|
||||
* action: postReceipt
|
||||
* - handles the creation of a payment receipt
|
||||
*/
|
||||
|
||||
function postReceipt() {
|
||||
if ($this->RequestHandler->isPost()) {
|
||||
pr($this->data);
|
||||
//$this->redirect(array('action'=>'index'));
|
||||
}
|
||||
$this->autoRender = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ $grid_setup['onSelectRow'] = array
|
||||
function resetPaymentForm() {
|
||||
// Get a clean slate for our payments
|
||||
$('#payments').html('');
|
||||
$('#payment-id').val(1);
|
||||
$('#payment-id').val(0);
|
||||
addPaymentSource(false);
|
||||
}
|
||||
|
||||
@@ -176,16 +176,27 @@ $grid_setup['onSelectRow'] = array
|
||||
|
||||
'<DIV ID="payment-type-div-%{id}">' +
|
||||
<?php
|
||||
/* REVISIT <AP> 20090616:
|
||||
* MUST GET THIS FROM THE DATABASE!!
|
||||
* HARDCODED VALUES BAD... VERY BAD...
|
||||
*/
|
||||
$monetary_type_ids = array('Cash' => 2,
|
||||
'Check' => 3,
|
||||
'Money Order' => 4,
|
||||
'ACH' => 5,
|
||||
'Credit Card' => 7,
|
||||
);
|
||||
|
||||
$types = array();
|
||||
foreach(array('Cash', 'Check', 'Money Order', /*'ACH', 'Credit Card'*/) AS $name)
|
||||
$types[preg_replace("/ /", "", strtolower($name))] = $name;
|
||||
|
||||
foreach ($types AS $type => $name) {
|
||||
$div = '<DIV>';
|
||||
$div .= '<INPUT TYPE="radio" NAME="data[Source][%{id}][type]"';
|
||||
$div .= '<INPUT TYPE="radio" NAME="data[LedgerEntry][%{id}][MonetarySource][monetary_type_id]"';
|
||||
$div .= ' ONCLICK="switchPaymentType(%{id}, \\\''.$type.'\\\')"';
|
||||
$div .= ' CLASS="payment-type-%{id}" ID="payment-type-'.$type.'-%{id}"';
|
||||
$div .= ' VALUE="'.$type.'" ' . ($type == 'cash' ? 'CHECKED ' : '') . '/>';
|
||||
$div .= ' VALUE="'.$monetary_type_ids[$name].'" ' . ($name == 'Cash' ? 'CHECKED ' : '') . '/>';
|
||||
$div .= ' <LABEL FOR="payment-type-'.$type.'-%{id}">'.$name.'</LABEL>';
|
||||
$div .= '</DIV>';
|
||||
echo "'$div' +\n";
|
||||
@@ -196,7 +207,7 @@ $grid_setup['onSelectRow'] = array
|
||||
'<DIV ID="payment-amount-div-%{id}" CLASS="input text required">' +
|
||||
' <LABEL FOR="payment-amount-%{id}">Amount</LABEL>' +
|
||||
' <INPUT TYPE="text" SIZE="20"' +
|
||||
' NAME="data[Source][%{id}][amount]"' +
|
||||
' NAME="data[LedgerEntry][%{id}][amount]"' +
|
||||
' ID="payment-amount-%{id}" />' +
|
||||
'</DIV>' +
|
||||
|
||||
@@ -233,7 +244,8 @@ function switchPaymentType(paymentid, type) {
|
||||
html =
|
||||
'<DIV CLASS="input text required">' +
|
||||
' <LABEL FOR="payment-check-number-'+paymentid+'">Check Number</LABEL>' +
|
||||
' <INPUT TYPE="text" SIZE="6" NAME="data[Source]['+paymentid+'][check][number]"' +
|
||||
// REVISIT <AP>: 20090617: Use comment field for now.
|
||||
' <INPUT TYPE="text" SIZE="6" NAME="data[LedgerEntry]['+paymentid+'][MonetarySource][comment]"' +
|
||||
' ID="payment-check-number-'+paymentid+'" />' +
|
||||
'</DIV>';
|
||||
break;
|
||||
@@ -242,7 +254,8 @@ function switchPaymentType(paymentid, type) {
|
||||
html =
|
||||
'<DIV CLASS="input text required">' +
|
||||
' <LABEL FOR="payment-moneyorder-number-'+paymentid+'">Money Order Number</LABEL>' +
|
||||
' <INPUT TYPE="text" SIZE="6" NAME="data[Source]['+paymentid+'][moneyorder][number]"' +
|
||||
// REVISIT <AP>: 20090617: Use comment field for now.
|
||||
' <INPUT TYPE="text" SIZE="6" NAME="data[LedgerEntry]['+paymentid+'][MonetarySource][comment]"' +
|
||||
' ID="payment-moneyorder-number-'+paymentid+'" />' +
|
||||
'</DIV>';
|
||||
break;
|
||||
@@ -251,13 +264,15 @@ function switchPaymentType(paymentid, type) {
|
||||
html =
|
||||
'<DIV CLASS="input text required">' +
|
||||
' <LABEL FOR="payment-ach-routing-'+paymentid+'">Routing Number</LABEL>' +
|
||||
' <INPUT TYPE="text" SIZE="9" NAME="data[Source]['+paymentid+'][ach][routing]"' +
|
||||
// REVISIT <AP>: 20090617: Use comment field for now.
|
||||
' <INPUT TYPE="text" SIZE="9" NAME="data[LedgerEntry]['+paymentid+'][MonetarySource][comment]"' +
|
||||
' ID="payment-ach-routing-'+paymentid+'" />' +
|
||||
'</DIV>' +
|
||||
|
||||
'<DIV CLASS="input text required">' +
|
||||
' <LABEL FOR="payment-ach-account-'+paymentid+'">Account Number</LABEL>' +
|
||||
' <INPUT TYPE="text" SIZE="17" NAME="data[Source]['+paymentid+'][ach][account]"' +
|
||||
// REVISIT <AP>: 20090617: Use comment field for now.
|
||||
' <INPUT TYPE="text" SIZE="17" NAME="data[LedgerEntry]['+paymentid+'][MonetarySource][comment]"' +
|
||||
' ID="payment-ach-account-'+paymentid+'" />' +
|
||||
'</DIV>';
|
||||
break;
|
||||
@@ -266,19 +281,22 @@ function switchPaymentType(paymentid, type) {
|
||||
html =
|
||||
'<DIV CLASS="input text required">' +
|
||||
' <LABEL FOR="payment-creditcard-account-'+paymentid+'">Account Number</LABEL>' +
|
||||
' <INPUT TYPE="text" SIZE="16" NAME="data[Source]['+paymentid+'][creditcard][account]"' +
|
||||
// REVISIT <AP>: 20090617: Use comment field for now.
|
||||
' <INPUT TYPE="text" SIZE="16" NAME="data[LedgerEntry]['+paymentid+'][MonetarySource][comment]' +
|
||||
' ID="payment-creditcard-account-'+paymentid+'" />' +
|
||||
'</DIV>' +
|
||||
|
||||
'<DIV CLASS="input text required">' +
|
||||
' <LABEL FOR="payment-creditcard-expiration-'+paymentid+'">Expiration Date</LABEL>' +
|
||||
' <INPUT TYPE="text" SIZE="10" NAME="data[Source]['+paymentid+'][creditcard][expiration]"' +
|
||||
// REVISIT <AP>: 20090617: Use comment field for now.
|
||||
' <INPUT TYPE="text" SIZE="10" NAME="data[LedgerEntry]['+paymentid+'][MonetarySource][comment]' +
|
||||
' ID="payment-creditcard-expiration-'+paymentid+'" />' +
|
||||
' </DIV>' +
|
||||
|
||||
'<DIV CLASS="input text required">' +
|
||||
' <LABEL FOR="payment-creditcard-cvv2-'+paymentid+'">CVV2 Code</LABEL>' +
|
||||
' <INPUT TYPE="text" SIZE="10" NAME="data[Source]['+paymentid+'][creditcard][cvv2]"' +
|
||||
// REVISIT <AP>: 20090617: Use comment field for now.
|
||||
' <INPUT TYPE="text" SIZE="10" NAME=data[LedgerEntry]['+paymentid+'][MonetarySource][comment]' +
|
||||
' ID="payment-creditcard-cvv2-'+paymentid+'" />' +
|
||||
'</DIV>';
|
||||
break;
|
||||
@@ -300,7 +318,7 @@ function switchPaymentType(paymentid, type) {
|
||||
//echo '<DIV ID="dialog">' . "\n";
|
||||
|
||||
echo $this->element('customers',
|
||||
array('caption' => '<A HREF="#" ONCLICK="$(\\\'.HeaderButton\\\').click(); return false;">Select Customer</A>',
|
||||
array('caption' => '<A HREF="#" ONCLICK="$(\'.HeaderButton\').click(); return false;">Select Customer</A>',
|
||||
'limit' => 7,
|
||||
'grid_setup' => $grid_setup,
|
||||
));
|
||||
@@ -311,14 +329,55 @@ echo ('<H2><SPAN id="payment_customer">' .
|
||||
: 'Please select customer') .
|
||||
'</SPAN></H2>' . "\n");
|
||||
|
||||
//echo $form->create(null, array('id' => 'payment-form', 'action' => 'other'));
|
||||
echo $form->create(null, array('id' => 'payment-form', 'url' => 'http://localhost/vars.php'));
|
||||
echo $form->create(null, array('id' => 'payment-form',
|
||||
'url' => array('controller' => 'transactions',
|
||||
'action' => 'postReceipt')));
|
||||
|
||||
/***************************************************
|
||||
* Post data should look like this:
|
||||
*
|
||||
* data => Array
|
||||
* (
|
||||
* [Transaction] => Array
|
||||
* (
|
||||
* stamp => <Transaction Time Stamp>
|
||||
* through_date => <Transaction Through Date, if any>
|
||||
* due_date => <Transaction Due Date, if any>
|
||||
* comment => <Transaction Comment>
|
||||
* )
|
||||
*
|
||||
* [LedgerEntry] => Array
|
||||
* (
|
||||
* [0] => Array
|
||||
* (
|
||||
* name => <NOT TO INCLUDE??>
|
||||
* amount => <Payment Amount>
|
||||
* debit_ledger_id => <ID of the debit account's current ledger>
|
||||
* credit_ledger_id => <ID of the debit account's current ledger>
|
||||
* comment => <Ledger Entry Comment>
|
||||
*
|
||||
* [MonetarySource] => Array
|
||||
* (
|
||||
* name => <Name (may be useless parameter)>
|
||||
* monetary_type_id => <Monetary Type ID>
|
||||
* comment => <Monetary Source Comment>
|
||||
* )
|
||||
*
|
||||
* REVISIT: Reconciliations will be tricker.
|
||||
* )
|
||||
*
|
||||
* )
|
||||
*
|
||||
* )
|
||||
*
|
||||
***************************************************/
|
||||
|
||||
?>
|
||||
<input type="hidden" id="customer-id" name="data[Customer][id]" value="<?php echo $customer['Customer']['id']; ?>">
|
||||
|
||||
<fieldset CLASS="payment superset">
|
||||
<legend>Payments</legend>
|
||||
<input type="hidden" id="payment-id" value="1">
|
||||
<input type="hidden" id="payment-id" value="0">
|
||||
<div id="payments"></div>
|
||||
<fieldset> <legend>
|
||||
<a href="#" onClick="addPaymentSource(true); return false;">Add Another Payment</a>
|
||||
@@ -327,8 +386,8 @@ echo ('<H2><SPAN id="payment_customer">' .
|
||||
|
||||
<?php
|
||||
|
||||
echo 'Date: <input id="datepicker" name="data[Date]" type="text" /><BR>' . "\n";
|
||||
echo 'Comment: <input id="comment" name="data[Comment]" type="text" SIZE=80 /><BR>' . "\n";
|
||||
echo 'Date: <input id="datepicker" name="data[Transaction][stamp]" type="text" /><BR>' . "\n";
|
||||
echo 'Comment: <input id="comment" name="data[Transaction][comment]" type="text" SIZE=80 /><BR>' . "\n";
|
||||
echo $form->end('Post Payment');
|
||||
|
||||
//echo '</DIV>' . "\n"; // End of the dialog DIV
|
||||
|
||||
Reference in New Issue
Block a user