Commit Graph

21274 Commits

Author SHA1 Message Date
Christopher Lam
039b84871e [utilities] warn against using guile's strftime
strftime has been banished from code; warning for custom-reports

https://www.mail-archive.com/bug-guile@gnu.org/msg09778.html
2019-06-19 22:10:23 +08:00
Christopher Lam
72974d7a13 [html-utilities] fix logic error in gnc:assign-colors
Unfortunately 3b187a128 was written with logic error and should have
been tested better.
2019-06-19 22:10:23 +08:00
Geert Janssens
8fd4be3bb1 Merge branch 'maint' 2019-06-19 08:38:00 +02:00
John Ralls
8ed150896d Merge Milotype's 'hr-readme' into maint. 2019-06-18 19:49:51 -07:00
milotype
8f6a7690fd
Update README-hr.win32-bin.txt
Minor corrections, https, BOM
2019-06-19 01:18:47 +02:00
milotype
2ea23979c8 Update hr.po 2019-06-19 00:20:50 +02:00
milotype
0ec394f191 Update README-hr.win32-bin.txt
Minor corrections
2019-06-19 00:20:50 +02:00
Christopher Lam
c3cf5e2808 Deprecate unused code related to gnc:colspans-are-working-right
colspans code has never been fixed. remove unused code.
2019-06-18 23:30:01 +08:00
Christopher Lam
a44a1a4c23 Deprecate unused function gnc:second-html-build-acct-table
and ensure gnc:html-build-acct-table is redefined to the former
gnc:first-html-build-acct-table, and gnc:first-html-build-acct-table
redirects to gnc:html-build-acct-table.

It would seem gnc:second-html-build-acct-table has never been used.
2019-06-18 23:30:01 +08:00
Christopher Lam
d16b1380c5 [html-acct-table] Further deprecate unused functions 2019-06-18 23:30:01 +08:00
Christopher Lam
a1ad9da03f Bug 797277 - Assets over time ignores nested liabilities
This is caused by the omission of selected accounts' descendant
accounts during generation of accounts-balances-alist.

The subsequent function account->balance-list was querying the
accounts-balances-alist for subaccounts' (of any account-type)
balances but these were missing.

This commit ensures all selected accounts (whose types depended on the
chart-type), and all their descendant accounts (of any account-type)
were scanned to generate the account-balances-list.
2019-06-18 23:30:01 +08:00
Christopher Lam
3b187a1282 [html-utilities] tighten code
using list-ref and length repeatedly is usually less efficient than
testing against null?
2019-06-18 23:13:22 +08:00
Geert Janssens
ccd9ca8a87 Fix silly typo 2019-06-18 15:32:02 +02:00
Geert Janssens
06fae12265 RptCleanup - Add compat interface for all module interfaces that were deprecated so far
These can be permanently removed for the gnucash 5.x series. A comment has been added to that effect.
2019-06-18 15:18:46 +02:00
Geert Janssens
f39275be32 RptCleanup - Add cmake command to generated compat modules for deprecated guile modules
The function accepts the name of a deprecated module and optionally a
replacement module.
With that info it will generate a stub guile module that
- will be installed in the gnucash guile load path
- emits a deprecation warning when the old module is used
- if a replacement module is given, will automatically load that module instead

