Commit Graph

18734 Commits

Author SHA1 Message Date
Geert Janssens
d66469fef8 Assign as payment - Differentiate between new and existing payments for 'Assign as payment'
When the selected transaction is already involved in a business payment,
propose to Edit the payment instead of Assigning it as a payment.
This is more informative and will help prevent users from accidentally replacing existing payments.
2017-11-18 17:43:30 +01:00
Geert Janssens
18dcbeef8a Assign as payment - offer possible payment splits to user in case there are multiple valid candidates for assignment 2017-11-18 17:43:26 +01:00
Geert Janssens
aeb80a230e Bug 734865 - Assign as Payment... can silently 'unpay' a payed invoice
With this commit the 'assign as payment' logic now works as follows:
- if the selected transaction is already linked to an existing payment, the payment dialog
  will present this payment again (same partner, post-to account, same selected document(s),
  same amount, memo, and transfer account).
- if the selected transaction is not linked to an existing business transaction the logic
  will make a best guess as to whether the payment should be for a customer or vendor.
- in both situations if the existing transaction has multiple splits that can be considered
  as transfer (or 'payment') splits the payment  dialog can't work with it (it can only deal
  with one transfer split). In this case the user will be informed that only one valid
  transfer split will be retained and the others ignored.
- the other thing the payment dialog can't handle are APAR type splits that are not associated
  to a lot at all. In case of transactions not part of a business transaction they will be
  silently ignored on the assumptions these were manually entered transactions with the intention
  to be linked to business transactions. On the other hand if such a split is part of a transaction
  that is also linked to a business payment already, a warning will be issued these splits will
  be removed from the new payment.
2017-11-18 17:43:26 +01:00
Geert Janssens
0dfb921e86 Add functions to retrieve a copy of splits of a certain type from business transactions 2017-11-18 16:55:18 +01:00
Geert Janssens
de4414b2a1 Inform the user when assign as payment can't be used 2017-11-18 16:55:18 +01:00
Geert Janssens
954ce1ab11 Mark unused function parameters as such in dialog-payment.c 2017-11-18 16:55:18 +01:00
John Ralls
61316648b8 Bug 789608 - Compilation problems when linking libraries.
Fix using a preproc macro in a different file from where it was declared
and more-strict template resolution of error_handler<> by gcc-7.x.
2017-11-09 13:47:08 -08:00
John Ralls
1895ae280c Merge branch 'maint' into unstable 2017-11-09 13:45:45 -08:00
John Ralls
f888eb88f0 Fix with_Python build in cmake. 2017-11-09 11:22:02 -08:00
John Ralls
45bab93613 Bug 789928 - FTBFS with libdbi 0.9.0-5 on Debian
Commit 88b8477 on libdbi calls the error handler if one attempts to run
off the end of a result set. Since we often loop on
dbi_result_next_row() returning 0 this breaks our logic in several
places. This change simply returns from the error handler on a
DB_ERROR_BADIDX allowing the logic to work as before.
2017-11-07 18:06:04 -08:00
John Ralls
f9d5436adc Merge J. Marino's 'fix-negative-colors' into unstable. 2017-11-07 15:47:57 -08:00
John Ralls
6c01e54042 Convert shell-executed scheme tests to run directly from Guile.
I.e., remove the shell invocation and with it the need to set the shebang.

Surprisingly this required some build-system modifications particularly
for cmake in order to correctly set the environment.
2017-11-07 15:04:16 -08:00
John Ralls
f412795ef2 Remove extraneous parameters from GNC_ADD_SCHEME_TARGETS 2017-11-07 15:04:16 -08:00
Jose Marino
3b0bcf75e8 report: fix negative colors in barcharts
Specified bar colors only apply to positive bars in the plot.
Negative bars still have the default colors, which are slightly
darker shades of the default positive colors.

