aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Update/LoggedIn.elm
diff options
context:
space:
mode:
authorJoris2016-01-03 23:37:14 +0100
committerJoris2016-01-03 23:46:19 +0100
commitd9df5c3fcffe12aac239b58ccf2fd82c19c3be62 (patch)
treeaee62828e85c9d30e2beb5954062942f0d5d53f4 /src/client/elm/Update/LoggedIn.elm
parentd22d10da342520163014dda255d5d9bd5e1a80c0 (diff)
downloadbudget-d9df5c3fcffe12aac239b58ccf2fd82c19c3be62.tar.gz
budget-d9df5c3fcffe12aac239b58ccf2fd82c19c3be62.tar.bz2
budget-d9df5c3fcffe12aac239b58ccf2fd82c19c3be62.zip
Validate add payment server side
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
)