This allows us to gently deprecate complete guile modules without
the burden of manually maintaining their module files.
2019-06-18 14:25:04 +02:00
Geert Janssens
528bbff8da RptCleanup - use generic report loader for locale-specific reports
This requires a bit glue code to determine which locale we're interested in.
Advantage: another gnc-module dropped (gncmod-locale-specific).
2019-06-18 14:25:04 +02:00
Geert Janssens
0a8e0d2928 RptCleanup - install eguile report support files in subdirectories relative to the reports module 2019-06-18 14:25:04 +02:00
Geert Janssens
70393bc08a RptCleanup - install reports into their own toplevel module (gnucash reports) 2019-06-18 14:25:04 +02:00
Geert Janssens
707f9a4029 RptCleanup - restructure eguile code into a single (gnucash eguile) module 2019-06-18 14:25:04 +02:00
Geert Janssens
3f8f32ab25 RptCleanup - Consolidate report system gui initialization
For this gnc-plugin-stylesheets has gotten a wider scope to become
gnc-plugin-report-system. The new plugin does all the report system
initialization bits wrt to the gui.
2019-06-18 14:25:04 +02:00
Geert Janssens
6b5dcc3877 RptCleanup - reorganize stylesheets
- store them in a subdirectory
- reuse the report module loader
- eliminate gncmod-stylesheet, gui bits are now in gnome
2019-06-18 14:25:04 +02:00
Geert Janssens
93489d4ffc RptCleanup - Generalize report loading function to allow use for modules other than the reports 2019-06-18 14:25:04 +02:00
Geert Janssens
f2de292cd6 RptCleanup - Move locale-specific reports to reports directory 2019-06-18 14:25:04 +02:00
Geert Janssens
0d426fcfe7 RptCleanup - remove obsolete locale-specific scm modules and re-enable the locale-specific load test 2019-06-18 14:25:04 +02:00
Geert Janssens
32a83678c9 RptCleanup - Install our guile api as a guile site module
This is similar to how our python code is installed as a python site module
2019-06-18 14:25:04 +02:00
Geert Janssens
8d24252860 RptCleanup - Internalize guile-json module
This is in preparation of the final guile restructuring step:
install gnucash scm files directly in guile's default site module directory.
Internalizing json is done to prevent an install clash with a potentially
system installed guile-json module.
2019-06-18 14:25:04 +02:00
Geert Janssens
53f59f7794 RptCleanup - Restructure installation of gnucash scm files
These files were installed fairly ad-hoc into the share/gnucash/scm directory making
it hard to get an idea of where each file comes from.
The files are now structured as follows:
- any scm file authored by gnucash should go in share/gnucash/scm/gnucash or below
- most scm modules will be directly in that directory
- each module that comes with support files will get a subdirectory named after the
  module's base name. For example next to engine.scm there will be directory
  named engine for all support files of the engine module
- scm files that are not modules, but are loaded by modules go into
  <module-dir>. For example gnc-utils.scm loads gnc-menu-extensions.scm
  so that file will be installed in gnc-utils/gnc-menu-extensions.scm
- the report system is our largest module and only part of the restructuring
  is done at this point. It will be refined further in future commits.

The same restructuring is also done for the compiled files.
2019-06-18 14:25:04 +02:00
Geert Janssens
cb50f7aaa0 RptCleanup - fold report/report-system into report
This moves a lot of files and all scm modules that get moved need to have their definition updated.
Aside of that, it also tweaks the install location of the report scm files that are not modules
(but instead included in report.scm).
Lastly, report-system.scm has been renamed to report.scm to match the gnc-module name.
This required a rename of the original report.scm (which is not a module). I chose to rename
that to report-core.scm as it's implementing the guts of the report system.

