{-# LANGUAGE DeriveDataTypeable #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module Hcompta.Model.Transaction where import Data.Data import qualified Data.Foldable import qualified Data.List import qualified Data.Map import Data.Typeable () import Text.Parsec.Pos (SourcePos, initialPos) import qualified Hcompta.Model.Date as Date import Hcompta.Model.Date (Date) import qualified Hcompta.Model.Transaction.Posting as Posting import qualified Hcompta.Model.Transaction.Tag as Tag import qualified Hcompta.Model.Amount as Amount import qualified Hcompta.Model.Amount.Unit as Unit -- * The 'Transaction' type data Transaction = Transaction { code :: String , comment :: String , date :: Date , date2 :: Maybe Date , description :: String , postings :: Posting.By_Account , preceding_comment_lines :: String , sourcepos :: SourcePos , status :: Bool , tags :: Tag.By_Name } deriving (Data, Eq, Read, Show, Typeable) instance Read SourcePos where readsPrec _ s = [(initialPos s, "")] -- * Types to submodules type Posting = Posting.Posting type Tag = Tag.Tag