From 8c24464a4bd0a486cd0ddf846d3b5a323a7aaa9a Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 4 Oct 2015 20:48:32 +0200 Subject: Using incomes to compute a fair computation to designate the payer --- src/client/View/LoggedIn/Account.elm | 8 ++++---- src/client/View/LoggedIn/Add.elm | 2 +- src/client/View/LoggedIn/Monthly.elm | 20 ++++++++++++-------- src/client/View/LoggedIn/Table.elm | 4 ++-- 4 files changed, 19 insertions(+), 15 deletions(-) (limited to 'src/client/View/LoggedIn') diff --git a/src/client/View/LoggedIn/Account.elm b/src/client/View/LoggedIn/Account.elm index 7e383f3..706f7cc 100644 --- a/src/client/View/LoggedIn/Account.elm +++ b/src/client/View/LoggedIn/Account.elm @@ -16,7 +16,7 @@ import Update.LoggedIn.Account exposing (..) import Model exposing (Model) import Model.User exposing (getUserName) -import Model.Payers exposing (..) +import Model.Payer exposing (..) import Model.View.LoggedInView exposing (LoggedInView) import Model.Translations exposing (getParamMessage, getMessage) import Model.View.LoggedIn.Account exposing (..) @@ -48,7 +48,7 @@ exceedingPayers model loggedInView = [ class "header" , onClick actions.address (UpdateLoggedIn << UpdateAccount <| ToggleDetail) ] - ( (List.map (exceedingPayer model loggedInView) (getOrderedExceedingPayers loggedInView.account.payers)) + ( (List.map (exceedingPayer model loggedInView) (getOrderedExceedingPayers model.currentTime loggedInView.account.payers)) ++ [ expand ExpandDown loggedInView.account.visibleDetail ] ) @@ -80,7 +80,7 @@ incomeRead : Model -> Account -> Html incomeRead model account = div [ class "income" ] - [ ( case account.income of + [ ( case getCurrentIncome account of Nothing -> text (getMessage "NoIncome" model.translations) Just income -> @@ -94,7 +94,7 @@ incomeEdition model account edition = H.form [ case validateIncome edition.income model.translations of Ok validatedAmount -> - onSubmitPrevDefault serverCommunications.address (SC.SetIncome validatedAmount) + onSubmitPrevDefault serverCommunications.address (SC.SetIncome model.currentTime validatedAmount) Err error -> onSubmitPrevDefault actions.address (UpdateLoggedIn << UpdateAccount << UpdateEditionError <| error) , class "income" diff --git a/src/client/View/LoggedIn/Add.elm b/src/client/View/LoggedIn/Add.elm index 2167a7f..52d931a 100644 --- a/src/client/View/LoggedIn/Add.elm +++ b/src/client/View/LoggedIn/Add.elm @@ -32,7 +32,7 @@ addPayment model loggedInView = (Ok name, Ok cost) -> let action = case loggedInView.add.frequency of - Punctual -> SC.AddPayment loggedInView.me name cost + Punctual -> SC.AddPayment loggedInView.account.me name cost Monthly -> SC.AddMonthlyPayment name cost in onSubmitPrevDefault serverCommunications.address action (resName, resCost) -> diff --git a/src/client/View/LoggedIn/Monthly.elm b/src/client/View/LoggedIn/Monthly.elm index 9195479..a274015 100644 --- a/src/client/View/LoggedIn/Monthly.elm +++ b/src/client/View/LoggedIn/Monthly.elm @@ -27,15 +27,19 @@ import View.Price exposing (price) monthlyPayments : Model -> LoggedInView -> Html monthlyPayments model loggedInView = let monthly = loggedInView.monthly - in div - [ classList - [ ("monthlyPayments", True) - , ("detail", monthly.visibleDetail) + in if List.length monthly.payments == 0 + then + text "" + else + div + [ classList + [ ("monthlyPayments", True) + , ("detail", monthly.visibleDetail) + ] + ] + [ monthlyCount model monthly + , if monthly.visibleDetail then paymentsTable model loggedInView monthly else text "" ] - ] - [ monthlyCount model monthly - , if monthly.visibleDetail then paymentsTable model loggedInView monthly else text "" - ] monthlyCount : Model -> Monthly -> Html monthlyCount model monthly = diff --git a/src/client/View/LoggedIn/Table.elm b/src/client/View/LoggedIn/Table.elm index d98cee6..9d28e81 100644 --- a/src/client/View/LoggedIn/Table.elm +++ b/src/client/View/LoggedIn/Table.elm @@ -84,12 +84,12 @@ paymentLine model loggedInView payment = [ class "longDate" ] [ text (renderLongDate payment.creation model.translations) ] ] - , if loggedInView.me == payment.userId + , if loggedInView.account.me == payment.userId then div [ class "cell delete" ] [ button - [ onClick serverCommunications.address (SC.DeletePayment payment.id payment.userId payment.cost loggedInView.currentPage) ] + [ onClick serverCommunications.address (SC.DeletePayment payment loggedInView.currentPage) ] [ renderIcon "times" ] ] else -- cgit v1.2.3