This commit forces negative bars to have the same colors as
positive bars.
2017-11-02 09:13:34 -06:00
John Ralls
4f9716362c Merge branch J. Marino's fix-report-colors into unstable 2017-10-31 17:31:33 -07:00
John Ralls
a6f4ea65e9 Merge J. Marino's 'fix/report-net-barchart' into unstable 2017-10-31 17:24:44 -07:00
Jose Marino
f4acb6c000 report/category-barchart: fix unit test to work with gnc-monetary
The unit test for category-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 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
3913c528f1 report/category-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 local 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
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
John Ralls
a840748409 [Gwenhywfar] Use the new getpassword API only on the gwen5 branch. 2017-10-31 14:31:00 -07:00
John Ralls
be44db2ef8 Provide for report/report-system/test/test-extras to be built before other tests. 2017-10-31 12:06:02 -07:00
John Ralls
cbd8764780 Ensure that report unit tests dependencies are built with target. 2017-10-31 10:59:12 -07:00
John Ralls
039dda5294 Merge J. Marino's cashflow-barchart updates into unstable. 2017-10-31 10:20:50 -07: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
John Ralls
49c70795c3 Remove X11 error handler
And with it the only direct X11 dependency.
2017-10-31 08:53:20 -07:00
Geert Janssens
f05761e636 Merge branch 'gtk3-update7' of https://github.com/Bob-IT/gnucash into unstable 2017-10-31 09:53:33 +01:00
Robert Fewell
641d56f346 Move the CSS files to a Gresource file
Move the source CSS files to the gnucash directory and load them from
a gresource file. As pseudo class 'insensative' is deprecated, add a
second main css file to be used after Gtk3.20
2017-10-30 20:11:38 +00:00
John Ralls
9669bd6b6c Release 2.7.1 2017-10-29 14:01:15 -07:00
John Ralls
09bcb515a1 Set relative path to icon file in Windows resource script.
No idea why this is necessary for tarball builds, but it is.
Also update the copyright date in the same file.
2017-10-29 13:59:51 -07:00
John Ralls
e959822817 Don't copy ChangeLog on a tarball build.
There's no reason to and besides it breaks in-source builds
because trying to copy onto itself raises an error.
2017-10-28 14:21:39 -07:00
John Ralls
b92a41b608 Pass a NULL parent to gnc_options_dialog_new_modal in assistant-hierarchy.
In this case the dialog isn't a dialog, it's a notebook page, so it
doesn't need to have a parent at creation.
2017-10-28 09:56:58 -07:00
John Ralls
d22b098dff Set a parent window for the options dialogs.
So they pop up centered on the GnuCash window instead of
on the wrong monitor.
2017-10-27 16:23:02 -07: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
John Ralls
5157d8b50a Merge branch Christopher Lam's Transaction Report Improvements into unstable. 2017-10-27 12:06:52 -07:00
John Ralls
e64e73b655 Merge branch J. Marino's cashflow-barchart report into unstable. 2017-10-27 11:31:46 -07:00
John Ralls
115c0bf4a4 Merge Aaron Law's branch 'buildfix' to unstable. 2017-10-27 10:13:06 -07:00
John Ralls
04642fc42a [SQL] Check return of string_to_guid, bail if false. 2017-10-27 09:46:47 -07:00
John Ralls
d17c24b770 Bug 789298 - Prompt for file history update leads to crash during startup. 2017-10-27 09:46:47 -07:00
lmat
7a0d5a5735 Updating home directory to fix CI error messages 2017-10-27 11:57:06 -04:00
Christopher Lam
a9fab36040 transaction.scm upgrade complete
It now has account and transaction substring/regex matcher.
Verified working in 2.7.0
2017-10-27 17:33:38 +08:00
christopherlam
dfa25e8cbd refactor old is-filter-member to use srfi-1
This has better readability
2017-10-27 16:53:08 +08:00
christopherlam
cdb677633c improve split-remove-duplicates, combine filters
To use inbuilt list functions
2017-10-27 16:53:08 +08:00
christopherlam
3475a894f9 Regex is optional, and add transaction matcher
This commit will reinstate substring matcher, with optional regex matching.

Will also add a Transaction Matcher - will include splits whose description/notes/memo is substring/regex matched. Will be usable for #category matching, especially when backported to transaction.scm

Also strings are defined centrally which will aid localization and reduce typos.
2017-10-27 16:53:08 +08:00
Christopher Lam
885272a150 Enhance transaction.scm account filter to regex
This commit will enhance the account fullname filter to full regex matching capabilities. Will allow complex account fullname queries e.g. 'Car|Flights'
2017-10-27 16:53:08 +08:00