aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoris2016-04-08 09:46:34 +0200
committerJoris2016-04-08 09:46:34 +0200
commit06ccc38b65f0f4da2046ac97de447cd1ad061425 (patch)
treefa39341fd3b054603c6ca3ac4a7b01650dfb9a2e /src
parent6541fa5316816d6f97a87a370775cfe278e7eeb8 (diff)
downloadbudget-06ccc38b65f0f4da2046ac97de447cd1ad061425.tar.gz
budget-06ccc38b65f0f4da2046ac97de447cd1ad061425.tar.bz2
budget-06ccc38b65f0f4da2046ac97de447cd1ad061425.zip
Add total payment partition
Diffstat (limited to 'src')
-rw-r--r--src/client/elm/LoggedIn/Income/View.elm2
-rw-r--r--src/client/elm/LoggedIn/Stat/View.elm37
-rw-r--r--src/client/elm/Model/Payer.elm13
-rw-r--r--src/server/Model/Message/Key.hs1
-rw-r--r--src/server/Model/Message/Translations.hs5
5 files changed, 38 insertions, 20 deletions
diff --git a/src/client/elm/LoggedIn/Income/View.elm b/src/client/elm/LoggedIn/Income/View.elm
index 9e77fde..0d6e02d 100644
--- a/src/client/elm/LoggedIn/Income/View.elm
+++ b/src/client/elm/LoggedIn/Income/View.elm
@@ -64,7 +64,7 @@ cumulativeIncomesView loggedData since =
li
[]
[ text userName
- , text ": "
+ , text " − "
, text <| Format.price loggedData.conf cumulativeIncome
]
)
diff --git a/src/client/elm/LoggedIn/Stat/View.elm b/src/client/elm/LoggedIn/Stat/View.elm
index 6661a75..573d5bc 100644
--- a/src/client/elm/LoggedIn/Stat/View.elm
+++ b/src/client/elm/LoggedIn/Stat/View.elm
@@ -3,6 +3,8 @@ module LoggedIn.Stat.View
) where
import Date exposing (Month)
+import Dict
+import String
import Html exposing (..)
import Html.Attributes exposing (..)
@@ -17,6 +19,9 @@ import LoggedIn.View.Format as Format
import LoggedIn.View.Date as Date
import View.Plural exposing (plural)
+import LoggedIn.View.Format as Format
+
+import Utils.Tuple as Tuple
view : LoggedData -> Html
view loggedData =
@@ -40,22 +45,30 @@ paymentsDetail loggedData payments =
]
, li
[]
- [ text (paymentsSum loggedData.conf payments) ]
- , li
- []
- [ text "Par utilisateur:"
- , totalPayments loggedData
+ [ text (paymentsSum loggedData.conf payments)
+ , text " − "
+ , text <| totalPayments loggedData
]
]
-totalPayments : LoggedData -> Html
+totalPayments : LoggedData -> String
totalPayments loggedData =
- ul
- []
- [ li [] [ text "Jacques: 1 300€" ]
- , li [] [ text "Anne: 2 500 €" ]
- ]
-
+ String.join
+ ", "
+ ( loggedData.users
+ |> Dict.toList
+ |> List.map (Tuple.mapFst (\userId -> Payment.totalPayments (always True) userId loggedData.payments))
+ |> List.sortBy fst
+ |> List.map (\(sum, user) ->
+ String.concat
+ [ Format.price loggedData.conf sum
+ , " "
+ , getMessage "By" loggedData.translations
+ , " "
+ , user.name
+ ]
+ )
+ )
monthsDetail : LoggedData -> Html
monthsDetail loggedData =
diff --git a/src/client/elm/Model/Payer.elm b/src/client/elm/Model/Payer.elm
index a7ce5fa..72f13b1 100644
--- a/src/client/elm/Model/Payer.elm
+++ b/src/client/elm/Model/Payer.elm
@@ -4,7 +4,6 @@ module Model.Payer
, ExceedingPayer
, getOrderedExceedingPayers
, useIncomesFrom
- , getPostPaymentPayer
) where
import Json.Decode as Json exposing (..)
@@ -29,6 +28,12 @@ type alias Payer =
, incomes : List Income
}
+type alias PostPaymentPayer =
+ { preIncomePaymentSum : Int
+ , cumulativeIncome : Int
+ , ratio : Float
+ }
+
type alias ExceedingPayer =
{ userId : UserId
, amount : Int
@@ -118,12 +123,6 @@ exceedingPayersFromAmounts userAmounts =
)
|> List.filter (\payer -> payer.amount > 0)
-type alias PostPaymentPayer =
- { preIncomePaymentSum : Int
- , cumulativeIncome : Int
- , ratio : Float
- }
-
getPostPaymentPayer : Time -> Time -> Payer -> PostPaymentPayer
getPostPaymentPayer currentTime since payer =
let cumulativeIncome = cumulativeIncomesSince currentTime since payer.incomes
diff --git a/src/server/Model/Message/Key.hs b/src/server/Model/Message/Key.hs
index 43b8faa..6d48682 100644
--- a/src/server/Model/Message/Key.hs
+++ b/src/server/Model/Message/Key.hs
@@ -69,6 +69,7 @@ data Key =
| Statistics
| Overall
| ByMonths
+ | By
-- Income
diff --git a/src/server/Model/Message/Translations.hs b/src/server/Model/Message/Translations.hs
index d4e5454..e31d2df 100644
--- a/src/server/Model/Message/Translations.hs
+++ b/src/server/Model/Message/Translations.hs
@@ -262,6 +262,11 @@ m l ByMonths =
English -> "By months"
French -> "Par mois"
+m l By =
+ case l of
+ English -> "by"
+ French -> "par"
+
-- Income
m l CumulativeIncomesSince =