aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/Main.elm19
-rw-r--r--src/client/ServerCommunication.elm6
2 files changed, 14 insertions, 11 deletions
diff --git a/src/client/Main.elm b/src/client/Main.elm
index c2ba408..e59692a 100644
--- a/src/client/Main.elm
+++ b/src/client/Main.elm
@@ -57,14 +57,17 @@ port initView =
Just msg ->
Signal.send actions.address (SignInError msg)
Nothing ->
- Task.andThen getUsers <| \users ->
- Task.andThen whoAmI <| \me ->
- Task.andThen getMonthlyPayments <| \monthlyPayments ->
- Task.andThen getPayments <| \payments ->
- Task.andThen getPaymentsCount <| \paymentsCount ->
- Task.andThen getPayers <| \payers ->
- Signal.send actions.address (GoLoggedInView users me monthlyPayments payments paymentsCount payers)
- |> flip Task.onError (\_ -> Signal.send actions.address GoSignInView)
+ Task.onError goLoggedInView (\_ -> Signal.send actions.address GoSignInView)
+
+goLoggedInView : Task Http.Error ()
+goLoggedInView =
+ Task.andThen getUsers <| \users ->
+ Task.andThen whoAmI <| \me ->
+ Task.andThen getMonthlyPayments <| \monthlyPayments ->
+ Task.andThen getPayments <| \payments ->
+ Task.andThen getPaymentsCount <| \paymentsCount ->
+ Task.andThen getPayers <| \payers ->
+ Signal.send actions.address (GoLoggedInView users me monthlyPayments payments paymentsCount payers)
getUsers : Task Http.Error Users
getUsers = Http.get usersDecoder "/users"
diff --git a/src/client/ServerCommunication.elm b/src/client/ServerCommunication.elm
index 6d65552..fefbbff 100644
--- a/src/client/ServerCommunication.elm
+++ b/src/client/ServerCommunication.elm
@@ -76,8 +76,8 @@ simple method url =
serverResult : Communication -> Http.Response -> Task Http.RawError U.Action
serverResult communication response =
- if response.status == 200
- then
+ case response.status of
+ 200 ->
case communication of
NoCommunication ->
Task.succeed U.NoOp
@@ -107,7 +107,7 @@ serverResult communication response =
response
SignOut ->
Task.succeed (U.GoSignInView)
- else
+ errorStatus ->
decodeResponse
messageDecoder
(\error ->