From 6b090b3bdef7108d51d93207e28b148c121767aa Mon Sep 17 00:00:00 2001 From: Joris Date: Mon, 4 Jan 2016 00:34:48 +0100 Subject: Simplify server communicaitons in client --- src/client/elm/Update/LoggedIn.elm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/client/elm/Update/LoggedIn.elm') diff --git a/src/client/elm/Update/LoggedIn.elm b/src/client/elm/Update/LoggedIn.elm index 134aec2..dfc2a1b 100644 --- a/src/client/elm/Update/LoggedIn.elm +++ b/src/client/elm/Update/LoggedIn.elm @@ -6,6 +6,7 @@ import Date import Dict import Debug import Task +import String import Effects exposing (Effects) import Http exposing (Error(..)) @@ -21,6 +22,7 @@ import Model.Action.MonthlyAction as Monthly import Model.Action.AddPaymentAction as AddPayment import Model.View.LoggedInView exposing (..) import Model.View.LoggedIn.AddPayment exposing (..) +import Model.Translations exposing (Translations, getMessage) import Update.LoggedIn.AddPayment exposing (updateAddPayment, addPaymentError) import Update.LoggedIn.Monthly exposing (updateMonthly) @@ -44,7 +46,14 @@ updateLoggedIn model action loggedInView = AddPayment name cost frequency -> ( { loggedInView | add = updateAddPayment AddPayment.WaitingServer loggedInView.add } - , Server.addPayment model.translations name cost frequency + , Server.addPayment name cost frequency + |> Task.map (\paymentId -> + case String.toInt cost of + Err _ -> + UpdateAdd (AddPayment.AddError Nothing (Just (getMessage "CostRequired" model.translations))) + Ok costNumber -> + ValidateAddPayment paymentId name costNumber frequency + ) |> flip Task.onError (\err -> case err of BadResponse 400 jsonErr -> @@ -89,6 +98,7 @@ updateLoggedIn model action loggedInView = DeletePayment payment frequency -> ( loggedInView , Server.deletePayment payment frequency + |> Task.map (always (ValidateDeletePayment payment frequency)) |> flip Task.onError (always <| Task.succeed NoOp) |> Effects.task ) -- cgit v1.2.3