raw journal report -> journal entries report

This commit is contained in:
Simon Michael 2011-08-07 16:24:09 +00:00
parent 12a37612fb
commit 6496c1ef61
5 changed files with 37 additions and 37 deletions

View File

@ -85,7 +85,7 @@ data Loc = Loc {
data Screen = BalanceScreen -- ^ like hledger balance, shows accounts data Screen = BalanceScreen -- ^ like hledger balance, shows accounts
| RegisterScreen -- ^ like hledger register, shows transaction-postings | RegisterScreen -- ^ like hledger register, shows transaction-postings
| PrintScreen -- ^ like hledger print, shows journal transactions | PrintScreen -- ^ like hledger print, shows journal transactions
-- | LedgerScreen -- ^ shows the raw journal -- | LedgerScreen -- ^ shows the raw journal entries
deriving (Eq,Show) deriving (Eq,Show)
-- | Run the vty (curses-style) ui. -- | Run the vty (curses-style) ui.

View File

@ -87,14 +87,14 @@ getJournalEditR = do
setTitle "hledger-web journal edit form" setTitle "hledger-web journal edit form"
addHamlet $ editform vd addHamlet $ editform vd
-- | The raw journal view, with sidebar. -- | The journal entries view, with sidebar.
getJournalRawR :: Handler RepHtml getJournalEntriesR :: Handler RepHtml
getJournalRawR = do getJournalEntriesR = do
vd@VD{..} <- getViewData vd@VD{..} <- getViewData
let let
sidecontent = sidebar vd sidecontent = sidebar vd
title = "Journal entries" ++ if m /= MatchAny then ", filtered" else "" :: String title = "Journal entries" ++ if m /= MatchAny then ", filtered" else "" :: String
maincontent = rawJournalReportAsHtml opts vd $ rawJournalReport opts nullfilterspec $ filterJournalTransactions2 m j maincontent = entriesReportAsHtml opts vd $ entriesReport opts nullfilterspec $ filterJournalTransactions2 m j
defaultLayout $ do defaultLayout $ do
setTitle "hledger-web journal" setTitle "hledger-web journal"
addHamlet [$hamlet| addHamlet [$hamlet|
@ -112,13 +112,13 @@ getJournalRawR = do
^{importform} ^{importform}
|] |]
-- | The raw journal view, no sidebar. -- | The journal entries view, no sidebar.
getJournalOnlyR :: Handler RepHtml getJournalOnlyR :: Handler RepHtml
getJournalOnlyR = do getJournalOnlyR = do
vd@VD{..} <- getViewData vd@VD{..} <- getViewData
defaultLayout $ do defaultLayout $ do
setTitle "hledger-web journal only" setTitle "hledger-web journal only"
addHamlet $ rawJournalReportAsHtml opts vd $ rawJournalReport opts nullfilterspec $ filterJournalTransactions2 m j addHamlet $ entriesReportAsHtml opts vd $ entriesReport opts nullfilterspec $ filterJournalTransactions2 m j
---------------------------------------------------------------------- ----------------------------------------------------------------------
@ -209,7 +209,7 @@ accountsReportAsHtml _ vd@VD{..} (items',total) =
<a href=@{JournalR} title="Show all transactions in journal format">Journal <a href=@{JournalR} title="Show all transactions in journal format">Journal
<span.hoverlinks <span.hoverlinks
&nbsp; &nbsp;
<a href=@{JournalRawR} title="Show raw journal entries">raw</a> <a href=@{JournalEntriesR} title="Show journal entries">entries</a>
&nbsp; &nbsp;
<a href=@{JournalEditR} title="Edit the journal">edit <a href=@{JournalEditR} title="Edit the journal">edit
&nbsp; &nbsp;
@ -271,15 +271,15 @@ accountOnlyQuery a = "inacctonly:" ++ quoteIfSpaced a -- (accountNameToAccountRe
-- accountUrl :: AppRoute -> AccountName -> (AppRoute,[(String,ByteString)]) -- accountUrl :: AppRoute -> AccountName -> (AppRoute,[(String,ByteString)])
accountUrl r a = (r, [("q",pack $ accountQuery a)]) accountUrl r a = (r, [("q",pack $ accountQuery a)])
-- | Render a "RawJournalReport" as HTML for the raw journal view. -- | Render a "EntriesReport" as HTML for the journal entries view.
rawJournalReportAsHtml :: [Opt] -> ViewData -> RawJournalReport -> Hamlet AppRoute entriesReportAsHtml :: [Opt] -> ViewData -> EntriesReport -> Hamlet AppRoute
rawJournalReportAsHtml _ vd items = [$hamlet| entriesReportAsHtml _ vd items = [$hamlet|
<table.journalreport> <table.journalreport>
$forall i <- numbered items $forall i <- numbered items
^{itemAsHtml vd i} ^{itemAsHtml vd i}
|] |]
where where
itemAsHtml :: ViewData -> (Int, RawJournalReportItem) -> Hamlet AppRoute itemAsHtml :: ViewData -> (Int, EntriesReportItem) -> Hamlet AppRoute
itemAsHtml _ (n, t) = [$hamlet| itemAsHtml _ (n, t) = [$hamlet|
<tr.item.#{evenodd}> <tr.item.#{evenodd}>
<td.transaction> <td.transaction>

View File

@ -1,10 +1,10 @@
/static StaticR Static getStatic /static StaticR Static getStatic
/favicon.ico FaviconR GET /favicon.ico FaviconR GET
/robots.txt RobotsR GET /robots.txt RobotsR GET
/ RootR GET / RootR GET
/journal JournalR GET POST /journal JournalR GET POST
/journal/raw JournalRawR GET /journal/entries JournalEntriesR GET
/journal/edit JournalEditR GET /journal/edit JournalEditR GET
/register RegisterR GET /register RegisterR GET
/accounts AccountsR GET /accounts AccountsR GET
/api/accounts AccountsJsonR GET /api/accounts AccountsJsonR GET

View File

@ -24,9 +24,9 @@ print' opts args j = do
putStr $ showTransactions opts (optsToFilterSpec opts args d) j putStr $ showTransactions opts (optsToFilterSpec opts args d) j
showTransactions :: [Opt] -> FilterSpec -> Journal -> String showTransactions :: [Opt] -> FilterSpec -> Journal -> String
showTransactions opts fspec j = rawJournalReportAsText opts fspec $ rawJournalReport opts fspec j showTransactions opts fspec j = entriesReportAsText opts fspec $ entriesReport opts fspec j
rawJournalReportAsText :: [Opt] -> FilterSpec -> RawJournalReport -> String entriesReportAsText :: [Opt] -> FilterSpec -> EntriesReport -> String
rawJournalReportAsText opts _ items = concatMap (showTransactionForPrint effective) items entriesReportAsText opts _ items = concatMap (showTransactionForPrint effective) items
where effective = Effective `elem` opts where effective = Effective `elem` opts

View File

@ -9,10 +9,10 @@ on the command-line options, should move to hledger-lib later.
-} -}
module Hledger.Cli.Reports ( module Hledger.Cli.Reports (
-- * Raw journal report -- * Entries report
RawJournalReport, EntriesReport,
RawJournalReportItem, EntriesReportItem,
rawJournalReport, entriesReport,
-- * Postings report -- * Postings report
PostingsReport, PostingsReport,
PostingsReportItem, PostingsReportItem,
@ -53,15 +53,15 @@ import Hledger.Cli.Utils
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
-- | A raw journal report is a list of whole transactions used to generate -- | A journal entries report is a list of whole transactions as
-- a raw journal view. Used by eg hledger's print command and -- originally entered in the journal (mostly). Used by eg hledger's print
-- hledger-web's raw journal view. -- command and hledger-web's journal entries view.
type RawJournalReport = [RawJournalReportItem] type EntriesReport = [EntriesReportItem]
type RawJournalReportItem = Transaction type EntriesReportItem = Transaction
-- | Select transactions for a raw journal report. -- | Select transactions for an entries report.
rawJournalReport :: [Opt] -> FilterSpec -> Journal -> RawJournalReport entriesReport :: [Opt] -> FilterSpec -> Journal -> EntriesReport
rawJournalReport opts fspec j = sortBy (comparing tdate) $ jtxns $ filterJournalTransactions fspec j' entriesReport opts fspec j = sortBy (comparing tdate) $ jtxns $ filterJournalTransactions fspec j'
where where
j' = journalSelectingDateFromOpts opts $ journalSelectingAmountFromOpts opts j j' = journalSelectingDateFromOpts opts $ journalSelectingAmountFromOpts opts j