aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Update/LoggedIn.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/elm/Update/LoggedIn.elm')
-rw-r--r--src/client/elm/Update/LoggedIn.elm18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/client/elm/Update/LoggedIn.elm b/src/client/elm/Update/LoggedIn.elm
index 74e213a..134aec2 100644
--- a/src/client/elm/Update/LoggedIn.elm
+++ b/src/client/elm/Update/LoggedIn.elm
@@ -4,9 +4,11 @@ module Update.LoggedIn
import Date
import Dict
+import Debug
+import Task
import Effects exposing (Effects)
-import Task
+import Http exposing (Error(..))
import Server
@@ -20,7 +22,7 @@ import Model.Action.AddPaymentAction as AddPayment
import Model.View.LoggedInView exposing (..)
import Model.View.LoggedIn.AddPayment exposing (..)
-import Update.LoggedIn.AddPayment exposing (updateAddPayment)
+import Update.LoggedIn.AddPayment exposing (updateAddPayment, addPaymentError)
import Update.LoggedIn.Monthly exposing (updateMonthly)
import Update.LoggedIn.Account exposing (updateAccount)
@@ -42,8 +44,16 @@ updateLoggedIn model action loggedInView =
AddPayment name cost frequency ->
( { loggedInView | add = updateAddPayment AddPayment.WaitingServer loggedInView.add }
- , Server.addPayment name cost frequency
- |> flip Task.onError (always <| Task.succeed NoOp)
+ , Server.addPayment model.translations name cost frequency
+ |> flip Task.onError (\err ->
+ case err of
+ BadResponse 400 jsonErr ->
+ case addPaymentError model.translations jsonErr of
+ Just addPaymentAction -> Task.succeed (UpdateAdd addPaymentAction)
+ Nothing -> Task.succeed NoOp
+ _ ->
+ Task.succeed NoOp
+ )
|> Effects.task
)