Still missing in this commit: some compatibility code to give users a warning when they try to
use the old scm module names.
2019-06-18 14:25:04 +02:00
Christopher Lam
7102b1d2f0 [html-chart] use gnc:html-js-include to import js
This fix url to file:/// for windows to render charts properly.
2019-06-18 18:40:56 +08:00
Christopher Lam
d90f843a1a [html-chart] use guid generator instead of random
guid is *guaranteed* to be unique, unlike random...
2019-06-18 18:30:14 +08:00
Christopher Lam
a33302f1e6 [trep-engine] addendum forgot to close file-port in 497e18c36
we can use call-with-input-file which automatically closes file port
when lambda is completed.
2019-06-18 18:07:19 +08:00
Christopher Lam
4b21244da8 [report] remove top-level flag no longer needed after 30ac2cf26 2019-06-16 10:46:01 +08:00
Christopher Lam
1ac6262a06 [net-charts] ensure grid is enabled in barchart
previously barcharts did not have grid, an odd omission
2019-06-16 10:45:47 +08:00
Christopher Lam
3b9233de3a [test-stress-options] ensure max is not called with empty list
some reports e.g. sample-graphs.scm may have no options; this commit
causes max to be called with at least 1 parameter (max 0) --> 0.
2019-06-16 10:45:34 +08:00
milotype
410ae95759
Update hr.po
Some translation corrections and file clean-up.
2019-06-15 22:27:30 +02:00
Geert Janssens
7306f2dda3 Always add srfi64-extras.scm to dist tarball
Even if the current machine doesn't have srfi-64 a machine
downloading the dist tarball may and hence could compile
and run the srfi-64 based tests.
2019-06-15 16:14:43 +02:00
Geert Janssens
91adf868f4 BuildSystem - drop load path for no longer existing build-config.scm 2019-06-14 16:21:43 +02:00
Geert Janssens
4e0571882e Sample Graphs report updates
- Add the report to the Examples menu
- Tweak strings and make them translatable
- Rename report to better match the report title
2019-06-14 13:58:55 +02:00
Geert Janssens
65df53deae Fix distcheck 2019-06-14 12:09:28 +02:00
John Ralls
354e868716 Move simple-obj.scm to import-export/qif-imp, the one place it's used. 2019-06-13 16:29:10 -07:00
Christopher Lam
2c04ae310b [trep-engine] allow #:custom-source-accounts kwarg
specifying #:custom-source-accounts will override the (opt-val
"Accounts" "Accounts") option to specify source accounts

This is useful for custom-reports which may need multiple source
accounts. eg. VAT/GST report (still in development).
2019-06-13 22:16:02 +08:00
Christopher Lam
f6bfdabd3e [trep-engine] allow #f for friendly-fn
During defition of custom-calculated-cells, we should allow #f as
friendly-fn which will disable it.
2019-06-13 22:16:01 +08:00
Christopher Lam
241f1f9274 [test-transaction] add csv test
runs report with csv output
test csv output matches expectation
2019-06-13 22:16:01 +08:00
Christopher Lam
497e18c36e [trep-engine] allow csv export of grand-totals
This commit enables CSV export of split monetary columns and
grand-totals.

Sample CSV output:
"from","2018-01-01"
"to","2018-03-31"
"Debit",4270.88
"Credit",8314.44

* Note dates are iso-format strings.

* If a grand-total has multiple currencies, all will be listed
  e.g. grand-total 100GBP + 50USD will show as: "Amount",100.0,50.0

* Dual subtotals (debit/credit) will not be exportable as CSVs because
  they are not merged
2019-06-13 22:16:01 +08:00
Christopher Lam
a552d0d485 [test-graphing] upgraded 2019-06-13 19:15:43 +08:00
Christopher Lam
ddceb54736 [html-chart] ensure yAxis starts at $0.00
Ensuring $0 is included in chart is better.

If beginAtZero is #t, the yAxis will span $0 -> maximum. If
beginAtZero is #f, the chart yAxis will span minimum -> maximum
y-values, which led to bars with minimum amounts being effectively
hidden from view because its height corresponded with the minimum
amount.
2019-06-13 19:15:43 +08:00
Christopher Lam
e1228c76a5 [report] refactor gnc:define-report clearer logic 2019-06-13 19:15:43 +08:00
Christopher Lam
0cdb770f5e [taxtxf] fix copy-n-paste error
101f840255 had copy&paste error, fix function names
2019-06-13 19:15:43 +08:00
Geert Janssens
30ac2cf266 Remove guile functions that were marked as deprecated in gnucash the 3.x series 2019-06-12 16:55:53 +02:00
Christopher Lam
ca759fb492 [taxtxf] fix copy-n-paste error
101f840255 had copy&paste error, fix function names
2019-06-12 22:22:53 +08:00