Commit Graph

9915 Commits

Author SHA1 Message Date
Simon Michael
d07d0de2d6 test: areg: disable failing tests for now (#1634) 2021-07-31 18:28:32 -10:00
Simon Michael
136c7ca704 doc: areg: clarify (#1634) 2021-07-31 18:27:23 -10:00
Simon Michael
396b1eb515 test: areg: add more tests (#1634) 2021-07-31 18:27:23 -10:00
Stephen Morgan
fc8aa602cf lib!: modifyTransactions now takes a Map of commodity styles, and will
style amounts according to that argument. journalAddForecast and
journalTransform now return an Either String Journal.

This improves efficiency, as we no longer have to restyle all amounts in
the journal after generating auto postings or periodic transactions.
Changing the return type of journalAddForecast and journalTransform
reduces partiality.

To get the previous behaviour for modifyTransaction, use modifyTransaction mempty.
2021-07-30 13:52:35 -10:00
Stephen Morgan
2da0e67141 fix: Add balancing amounts in periodic transactions before applying auto-postings. (#1412) 2021-07-30 13:52:35 -10:00
Stephen Morgan
04a36d4942 ref: Refactor journalFinalise to clarify flow.
The only semantic difference is that we now apply
journalApplyCommodityStyles before running journalCheckAccountsDeclared
and journalCheckCommoditiesDeclared.
2021-07-30 13:52:35 -10:00
Stephen Morgan
c537f9426b dev: lens: Use lenses for updateReportSpec(With). 2021-07-30 09:27:39 -10:00
Stephen Morgan
4e9db4e377 dev: lens: Introduce lenses for ReportOpts and ReportSpec. 2021-07-30 09:27:39 -10:00
Simon Michael
aa60c46597 ;areg: doc: clarify 2021-07-30 09:09:59 -10:00
Simon Michael
2f819725e5 ;lib: accountTransactionsReport: clarify 2021-07-30 09:09:49 -10:00
Stephen Morgan
9df574b3c0 fix: reg: register --related should not create duplicate postings when
more than one posting in a transaction matches. (#1629)
2021-07-30 09:06:27 -10:00
Stephen Morgan
6528f25593 fix: lib: Filter postings before performing valuation and costing in
MultiBalanceReport, PostingsReport, EntriesReport, and
AccountTransactionsReport. (#1625, #1630)
2021-07-30 09:06:27 -10:00
Simon Michael
4451d68a63 ;doc: update manuals 2021-07-29 20:41:19 -10:00
Simon Michael
085b7d4b88 ;doc: update CLI usage texts 2021-07-29 20:37:16 -10:00
Simon Michael
f8cc6edbde ;imp: ui: doc: document watch mode and limitations (#1617, #911, #836..) 2021-07-29 20:36:49 -10:00
Simon Michael
f12ff0df3a ;doc: ui, web: move screenshot styles elsewhere 2021-07-28 22:24:25 -10:00
Simon Michael
8c890f845b ;shake: webmanuals: move page toc below h1 again
To avoid extra toc items.
Also added a class permitting manual-specific styling.
2021-07-28 22:20:49 -10:00
Simon Michael
78e9f8877c ;doc: changelogs: lib edits 2021-07-28 14:48:17 -10:00
Simon Michael
6718234455 ;doc: contrib: issue conventions 2021-07-28 10:37:07 -10:00
Simon Michael
e9d3283d18 ;make: installcommithook 2021-07-28 10:03:26 -10:00
Simon Michael
13fbd83626 ;doc: releasing: updates 2021-07-28 10:03:26 -10:00
Simon Michael
e4a23c95d4 ;doc: changelogs: gather 1.22.1 changes 2021-07-28 10:03:22 -10:00
Simon Michael
b0611a7363 ;doc: regexps: list style that renders in vs code 2021-07-28 09:17:47 -10:00
Simon Michael
dc1fcdd7d7 ;doc: project changelog 2021-07-27 23:28:03 -10:00
Simon Michael
666e217bd5 ;doc: update changelogs 2021-07-27 23:21:13 -10:00
Simon Michael
40c1f09b80 ;ci: push: notes 2021-07-27 23:07:30 -10:00
Simon Michael
8ae42873c4 ;doc: queries: edit 2021-07-27 22:37:26 -10:00
Simon Michael
6a92953111 ;doc: queries: cleanups (#1625) 2021-07-27 22:16:39 -10:00
Simon Michael
a4d8072393 ;doc: queries: clarify some behaviour (#1625) 2021-07-27 11:19:28 -10:00
Simon Michael
40c8ddd572 ;doc: strict mode: update 2021-07-27 10:57:50 -10:00
Simon Michael
83868f174d ;doc: contributing, roadmap: toc placement 2021-07-23 19:07:09 -10:00
Simon Michael
d2b799a717 feat: bal: select budget( transaction)s by name (#1612)
This makes it possible to keep multiple named budgets in one journal,
and select the one you want with --budget's argument.

More precisely, you can select the subset of periodic transactions
rules which contain a certain fixed, case-insensitive substring.

Only one such --budget argument is supported, the last one on the
command line takes precedence.
2021-07-23 10:38:20 -10:00
Stephen Morgan
b0aa70b27a lib!: Rename the fields of ReportSpec.
This is done to be more consistent with future field naming conventions,
and to make automatic generation of lenses simpler. See discussion in
\#1545.

rsOpts -> _rsReportOpts
rsToday -> _rsDay
rsQuery -> _rsQuery
rsQueryOpts -> _rsQueryOpts
2021-07-23 10:37:08 -10:00
Stephen Morgan
7ed2a0aa9b lib!: lib: Remove aismultiplier from Amount.
In Amount, aismultiplier is a boolean flag that will always be False,
except for in TMPostingRules, where it indicates whether the posting
rule is a multiplier. It is therefore unnecessary in the vast majority
of cases. This posting pulls this flag out of Amount and puts it into
TMPostingRule, so it is only kept around when necessary.

This changes the parsing of journals somewhat. Previously you could
include an * before an amount anywhere in a Journal, and it would
happily parse and set the aismultiplier flag true. This will now fail
with a parse error: * is now only acceptable before an amount within an
auto posting rule.

Any usage of the library in which the aismultiplier field is read or set
should be removed. If you truly need its functionality, you should
switch to using TMPostingRule.

This changes the JSON output of Amount, as it will no longer include
aismultiplier.
2021-07-22 19:06:33 -10:00
Stephen Morgan
3969eb2679 lib!: lib,cli,ui,web: For accountTransactionsReport, generate the overall
reportq from the ReportSpec, rather than being supplied as a separate
option.

This is the same approach used by the other reports, e.g. EntryReport,
PostingReport, MultiBalanceReport. This reduces code duplication, as
previously the reportq had to be separately tweaked in each of 5
different places.

If you call accountTransactionreport, there is no need to separately
derive the report query.
2021-07-22 19:00:37 -10:00
Stephen Morgan
f673e7c2eb lib!: lib,web: Remove unused TransactionReport. Move the useful utility
functions to AccountTransactionsReport.

If you use transactionsReport, you should either use entryReport if you
don't require a running total, or using accountTransactionsReport with
thisacctq as Any or None (depending on what you want included in the
running total).
2021-07-22 19:00:37 -10:00
Stephen Morgan
acfbd36fb8 dev: web: Use entriesReport instead of transactionReport.
This produces identical results. The only fields used in the TransactionReport were torig, split, and amt.
- torig is the same as in entriesReport
- since transactionsReport calls accountTransactionsReportItems with
  None as thisacctq, all accounts are considered ‘other accounts’, so
  amt is always zero, and ($if not split && not (mixedAmountLooksZero amt)) never fires.
- So the only thing used is torig, and we can just get that from the
  entriesReport.
2021-07-22 19:00:37 -10:00
Stephen Morgan
58516eea77 imp: json: Decrease indentation in JSON output. 2021-07-20 23:28:18 -10:00
Simon Michael
a291f5d33b ci: push/linux/mac/windows: fix ; conditional step execution 2021-07-20 23:24:18 -10:00
Simon Michael
a54716778d ci: windows: fix bash-specific steps 2021-07-20 23:06:34 -10:00
Simon Michael
88c6d47e32 ci: linux/mac/windows: skip steps if message begins with ; 2021-07-20 23:01:57 -10:00
Simon Michael
4641db4604 ;ci: push: tweak output 2021-07-20 22:57:55 -10:00
Simon Michael
2c7e3136e0 ;ci: push: skip most steps if commit message begins with ; 2021-07-20 22:51:51 -10:00
Simon Michael
9a18eed9dd shake: changelogs: don't ignore ; messages any more
A leading semicolon now means something different (skip CI).
2021-07-20 22:39:46 -10:00
Simon Michael
3beba678fe ;doc: a few more changelog updates 2021-07-20 22:37:27 -10:00
Simon Michael
6569c2aca7 ;doc: update changelogs 2021-07-20 22:24:39 -10:00
Simon Michael
fa3ce17fd3 cln: make: webdirs: rename, hide subrules from help 2021-07-20 21:31:57 -10:00
Simon Michael
9701e19169 make: shellcompletions: top level rule to build shell completions 2021-07-20 21:29:52 -10:00
Jakob Schöttl
80003a5190 imp: pkg: add bash completion files to cabal package 2021-07-20 20:55:28 -10:00
Jakob Schöttl
f26ffbc6ab imp: pkg: move shell-completions into hledger package 2021-07-20 20:55:14 -10:00