mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-27 04:13:11 +03:00
Revert "Adding "--value"/"-V" option for balancesheet/incomestatement/cashflow and register (#361)"
This reverts commit b935cd2243
.
This commit is contained in:
parent
b935cd2243
commit
a1555ce964
@ -9,7 +9,6 @@ module Hledger.Reports.PostingsReport (
|
||||
PostingsReport,
|
||||
PostingsReportItem,
|
||||
postingsReport,
|
||||
postingsReportValue,
|
||||
mkpostingsReportItem,
|
||||
|
||||
-- * Tests
|
||||
@ -29,7 +28,6 @@ import Test.HUnit
|
||||
import Hledger.Data
|
||||
import Hledger.Query
|
||||
import Hledger.Utils
|
||||
import Hledger.Reports.BalanceReport
|
||||
import Hledger.Reports.ReportOptions
|
||||
|
||||
|
||||
@ -89,31 +87,6 @@ postingsReport opts q j = (totallabel, items)
|
||||
|
||||
totallabel = "Total"
|
||||
|
||||
-- | Convert all the amounts in a postings report to
|
||||
-- their value on the given date in their default valuation
|
||||
-- commodities.
|
||||
postingsReportValue :: Journal -> Day -> PostingsReport -> PostingsReport
|
||||
postingsReportValue j d r = r'
|
||||
where
|
||||
(label,items) = r
|
||||
r' = dbg8 "postingsReportValue" $
|
||||
(label,[(pb,pe,pd,postingValue j d pp,mixedAmountValue j d a) | (pb,pe,pd,pp,a) <- items])
|
||||
|
||||
postingValue :: Journal -> Day -> Posting -> Posting
|
||||
postingValue j d p = p'
|
||||
where
|
||||
Posting {pamount = pa, pbalanceassertion = pb, ptransaction = pt} = p
|
||||
p' = p{pamount = mixedAmountValue j d pa
|
||||
,pbalanceassertion = mixedAmountValue j d <$> pb
|
||||
,ptransaction = transactionValue j d <$> pt
|
||||
}
|
||||
|
||||
transactionValue :: Journal -> Day -> Transaction -> Transaction
|
||||
transactionValue j d t = t'
|
||||
where
|
||||
Transaction {tpostings = tp} = t
|
||||
t' = t{tpostings = map (postingValue j d) tp}
|
||||
|
||||
-- | Adjust report start/end dates to more useful ones based on
|
||||
-- journal data and report intervals. Ie:
|
||||
-- 1. If the start date is unspecified, use the earliest date in the journal (if any)
|
||||
|
@ -11,7 +11,6 @@ module Hledger.Cli.Balancesheet (
|
||||
,tests_Hledger_Cli_Balancesheet
|
||||
) where
|
||||
|
||||
import Data.Maybe (fromMaybe)
|
||||
import qualified Data.Text.Lazy.IO as LT
|
||||
import System.Console.CmdArgs.Explicit
|
||||
import Test.HUnit
|
||||
@ -29,7 +28,6 @@ balancesheetmode = (defCommandMode $ ["balancesheet"]++aliases) {
|
||||
groupUnnamed = [
|
||||
flagNone ["flat"] (\opts -> setboolopt "flat" opts) "show accounts as a list"
|
||||
,flagReq ["drop"] (\s opts -> Right $ setopt "drop" s opts) "N" "flat mode: omit N leading account name parts"
|
||||
,flagNone ["value","V"] (setboolopt "value") "show amounts as their current market value in their default valuation commodity"
|
||||
]
|
||||
,groupHidden = []
|
||||
,groupNamed = [generalflagsgroup1]
|
||||
@ -43,23 +41,18 @@ balancesheet CliOpts{reportopts_=ropts} j = do
|
||||
-- let lines = case lineFormatFromOpts ropts of Left err, Right ...
|
||||
d <- getCurrentDay
|
||||
let q = queryFromOpts d (withoutBeginDate ropts)
|
||||
valuedate = fromMaybe d $ queryEndDate False $ queryFromOpts d ropts
|
||||
assetreport@(_,assets) = balanceReport ropts (And [q, journalAssetAccountQuery j]) j
|
||||
liabilityreport@(_,liabilities) = balanceReport ropts (And [q, journalLiabilityAccountQuery j]) j
|
||||
total = assets + liabilities
|
||||
convertReport | value_ ropts = balanceReportValue j valuedate
|
||||
| otherwise = id
|
||||
convertTotal | value_ ropts = mixedAmountValue j valuedate
|
||||
| otherwise = id
|
||||
LT.putStr $ [lt|Balance Sheet
|
||||
|
||||
Assets:
|
||||
#{balanceReportAsText ropts (convertReport assetreport)}
|
||||
#{balanceReportAsText ropts assetreport}
|
||||
Liabilities:
|
||||
#{balanceReportAsText ropts (convertReport liabilityreport)}
|
||||
#{balanceReportAsText ropts liabilityreport}
|
||||
Total:
|
||||
--------------------
|
||||
#{padleft 20 $ showMixedAmountWithoutPrice (convertTotal total)}
|
||||
#{padleft 20 $ showMixedAmountWithoutPrice total}
|
||||
|]
|
||||
|
||||
withoutBeginDate :: ReportOpts -> ReportOpts
|
||||
|
@ -14,7 +14,6 @@ module Hledger.Cli.Cashflow (
|
||||
,tests_Hledger_Cli_Cashflow
|
||||
) where
|
||||
|
||||
import Data.Maybe (fromMaybe)
|
||||
import qualified Data.Text.Lazy.IO as LT
|
||||
import System.Console.CmdArgs.Explicit
|
||||
import Test.HUnit
|
||||
@ -32,7 +31,6 @@ cashflowmode = (defCommandMode ["cashflow","cf"]) {
|
||||
groupUnnamed = [
|
||||
flagNone ["flat"] (\opts -> setboolopt "flat" opts) "show accounts as a list"
|
||||
,flagReq ["drop"] (\s opts -> Right $ setopt "drop" s opts) "N" "flat mode: omit N leading account name parts"
|
||||
,flagNone ["value","V"] (setboolopt "value") "show amounts as their current market value in their default valuation commodity"
|
||||
]
|
||||
,groupHidden = []
|
||||
,groupNamed = [generalflagsgroup1]
|
||||
@ -45,23 +43,18 @@ cashflow CliOpts{reportopts_=ropts} j = do
|
||||
-- let lines = case lineFormatFromOpts ropts of Left err, Right ...
|
||||
d <- getCurrentDay
|
||||
let q = queryFromOpts d ropts
|
||||
valuedate = fromMaybe d $ queryEndDate False $ queryFromOpts d ropts
|
||||
cashreport@(_,total) = balanceReport ropts (And [q, journalCashAccountQuery j]) j
|
||||
-- operatingreport@(_,operating) = balanceReport ropts (And [q, journalOperatingAccountMatcher j]) j
|
||||
-- investingreport@(_,investing) = balanceReport ropts (And [q, journalInvestingAccountMatcher j]) j
|
||||
-- financingreport@(_,financing) = balanceReport ropts (And [q, journalFinancingAccountMatcher j]) j
|
||||
-- total = operating + investing + financing
|
||||
convertReport | value_ ropts = balanceReportValue j valuedate
|
||||
| otherwise = id
|
||||
convertTotal | value_ ropts = mixedAmountValue j valuedate
|
||||
| otherwise = id
|
||||
LT.putStr $ [lt|Cashflow Statement
|
||||
|
||||
Cash flows:
|
||||
#{balanceReportAsText ropts (convertReport cashreport)}
|
||||
#{balanceReportAsText ropts cashreport}
|
||||
Total:
|
||||
--------------------
|
||||
#{padleft 20 $ showMixedAmountWithoutPrice (convertTotal total)}
|
||||
#{padleft 20 $ showMixedAmountWithoutPrice total}
|
||||
|]
|
||||
|
||||
tests_Hledger_Cli_Cashflow :: Test
|
||||
|
@ -11,7 +11,6 @@ module Hledger.Cli.Incomestatement (
|
||||
,tests_Hledger_Cli_Incomestatement
|
||||
) where
|
||||
|
||||
import Data.Maybe (fromMaybe)
|
||||
import qualified Data.Text.Lazy.IO as LT
|
||||
import System.Console.CmdArgs.Explicit
|
||||
import Test.HUnit
|
||||
@ -29,7 +28,6 @@ incomestatementmode = (defCommandMode $ ["incomestatement"]++aliases) {
|
||||
groupUnnamed = [
|
||||
flagNone ["flat"] (\opts -> setboolopt "flat" opts) "show accounts as a list"
|
||||
,flagReq ["drop"] (\s opts -> Right $ setopt "drop" s opts) "N" "flat mode: omit N leading account name parts"
|
||||
,flagNone ["value","V"] (setboolopt "value") "show amounts as their current market value in their default valuation commodity"
|
||||
]
|
||||
,groupHidden = []
|
||||
,groupNamed = [generalflagsgroup1]
|
||||
@ -42,23 +40,18 @@ incomestatement :: CliOpts -> Journal -> IO ()
|
||||
incomestatement CliOpts{reportopts_=ropts} j = do
|
||||
d <- getCurrentDay
|
||||
let q = queryFromOpts d ropts
|
||||
valuedate = fromMaybe d $ queryEndDate False $ queryFromOpts d ropts
|
||||
incomereport@(_,income) = balanceReport ropts (And [q, journalIncomeAccountQuery j]) j
|
||||
expensereport@(_,expenses) = balanceReport ropts (And [q, journalExpenseAccountQuery j]) j
|
||||
total = income + expenses
|
||||
convertReport | value_ ropts = balanceReportValue j valuedate
|
||||
| otherwise = id
|
||||
convertTotal | value_ ropts = mixedAmountValue j valuedate
|
||||
| otherwise = id
|
||||
LT.putStr $ [lt|Income Statement
|
||||
|
||||
Revenues:
|
||||
#{balanceReportAsText ropts (convertReport incomereport)}
|
||||
#{balanceReportAsText ropts incomereport}
|
||||
Expenses:
|
||||
#{balanceReportAsText ropts (convertReport expensereport)}
|
||||
#{balanceReportAsText ropts expensereport}
|
||||
Total:
|
||||
--------------------
|
||||
#{padleft 20 $ showMixedAmountWithoutPrice (convertTotal total)}
|
||||
#{padleft 20 $ showMixedAmountWithoutPrice total}
|
||||
|]
|
||||
|
||||
tests_Hledger_Cli_Incomestatement :: Test
|
||||
|
@ -39,7 +39,6 @@ registermode = (defCommandMode $ ["register"] ++ aliases) {
|
||||
,flagNone ["average","A"] (\opts -> setboolopt "average" opts)
|
||||
"show running average of posting amounts instead of total (implies --empty)"
|
||||
,flagNone ["related","r"] (\opts -> setboolopt "related" opts) "show postings' siblings instead"
|
||||
,flagNone ["value","V"] (setboolopt "value") "show amounts as their current market value in their default valuation commodity"
|
||||
,flagReq ["width","w"] (\s opts -> Right $ setopt "width" s opts) "N"
|
||||
("set output width (default: " ++
|
||||
#ifdef mingw32_HOST_OS
|
||||
@ -62,12 +61,9 @@ register :: CliOpts -> Journal -> IO ()
|
||||
register opts@CliOpts{reportopts_=ropts} j = do
|
||||
d <- getCurrentDay
|
||||
let fmt = outputFormatFromOpts opts
|
||||
valuedate = fromMaybe d $ queryEndDate False $ queryFromOpts d ropts
|
||||
convert | value_ ropts = postingsReportValue j valuedate
|
||||
| otherwise = id
|
||||
render | fmt=="csv" = const ((++"\n") . printCSV . postingsReportAsCsv)
|
||||
| otherwise = postingsReportAsText
|
||||
writeOutput opts $ render opts $ convert $ postingsReport ropts (queryFromOpts d ropts) j
|
||||
render | fmt=="csv" = const ((++"\n") . printCSV . postingsReportAsCsv)
|
||||
| otherwise = postingsReportAsText
|
||||
writeOutput opts $ render opts $ postingsReport ropts (queryFromOpts d ropts) j
|
||||
|
||||
postingsReportAsCsv :: PostingsReport -> CSV
|
||||
postingsReportAsCsv (_,is) =
|
||||
|
Loading…
Reference in New Issue
Block a user