From 69963fea1d79abd5da6aca16e1cb39dd03543b77 Mon Sep 17 00:00:00 2001 From: Sergey Yanovich Date: Sun, 13 Apr 2008 19:24:52 +0300 Subject: [PATCH] [view] Populate three columns in general ledger --- app/test/aaTestAccountViews.js | 35 ++++++++++++++++++++++++++++++++++- storage/base/aaLoadFactList.cpp | 3 ++- view/aaTreeViewLedger.cpp | 22 ++++++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/app/test/aaTestAccountViews.js b/app/test/aaTestAccountViews.js index 6025714..e2c2378 100644 --- a/app/test/aaTestAccountViews.js +++ b/app/test/aaTestAccountViews.js @@ -1144,10 +1144,43 @@ function ledger_page_check(runner) runner.addJSFailure("[ledger page] wrong row count:" + tree.view.rowCount); if (tree.view.getCellText(0,tree.columns[0]) != "2008-02-04") runner.addJSFailure("ledger.tree.line1.col1 failed"); + if (tree.view.getCellText(1,tree.columns[0]) != "") + runner.addJSFailure("ledger.tree.line2.col1 failed"); if (tree.view.getCellText(2,tree.columns[0]) != "2008-02-05") runner.addJSFailure("ledger.tree.line3.col1 failed"); + if (tree.view.getCellText(3,tree.columns[0]) != "") + runner.addJSFailure("ledger.tree.line4.col1 failed"); if (tree.view.getCellText(4,tree.columns[0]) != "2008-02-06") runner.addJSFailure("ledger.tree.line5.col1 failed:" + tree.view.getCellText(4,tree.columns[0])); - + if (tree.view.getCellText(5,tree.columns[0]) != "") + runner.addJSFailure("ledger.tree.line6.col1 failed"); + + if (tree.view.getCellText(0,tree.columns[1]) != "y") + runner.addJSFailure("ledger.tree.line1.col2 failed"); + if (tree.view.getCellText(1,tree.columns[1]) != "") + runner.addJSFailure("ledger.tree.line2.col2 failed"); + if (tree.view.getCellText(2,tree.columns[1]) != "y") + runner.addJSFailure("ledger.tree.line3.col2 failed"); + if (tree.view.getCellText(3,tree.columns[1]) != "") + runner.addJSFailure("ledger.tree.line4.col2 failed"); + if (tree.view.getCellText(4,tree.columns[1]) != "x") + runner.addJSFailure("ledger.tree.line5.col2 failed:" + + tree.view.getCellText(4,tree.columns[1])); + if (tree.view.getCellText(5,tree.columns[1]) != "") + runner.addJSFailure("ledger.tree.line6.col2 failed"); + + if (tree.view.getCellText(0,tree.columns[2]) != "300.00") + runner.addJSFailure("ledger.tree.line1.col3 failed"); + if (tree.view.getCellText(1,tree.columns[2]) != "") + runner.addJSFailure("ledger.tree.line2.col3 failed"); + if (tree.view.getCellText(2,tree.columns[2]) != "200.00") + runner.addJSFailure("ledger.tree.line3.col3 failed"); + if (tree.view.getCellText(3,tree.columns[2]) != "") + runner.addJSFailure("ledger.tree.line4.col3 failed"); + if (tree.view.getCellText(4,tree.columns[2]) != "20000.00") + runner.addJSFailure("ledger.tree.line5.col3 failed:" + + tree.view.getCellText(4,tree.columns[1])); + if (tree.view.getCellText(5,tree.columns[2]) != "") + runner.addJSFailure("ledger.tree.line6.col3 failed"); } diff --git a/storage/base/aaLoadFactList.cpp b/storage/base/aaLoadFactList.cpp index 7b6428d..3c20917 100644 --- a/storage/base/aaLoadFactList.cpp +++ b/storage/base/aaLoadFactList.cpp @@ -52,7 +52,8 @@ toF.event_id AND transfer.id == toF.transfer_id AND toF.side == 0\ LEFT JOIN flow AS fromFl ON fromF.flow_id=fromFl.id\ LEFT JOIN flow AS toFl ON toF.flow_id=toFl.id\ - LEFT JOIN term ON term.flow_id=IFNULL(toFl.id,fromFl.id) AND term.side=1\ + LEFT JOIN term ON term.flow_id=IFNULL(toFl.id,fromFl.id) AND \ + term.side=IFNULL(toF.side,fromF.side)\ LEFT JOIN resource ON resource.id=term.resource_id" aaLoadFactList::aaLoadFactList(nsISupports *aOuter) diff --git a/view/aaTreeViewLedger.cpp b/view/aaTreeViewLedger.cpp index 8551e95..dc75e94 100644 --- a/view/aaTreeViewLedger.cpp +++ b/view/aaTreeViewLedger.cpp @@ -34,6 +34,8 @@ #include "nsIAtomService.h" /* Project includes */ +#include "aaIResource.h" +#include "aaIFlow.h" #include "aaIFact.h" #include "aaITransaction.h" #include "aaILoadQuery.h" @@ -83,6 +85,22 @@ nsresult aaTreeViewLedger::getColumn1(aaITransaction *txn, PRUint32 flags, nsAString & _retval) { + if (flags) + return NS_OK; + + nsCOMPtr resource; + aaIFlow *flow = txn->PickFact()->PickTakeFrom(); + if (flow && flow->PickId()) { + txn->PickFact()->PickTakeFrom()->GetTakeResource( + getter_AddRefs(resource)); + } else { + txn->PickFact()->PickGiveTo()->GetGiveResource( + getter_AddRefs(resource)); + } + + if (resource) + return resource->GetTag(_retval); + return NS_OK; } @@ -90,6 +108,10 @@ nsresult aaTreeViewLedger::getColumn2(aaITransaction *txn, PRUint32 flags, nsAString & _retval) { + if (flags) + return NS_OK; + + assignDouble(_retval, txn->PickFact()->PickAmount()); return NS_OK; } -- 2.11.4.GIT