Added a much more user friendly way to present the data1-4 labels for each type, now that we have a tender_types table. Still not a perfect solution, but definitely good enough for now. Modified the application to recognize the new tender_types table. There may be other modifications necessary, but this gets the most obvious spot.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@378 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -1131,14 +1131,17 @@ CREATE TABLE `pmgr_tender_types` (
|
||||
-- include credit cards, debit cards, and ACH transfers.
|
||||
`tillable` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,
|
||||
|
||||
-- How many data fields are required/used by this type.
|
||||
-- Names of the 4 data fields (or NULL if not used)
|
||||
-- Not the most robust of solutions, especially since
|
||||
-- it requires (or strongly implicates) that all fields
|
||||
-- be of the same type (ugh). A more complete solution
|
||||
-- would be for each type to have its own table of data
|
||||
-- and to have that table specified here. However, this
|
||||
-- is MUCH simpler, and works for now.
|
||||
`data_fields` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`data1_name` VARCHAR(80) DEFAULT NULL,
|
||||
`data2_name` VARCHAR(80) DEFAULT NULL,
|
||||
`data3_name` VARCHAR(80) DEFAULT NULL,
|
||||
`data4_name` VARCHAR(80) DEFAULT NULL,
|
||||
|
||||
-- When we accept legal tender of this form, where does
|
||||
-- it go? Each type of legal tender can specify an
|
||||
|
||||
@@ -543,25 +543,36 @@ foreach my $tender_name ('Cash', 'Check', 'Money Order', 'ACH',
|
||||
#'Debit Card', 'Credit Card',
|
||||
) {
|
||||
my ($tillable, $fields) = (0, 0);
|
||||
my ($name1, $name2, $name3, $name4);
|
||||
|
||||
$tillable = 1
|
||||
if ($tender_name =~ /^Cash|Check|Money Order$/);
|
||||
|
||||
$fields = 1 # Check / Money Order Number
|
||||
if ($tender_name =~ /^Check|Money Order$/);
|
||||
($name1) = ('Check Number')
|
||||
if ($tender_name eq 'Check');
|
||||
|
||||
$fields = 2 # Routing Number, Account Number
|
||||
if ($tender_name =~ /^ACH$/);
|
||||
($name1) = ('Money Order Number')
|
||||
if ($tender_name eq 'Money Order');
|
||||
|
||||
$fields = 3 # Card Number, Expiration, Billing Zip
|
||||
if ($tender_name =~ / Card$/);
|
||||
($name1, $name2) = ('Routing Number', 'Account Number')
|
||||
if ($tender_name eq 'ACH');
|
||||
|
||||
($name1, $name2) = ('Debit Card Number', 'Expiration Date')
|
||||
if ($tender_name eq 'Debit Card');
|
||||
|
||||
($name1, $name2, $name3) = ('Debit Card Number', 'Expiration Date', 'Billing Zip Code')
|
||||
if ($tender_name eq 'Credit Card');
|
||||
|
||||
addRow('tender_types', {
|
||||
'name' => $tender_name,
|
||||
'account_id' => $newdb{'lookup'}{'account'}{$tender_name}{'account_id'},
|
||||
'tillable' => $tillable,
|
||||
'data_fields' => $fields,
|
||||
'data1_name' => $name1,
|
||||
'data2_name' => $name2,
|
||||
'data3_name' => $name3,
|
||||
'data4_name' => $name4,
|
||||
});
|
||||
|
||||
$newdb{'lookup'}{'tender_type'}{$tender_name}
|
||||
= { 'tender_type_id' => $newdb{'tables'}{'tender_types'}{'autoid'},
|
||||
'account_id' => $newdb{'lookup'}{'account'}{$tender_name}{'account_id'},
|
||||
@@ -613,6 +624,7 @@ foreach my $account_type (keys(%SITELINK_ACCOUNT_TYPE)) {
|
||||
|
||||
$newdb{'lookup'}{'_closing'}
|
||||
= { 'name' => 'Closing',
|
||||
'amount' => 0,
|
||||
'tender_type_id' => undef,
|
||||
'debit_account_id' => $newdb{'lookup'}{'account'}{'Closing'}{'account_id'},
|
||||
'debit_ledger_id' => $newdb{'lookup'}{'account'}{'Closing'}{'ledger_id'},
|
||||
|
||||
@@ -84,7 +84,7 @@ class TendersController extends AppController {
|
||||
// Get the Tender and related fields
|
||||
$tender = $this->Tender->find
|
||||
('first', array
|
||||
('contain' => false,
|
||||
('contain' => array('TenderType'),
|
||||
));
|
||||
|
||||
// REVISIT <AP>: 20090713
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
class Tender extends AppModel {
|
||||
|
||||
var $belongsTo = array(
|
||||
'TenderType',
|
||||
'LedgerEntry',
|
||||
'DepositTransaction' => array(
|
||||
'className' => 'Transaction',
|
||||
|
||||
9
site/models/tender_type.php
Normal file
9
site/models/tender_type.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
class TenderType extends AppModel {
|
||||
|
||||
var $hasMany = array(
|
||||
'Tender',
|
||||
);
|
||||
|
||||
}
|
||||
?>
|
||||
@@ -9,15 +9,22 @@ echo '<div class="tender view">' . "\n";
|
||||
* Tender Detail Main Section
|
||||
*/
|
||||
|
||||
$ttype = $tender['TenderType'];
|
||||
$tender = $tender['Tender'];
|
||||
|
||||
$rows = array();
|
||||
$rows[] = array('ID', $tender['id']);
|
||||
$rows[] = array('Name', $tender['name']);
|
||||
$rows[] = array('Data 1', $tender['data1']);
|
||||
$rows[] = array('Data 2', $tender['data2']);
|
||||
$rows[] = array('Data 3', $tender['data3']);
|
||||
$rows[] = array('Data 4', $tender['data4']);
|
||||
$rows[] = array('Type', $ttype['name']);
|
||||
/* $rows[] = array('Type', $html->link($ttype['name'], */
|
||||
/* array('controller' => 'tender_types', */
|
||||
/* 'action' => 'view', */
|
||||
/* $ttype['id']))); */
|
||||
|
||||
for ($i=1; $i<=4; ++$i)
|
||||
if (!empty($ttype["data{$i}_name"]))
|
||||
$rows[] = array($ttype["data{$i}_name"], $tender["data{$i}"]);
|
||||
|
||||
$rows[] = array('Comment', $tender['comment']);
|
||||
|
||||
echo $this->element('table',
|
||||
|
||||
Reference in New Issue
Block a user