Removed monetary_source_type. It was redundant, and it's entirely unclear what purpose it ultimately would or could serve. Our use of different accounts for Check, Cash, etc likely obsoleted any intention we might have had for monetary_source_type
git-svn-id: file:///svn-source/pmgr/branches/invoice_receipt_20090629@288 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -463,10 +463,9 @@ class Account extends AppModel {
|
||||
*
|
||||
* monetary_source_data
|
||||
* - monetary_source_id (optional... if set all else is ignored)
|
||||
* - monetary_type_name
|
||||
* - account_name
|
||||
* - MonetarySource
|
||||
* - name
|
||||
* - monetary_type_id
|
||||
*/
|
||||
|
||||
function postLedgerEntry($transaction_data,
|
||||
@@ -512,8 +511,8 @@ class Account extends AppModel {
|
||||
= array_intersect_key($monetary_data,
|
||||
array('monetary_source_id'=>1));
|
||||
}
|
||||
elseif (isset($monetary_data['monetary_type_name'])) {
|
||||
if ($monetary_data['monetary_type_name'] === 'Cash') {
|
||||
elseif (isset($monetary_data['account_name'])) {
|
||||
if ($monetary_data['account_name'] === 'Cash') {
|
||||
// No distinguishing features of Cash, just
|
||||
// use the shared monetary source
|
||||
$monetary_data['monetary_source_id'] =
|
||||
@@ -525,21 +524,16 @@ class Account extends AppModel {
|
||||
else {
|
||||
// The monetary source needs to be unique
|
||||
// Create a new one dedicated to this entry
|
||||
$monetary_data['MonetarySource']['monetary_type_id'] =
|
||||
$this->Ledger->LedgerEntry->MonetarySource->MonetaryType
|
||||
->nameToID($monetary_data['monetary_type_name']);
|
||||
|
||||
$monetary_data['MonetarySource']['name'] =
|
||||
$this->Ledger->LedgerEntry->MonetarySource->MonetaryType
|
||||
->nameToID($monetary_data['monetary_type_name']);
|
||||
|
||||
// Give it a fancy name based on the check number
|
||||
$monetary_data['MonetarySource']['name'] = $monetary_data['monetary_type_name'];
|
||||
if ($monetary_data['monetary_type_name'] === 'Check' ||
|
||||
$monetary_data['monetary_type_name'] === 'Money Order') {
|
||||
$monetary_data['MonetarySource']['name'] = $monetary_data['account_name'];
|
||||
if ($monetary_data['account_name'] === 'Check' ||
|
||||
$monetary_data['account_name'] === 'Money Order') {
|
||||
$monetary_data['MonetarySource']['name'] .=
|
||||
' #' . $monetary_data['MonetarySource']['data1'];
|
||||
}
|
||||
else {
|
||||
$monetary_data['MonetarySource']['name'] = $monetary_data['account_name'];
|
||||
}
|
||||
|
||||
$monetary_data
|
||||
= array_intersect_key($monetary_data,
|
||||
|
||||
@@ -9,7 +9,6 @@ class MonetarySource extends AppModel {
|
||||
);
|
||||
|
||||
var $belongsTo = array(
|
||||
'MonetaryType',
|
||||
);
|
||||
|
||||
var $hasMany = array(
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
<?php
|
||||
class MonetaryType extends AppModel {
|
||||
|
||||
var $name = 'MonetaryType';
|
||||
var $validate = array(
|
||||
'id' => array('numeric'),
|
||||
'name' => array('notempty'),
|
||||
'tillable' => array('boolean')
|
||||
);
|
||||
|
||||
var $hasMany = array(
|
||||
'MonetarySource',
|
||||
);
|
||||
|
||||
}
|
||||
?>
|
||||
@@ -166,7 +166,7 @@ class Transaction extends AppModel {
|
||||
foreach ($data['LedgerEntry'] AS $entry) {
|
||||
|
||||
// Get the Monetary Source squared away
|
||||
if ($entry['monetary_type_name'] === 'Cash') {
|
||||
if ($entry['account_name'] === 'Cash') {
|
||||
// No distinguishing features of Cash, just
|
||||
// use the shared monetary source
|
||||
$entry['monetary_source_id'] =
|
||||
@@ -176,47 +176,24 @@ class Transaction extends AppModel {
|
||||
else {
|
||||
// The monetary source needs to be unique
|
||||
// Create a new one dedicated to this entry
|
||||
$entry['MonetarySource']['monetary_type_id'] =
|
||||
$this->LedgerEntry->MonetarySource->MonetaryType
|
||||
->nameToID($entry['monetary_type_name']);
|
||||
|
||||
if (!isset($entry['MonetarySource']['monetary_type_id'])) {
|
||||
$entry['MonetarySource']['name'] = 'Other';
|
||||
$entry['MonetarySource']['monetary_type_id'] =
|
||||
$this->LedgerEntry->MonetarySource->MonetaryType
|
||||
->nameToID('Other Non-Tillable');
|
||||
} else {
|
||||
$entry['MonetarySource']['name'] = $entry['monetary_type_name'];
|
||||
}
|
||||
|
||||
// Give it a fancy name based on the check number
|
||||
if ($entry['monetary_type_name'] === 'Check' ||
|
||||
$entry['monetary_type_name'] === 'Money Order') {
|
||||
if ($entry['account_name'] === 'Check' ||
|
||||
$entry['account_name'] === 'Money Order') {
|
||||
$entry['MonetarySource']['name'] .=
|
||||
' #' . $entry['MonetarySource']['data1'];
|
||||
}
|
||||
else {
|
||||
$entry['MonetarySource']['name'] = $entry['account_name'];
|
||||
}
|
||||
}
|
||||
|
||||
// Determine which account we'll use for the ledger entry
|
||||
$account_name = $entry['monetary_type_name'];
|
||||
|
||||
// REVISIT <AP>: 20090708
|
||||
// I _hate_ hardcoding values, but I'm not sure how
|
||||
// else to handle this at the moment. I'm pretty sure
|
||||
// what needs to happen is for the account information
|
||||
// to be figured out programatically on the receipt
|
||||
// presentation page, and then those values would flow
|
||||
// back after entry to here.
|
||||
if ($account_name === 'ACH')
|
||||
$account_name = 'Bank';
|
||||
|
||||
// This entry of physical money is part of the receipt transaction
|
||||
// debit: Cash/Check/Etc credit: Receipt
|
||||
$entry['transaction_id'] = $receipt_transaction->id;
|
||||
|
||||
// Receipt must debit the "money" asset (bank, cash, check, etc)...
|
||||
$entry['debit_ledger_id']
|
||||
= $A->currentLedgerID($A->nameToID($account_name));
|
||||
= $A->currentLedgerID($A->nameToID($entry['account_name']));
|
||||
|
||||
// ...and credit the Receipt ledger
|
||||
$entry['credit_ledger_id']
|
||||
|
||||
Reference in New Issue
Block a user