Fix the neutral offset calculations so that the fixed UTC time doesn't
change the date in the timezones near the international date line. Divide
offset by 60 instead of 3600 so that the Chatham Islands (GMT-12:45 with DST)
use 9:59 instead of 10:59 like the rest of NZ (GMT-12).
Remove the scheme from file URIs before displaying
error messages and change the one file error message that can show up in
database dialogs to say "file/URI foo" instead of "file foo".
This series of changes modifies the Average Cost report function to
finding the average amount-weighted price of all transactions recording
a "buy" of the report commodity so that the correct amount is now
reported without the need of a capital gains split--though one is still
needed to get the Trial Balance report to balance.
Since book-wide averages are not what most users expect, it also changes
the default pricing option on all reports to "Nearest in Time", which is
what most confused users have selected after asking about it in the
mailing lists. This also fixes
Bug 340991 - Default price source for reports not good.
Reverse the direction of splits with negative amounts as they represent a
sale of the transaction commodity. Accumulate buys and sells of commodities
into separate comm-lists and use only the buy-side ones for the report-commodity
in the calculation.
Extract helper functions and add a parameter, eliminating gnc:make-exchange-cost-alist
and gnc:get-exchange-cost-totals.
This makes it more clear the differences between the two algorithms and
makes it easier to correct the algorithm for the cost case.
Added an option of "No Fancy Date Format" to date-format so it can be
the default. In this position, the format returned is that of what ever
the preference date is set to.
This is really just a copy of the number-range-option with some tests
for the saved value being a pair which is used in later versions. If the
pair is a pixel setting, then that value will be used, otherwise the
default value is used. Should any report get saved, the saved values
will be over written in the old format.
When you have reports open but they are not selected, resizing the
window does not always resize the hidden report views properly. Use
the expose call back so the reports are reloaded on expose event.
Added progress bar updates for refresh/reload button press and also for
when the options change. Created a new function to set progress bar
height from previous commit to be used for above changes.
When the report is run and the progress bar is updated, the height
changes and then changes back forcing the webkit view to change height
and ultimately use the wrong value.
The reason for webkit not using the full report area is that this area
has not been realized when the report is created and so webkit does not
know the correct size. By using the idle function, the page is created
and realized before loading the report with the added advantage the
progress bar updates on the blank report page.
- Update the lot list of the lot's account only when the account itself is not being destroyed
- Fix the test cases to accept the new (improved) lot destruction handling
Two parts to this bug:
1. never reverse signs in the free splits list. Sign reversals don't
make sense there.
2. Sign reversal only makes sense for capital gains, not for business
transactions. So only to the sign dance for non-business lots in the
list of splits in the selected lot.
There have been situations where a lot refered to an invoice while
it doesn't actually contain splits for that invoice (any more).
The new code corrects this by removing the invoice reference from the lot.
Also if the lot and its splits don't agree on the invoice they belong to
set the lot invoice to whatever the splits indicate.
- don't attempt to merge splits that belong to an invoice transaction. These splits are managed by the business code.
- lot link cleanup can leave empty splits, remove these as well