aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorJoris2017-11-19 00:20:25 +0100
committerJoris2017-11-19 00:20:25 +0100
commit7194cddb28656c721342c2ef604f9f9fb0692960 (patch)
tree5b8c8562c9a1680aa315b4b7e10a3a7c22900863 /common
parent42e94a45e26f40edc3ad71b1e77a4bf47c13fd3d (diff)
downloadbudget-7194cddb28656c721342c2ef604f9f9fb0692960.tar.gz
budget-7194cddb28656c721342c2ef604f9f9fb0692960.tar.bz2
budget-7194cddb28656c721342c2ef604f9f9fb0692960.zip
Show payment count and partition
- Also fixes exceedingPayer in back by using only punctual payments
Diffstat (limited to 'common')
-rw-r--r--common/common.cabal26
-rw-r--r--common/src/Common/Message/Key.hs2
-rw-r--r--common/src/Common/Message/Translation.hs12
-rw-r--r--common/src/Common/Model/Category.hs2
-rw-r--r--common/src/Common/Model/CreateCategory.hs2
-rw-r--r--common/src/Common/Model/CreateIncome.hs2
-rw-r--r--common/src/Common/Model/CreatePayment.hs2
-rw-r--r--common/src/Common/Model/Currency.hs2
-rw-r--r--common/src/Common/Model/EditCategory.hs2
-rw-r--r--common/src/Common/Model/EditIncome.hs2
-rw-r--r--common/src/Common/Model/EditPayment.hs2
-rw-r--r--common/src/Common/Model/Frequency.hs2
-rw-r--r--common/src/Common/Model/Income.hs2
-rw-r--r--common/src/Common/Model/Init.hs2
-rw-r--r--common/src/Common/Model/InitResult.hs2
-rw-r--r--common/src/Common/Model/Payment.hs2
-rw-r--r--common/src/Common/Model/PaymentCategory.hs2
-rw-r--r--common/src/Common/Model/SignIn.hs2
-rw-r--r--common/src/Common/Model/User.hs2
-rw-r--r--common/src/Common/Msg.hs (renamed from common/src/Common/Message.hs)5
-rw-r--r--common/src/Common/View/Format.hs35
21 files changed, 41 insertions, 71 deletions
diff --git a/common/common.cabal b/common/common.cabal
index c3073d9..e4a9c59 100644
--- a/common/common.cabal
+++ b/common/common.cabal
@@ -13,6 +13,12 @@ Library
Hs-source-dirs: src
Default-language: Haskell2010
+ Default-extensions:
+ DeriveGeneric
+ ExistentialQuantification
+ MultiParamTypeClasses
+ OverloadedStrings
+
Build-depends:
aeson
, base >=4.9 && <4.11
@@ -20,28 +26,28 @@ Library
, time
Exposed-modules:
- Common.Message
- Common.Message.Key
Common.Model
+ Common.Msg
Common.Util.Text
Common.View.Format
other-modules:
+ Common.Message.Key
Common.Message.Lang
Common.Message.Translation
- Common.Model.PaymentCategory
+ Common.Model.Category
Common.Model.CreateCategory
- Common.Model.CreatePayment
Common.Model.CreateIncome
+ Common.Model.CreatePayment
+ Common.Model.Currency
Common.Model.EditCategory
- Common.Model.EditPayment
- Common.Model.InitResult
Common.Model.EditIncome
+ Common.Model.EditPayment
Common.Model.Frequency
- Common.Model.Currency
- Common.Model.Category
- Common.Model.Payment
Common.Model.Income
- Common.Model.SignIn
Common.Model.Init
+ Common.Model.InitResult
+ Common.Model.Payment
+ Common.Model.PaymentCategory
+ Common.Model.SignIn
Common.Model.User
diff --git a/common/src/Common/Message/Key.hs b/common/src/Common/Message/Key.hs
index 991c407..ad8a7f1 100644
--- a/common/src/Common/Message/Key.hs
+++ b/common/src/Common/Message/Key.hs
@@ -83,6 +83,7 @@ data Key =
| Payment_Add
| Payment_Balanced
+ | Payment_By Text Text
| Payment_Category
| Payment_CloneLong
| Payment_CloneShort
@@ -129,7 +130,6 @@ data Key =
| Statistic_Title
| Statistic_ByMonthsAndMean Text
- | Statistic_By Text Text
| Statistic_Total
| WeeklyReport_Empty
diff --git a/common/src/Common/Message/Translation.hs b/common/src/Common/Message/Translation.hs
index 16a56dd..0a6084d 100644
--- a/common/src/Common/Message/Translation.hs
+++ b/common/src/Common/Message/Translation.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE OverloadedStrings #-}
-
module Common.Message.Translation
( get
) where
@@ -359,6 +357,11 @@ m l Payment_Balanced =
English -> "Payments are balanced."
French -> "Les paiements sont équilibrés."
+m l (Payment_By key value) =
+ case l of
+ English -> T.concat [ key, ": ", value ]
+ French -> T.concat [ key, " : ", value ]
+
m l Payment_Category =
case l of
English -> "Category"
@@ -584,11 +587,6 @@ m l SignIn_ParseError =
English -> "Error while reading initial data."
French -> "Erreur lors de la lecture des données initiales."
-m l (Statistic_By key value) =
- case l of
- English -> T.concat [ key, ": ", value ]
- French -> T.concat [ key, " : ", value ]
-
m l (Statistic_ByMonthsAndMean amount) =
case l of
English ->
diff --git a/common/src/Common/Model/Category.hs b/common/src/Common/Model/Category.hs
index bbd3c33..db1da53 100644
--- a/common/src/Common/Model/Category.hs
+++ b/common/src/Common/Model/Category.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.Category
( CategoryId
, Category(..)
diff --git a/common/src/Common/Model/CreateCategory.hs b/common/src/Common/Model/CreateCategory.hs
index 11d84e9..51bd2a0 100644
--- a/common/src/Common/Model/CreateCategory.hs
+++ b/common/src/Common/Model/CreateCategory.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.CreateCategory
( CreateCategory(..)
) where
diff --git a/common/src/Common/Model/CreateIncome.hs b/common/src/Common/Model/CreateIncome.hs
index 583ebbb..644a51c 100644
--- a/common/src/Common/Model/CreateIncome.hs
+++ b/common/src/Common/Model/CreateIncome.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.CreateIncome
( CreateIncome(..)
) where
diff --git a/common/src/Common/Model/CreatePayment.hs b/common/src/Common/Model/CreatePayment.hs
index 7a283e5..8e2ab73 100644
--- a/common/src/Common/Model/CreatePayment.hs
+++ b/common/src/Common/Model/CreatePayment.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.CreatePayment
( CreatePayment(..)
) where
diff --git a/common/src/Common/Model/Currency.hs b/common/src/Common/Model/Currency.hs
index 6d74ea7..175aeba 100644
--- a/common/src/Common/Model/Currency.hs
+++ b/common/src/Common/Model/Currency.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.Currency
( Currency(..)
) where
diff --git a/common/src/Common/Model/EditCategory.hs b/common/src/Common/Model/EditCategory.hs
index 5b08b86..8b9d9eb 100644
--- a/common/src/Common/Model/EditCategory.hs
+++ b/common/src/Common/Model/EditCategory.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.EditCategory
( EditCategory(..)
) where
diff --git a/common/src/Common/Model/EditIncome.hs b/common/src/Common/Model/EditIncome.hs
index 867b406..0e65f12 100644
--- a/common/src/Common/Model/EditIncome.hs
+++ b/common/src/Common/Model/EditIncome.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.EditIncome
( EditIncome(..)
) where
diff --git a/common/src/Common/Model/EditPayment.hs b/common/src/Common/Model/EditPayment.hs
index 32228f0..d2c223f 100644
--- a/common/src/Common/Model/EditPayment.hs
+++ b/common/src/Common/Model/EditPayment.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.EditPayment
( EditPayment(..)
) where
diff --git a/common/src/Common/Model/Frequency.hs b/common/src/Common/Model/Frequency.hs
index 085163d..ee502e8 100644
--- a/common/src/Common/Model/Frequency.hs
+++ b/common/src/Common/Model/Frequency.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.Frequency
( Frequency(..)
) where
diff --git a/common/src/Common/Model/Income.hs b/common/src/Common/Model/Income.hs
index 10b4cf2..0423704 100644
--- a/common/src/Common/Model/Income.hs
+++ b/common/src/Common/Model/Income.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.Income
( IncomeId
, Income(..)
diff --git a/common/src/Common/Model/Init.hs b/common/src/Common/Model/Init.hs
index ae23bb5..68b3f5d 100644
--- a/common/src/Common/Model/Init.hs
+++ b/common/src/Common/Model/Init.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.Init
( Init(..)
) where
diff --git a/common/src/Common/Model/InitResult.hs b/common/src/Common/Model/InitResult.hs
index 12be65a..542e6c7 100644
--- a/common/src/Common/Model/InitResult.hs
+++ b/common/src/Common/Model/InitResult.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.InitResult
( InitResult(..)
) where
diff --git a/common/src/Common/Model/Payment.hs b/common/src/Common/Model/Payment.hs
index 4741058..37a090d 100644
--- a/common/src/Common/Model/Payment.hs
+++ b/common/src/Common/Model/Payment.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.Payment
( PaymentId
, Payment(..)
diff --git a/common/src/Common/Model/PaymentCategory.hs b/common/src/Common/Model/PaymentCategory.hs
index 24cf9e1..2a559ce 100644
--- a/common/src/Common/Model/PaymentCategory.hs
+++ b/common/src/Common/Model/PaymentCategory.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.PaymentCategory
( PaymentCategoryId
, PaymentCategory(..)
diff --git a/common/src/Common/Model/SignIn.hs b/common/src/Common/Model/SignIn.hs
index baccd88..bfd7fbc 100644
--- a/common/src/Common/Model/SignIn.hs
+++ b/common/src/Common/Model/SignIn.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.SignIn
( SignIn(..)
) where
diff --git a/common/src/Common/Model/User.hs b/common/src/Common/Model/User.hs
index e491c31..a30d104 100644
--- a/common/src/Common/Model/User.hs
+++ b/common/src/Common/Model/User.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DeriveGeneric #-}
-
module Common.Model.User
( UserId
, User(..)
diff --git a/common/src/Common/Message.hs b/common/src/Common/Msg.hs
index 745e457..9e4cfe2 100644
--- a/common/src/Common/Message.hs
+++ b/common/src/Common/Msg.hs
@@ -1,10 +1,11 @@
-module Common.Message
+module Common.Msg
( get
+ , Key(..)
) where
import Data.Text (Text)
-import Common.Message.Key (Key)
+import Common.Message.Key (Key (..))
import Common.Message.Lang (Lang (..))
import qualified Common.Message.Translation as Translation
diff --git a/common/src/Common/View/Format.hs b/common/src/Common/View/Format.hs
index 783ad67..0597d17 100644
--- a/common/src/Common/View/Format.hs
+++ b/common/src/Common/View/Format.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE OverloadedStrings #-}
-
module Common.View.Format
( shortDay
, longDay
@@ -13,13 +11,12 @@ import Data.Text (Text)
import qualified Data.Text as T
import Data.Time.Calendar (Day, toGregorian)
-import qualified Common.Message as Message
-import qualified Common.Message.Key as Key
import Common.Model (Currency (..))
+import qualified Common.Msg as Msg
shortDay :: Day -> Text
shortDay date =
- Message.get $ Key.Date_Short
+ Msg.get $ Msg.Date_Short
day
month
(fromIntegral year)
@@ -27,24 +24,24 @@ shortDay date =
longDay :: Day -> Text
longDay date =
- Message.get $ Key.Date_Long
+ Msg.get $ Msg.Date_Long
day
- (fromMaybe "−" . fmap Message.get . monthToKey $ month)
+ (fromMaybe "−" . fmap Msg.get . monthToKey $ month)
(fromIntegral year)
where (year, month, day) = toGregorian date
- monthToKey 1 = Just Key.Month_January
- monthToKey 2 = Just Key.Month_February
- monthToKey 3 = Just Key.Month_March
- monthToKey 4 = Just Key.Month_April
- monthToKey 5 = Just Key.Month_May
- monthToKey 6 = Just Key.Month_June
- monthToKey 7 = Just Key.Month_July
- monthToKey 8 = Just Key.Month_August
- monthToKey 9 = Just Key.Month_September
- monthToKey 10 = Just Key.Month_October
- monthToKey 11 = Just Key.Month_November
- monthToKey 12 = Just Key.Month_December
+ monthToKey 1 = Just Msg.Month_January
+ monthToKey 2 = Just Msg.Month_February
+ monthToKey 3 = Just Msg.Month_March
+ monthToKey 4 = Just Msg.Month_April
+ monthToKey 5 = Just Msg.Month_May
+ monthToKey 6 = Just Msg.Month_June
+ monthToKey 7 = Just Msg.Month_July
+ monthToKey 8 = Just Msg.Month_August
+ monthToKey 9 = Just Msg.Month_September
+ monthToKey 10 = Just Msg.Month_October
+ monthToKey 11 = Just Msg.Month_November
+ monthToKey 12 = Just Msg.Month_December
monthToKey _ = Nothing
price :: Currency -> Int -> Text