Commit Graph
14 Commits
Author SHA1 Message Date
Jose Marino 46b3e1caad report/net-linechart: fix unit test to work with gnc-monetary
The unit test for net-linechart did not initialize html stylesheets.
Without any stylesheets available, the renderer defaults to a
trivial renderer. This works fine if the table in the net-linechart
report is populated by doubles. However, now it is populated by
gnc-monetary and they need a stylesheet to be properly formatted.

This commit makes sure to initialize the html stylesheet code in
the unit test and adapts the parsing code to the new formatting.
2017-10-31 16:10:45 -06:00
Jose Marino 85e5651202 report/net-linechart: calculate using gnc-monetary instead of double
Perform and store all calculations using gnc-monetary instead of double.
Conversion to double is only needed as a last step when adding data
to the chart (using new function "monetary->double").

If the table is displayed, its values are properly formatted as monetary
values since they are gnc-monetary instead of doubles.
2017-10-31 16:10:45 -06:00
Jose Marino 9c7ba52315 report/net-barchart: fix unit test to work with gnc-monetary
The unit test for net-barchart did not initialize html stylesheets.
Without any stylesheets available, the renderer defaults to a
trivial renderer. This works fine if the table in the net-barchart
report is populated by doubles. However, now it is populated by
gnc-monetary and they need a stylesheet to be properly formatted.

Using doubles and the trivial renderer, a table cell looks like:
<td class="number-cell"><number> 6.0</td>

Using gnc-monetary and the trivial renderer, a table cell looks like:
<td class="number-cell"><gnc-monetary> #[unknown]</td>

Initializing the html stylesheets, the table cell looks like:
<td class="number-cell">$6.00</td>

This commit makes sure to initialize the html stylesheet code in
the unit test and adapts the parsing code to the new formatting.
2017-10-31 16:10:45 -06:00
Jose Marino 2fcd1efd6d report/net-barchart: default to list of zeros instead of empty list
This was the original behavior before the change to gnc-monetary.
2017-10-31 16:10:45 -06:00
Jose Marino 3c8eeb8b3b report/net-barchart: calculate using gnc-monetary instead of double
Perform and store all calculations using gnc-monetary instead of double.
Conversion to double is only needed as a last step when adding data
to the chart (using new function "monetary->double").

When a table is displayed, since the values are gnc-monetary, they are
properly formatted as monetary values.
2017-10-31 16:10:45 -06:00
Jose Marino 41ad89154f report-test: move add-to-load-path to build system
The unit test for cashflow-barchart.scm needs module stylesheets
to work, to render gnc-monetary objects correctly.
It makes sense to add the extra load-path needed by the module
in the build system instead of with code in the test file.

This is only needed when building with autotools. It seems cmake
builds don't need this.
2017-10-31 11:04:17 -06:00
Jose Marino 5ca2834bd0 cashflow-barchart: split option "show money in/out" into two separate ones
The report had two display options: one to control the display of
money in/out and another one to control the display of net flow.
In this commit we split the first option into two separate ones to
allow toggling the display of money in, out and net independently.
2017-10-27 15:27:41 -06:00
Jose Marino 44df91adca cashflow-barchart: delete unnecessary intermediate lists
These intermediate lists *-value-list hold the double values needed
by the barchart. We can easily create these lists on the fly,
there's no need to store them in a separate variable.

The same is done to include total values in the table, we can easily
append the total value on the fly.
2017-10-27 15:27:41 -06:00
Jose Marino 9cb8a3c87a cashflow-barchart: use direct gnc-monetary math instead of collectors
Operate between gnc-monetary objects instead of using collectors. The
resulting code is simpler and easier to read.
2017-10-27 15:27:36 -06:00
Jose Marino 968956d271 fix reconcile dialog always showing ending balance of zero
The reconcile account dialog always displays a value of 0.00 as the
Ending Balance, regardless of account and statement date.
This is caused by function xaccAccountGetReconcilePostponeBalance
returning the wrong value, returning TRUE when it should return FALSE,
and setting balance to the default {0,1}.

The code uses bal.denom!=0 as an indicator that a valid balance was
received in variable v. However, bal is initialized to {0,1}
making the test always true even when we didn't receive a valid
value in variable v.
Thus, this function returns TRUE with *balance={0,1} when no valid
balance was found in "reconcile-info/postpone/balance".

This patch fixes the function to return FALSE if v doesn't hold
a valid value or if bal.denom is set to 0.
2017-10-19 11:29:19 -06:00
Jose Marino 85fae7ef52 add unit test for cashflow-barchart report
Heavily inspired by test-generic-net-barchart.scm with a touch of
test-cash-flow.scm
2017-10-18 09:10:01 -06:00
Jose Marino 04b510022d add new report 'cashflow-barchart.scm' to build system 2017-10-16 16:20:40 -06:00
Jose Marino fa7893710f fix module location of new cashflow-barchart report 2017-10-16 16:20:40 -06:00
Jose Marino eda22039ad add new report: cashflow-barchart.scm
This report displays a bar chart showing cash flow over time per
given time interval (money in, money out and net flow). It provides
a graphical representation over time of the data provided by
existing report "Cash Flow".
It can be viewed as a hybrid between existing reports "Cash Flow"
and "Income & Expense Barchart". It displays the data shown by
"Cash Flow" in a format similar to "Income & Expense Barchart".
2017-10-11 13:36:26 -06:00