Added logic to prevent a double entry where the credit and debit record in the exact same ledger. There is no known reason why we would need to record such an entry, even though it would not be incorrect to do so.

git-svn-id: file:///svn-source/pmgr/branches/surplus_account_20090815@591 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
abijah
2009-08-16 23:41:44 +00:00
parent 8440a7c833
commit 4afe0bd77b
2 changed files with 28 additions and 13 deletions

View File

@@ -127,12 +127,12 @@ class LedgerEntry extends AppModel {
* - Inserts new Ledger Entry into the database
*/
function addLedgerEntry($entry, $tender = null) {
/* pr(array('LedgerEntry::addLedgerEntry' => */
/* compact('entry', 'tender'))); */
$this->prFunctionLevel(16);
$this->prEnter(compact('entry', 'tender'));
$ret = array('data' => $entry);
if (!$this->verifyLedgerEntry($entry, $tender))
return array('error' => true) + $ret;
return $this->prReturn(array('error' => true) + $ret);
if (empty($entry['ledger_id']))
$entry['ledger_id'] =
@@ -140,7 +140,7 @@ class LedgerEntry extends AppModel {
$this->create();
if (!$this->save($entry))
return array('error' => true) + $ret;
return $this->prReturn(array('error' => true) + $ret);
$ret['ledger_entry_id'] = $this->id;
@@ -150,10 +150,10 @@ class LedgerEntry extends AppModel {
$result = $this->Tender->addTender($tender);
$ret['Tender'] = $result;
if ($result['error'])
return array('error' => true) + $ret;
return $this->prReturn(array('error' => true) + $ret);
}
return $ret + array('error' => false);
return $this->prReturn($ret + array('error' => false));
}