diff options
Diffstat (limited to 'src/client/elm/LoggedIn/Update.elm')
| -rw-r--r-- | src/client/elm/LoggedIn/Update.elm | 40 | 
1 files changed, 23 insertions, 17 deletions
diff --git a/src/client/elm/LoggedIn/Update.elm b/src/client/elm/LoggedIn/Update.elm index 1f09271..db851f1 100644 --- a/src/client/elm/LoggedIn/Update.elm +++ b/src/client/elm/LoggedIn/Update.elm @@ -14,7 +14,7 @@ import Form  import Model exposing (Model)  import Model.Translations exposing (getMessage) -import Model.Payment as Payment exposing (Payment, Frequency(..), deletePayment) +import Model.Payment as Payment exposing (Payment, Frequency(..))  import Server  import LoggedData @@ -58,23 +58,16 @@ update model msg loggedIn =                , Cmd.map LoggedInMsg.IncomeMsg cmd                ) -        LoggedInMsg.AddPayment name cost date frequency -> +        LoggedInMsg.CreatePayment name cost date frequency ->            ( loggedIn            , Server.createPayment name cost date frequency                |> Task.perform -                   (\err -> -                     case err of -                       BadResponse 400 jsonErr -> -                         LoggedInMsg.NoOp -                       _ -> -                         LoggedInMsg.NoOp -                   ) -                   (\paymentId -> LoggedInMsg.ValidateAddPayment paymentId name cost date frequency) +                   (always LoggedInMsg.NoOp) +                   (\paymentId -> LoggedInMsg.ValidateCreatePayment paymentId name cost date frequency)            ) -        LoggedInMsg.ValidateAddPayment paymentId name cost date frequency -> +        LoggedInMsg.ValidateCreatePayment paymentId name cost date frequency ->            update model (LoggedInMsg.HomeMsg <| HomeMsg.SearchMsg (Form.Reset (HomeModel.searchInitial frequency))) loggedIn -            :> update model (LoggedInMsg.HomeMsg <| HomeMsg.SearchMsg Form.Submit)              :> update model (LoggedInMsg.HomeMsg <| HomeMsg.UpdatePage 1)              :> (\loggedIn ->                   let newPayment = Payment paymentId name cost date loggedIn.me frequency @@ -83,6 +76,20 @@ update model msg loggedIn =                       )                 ) +        LoggedInMsg.EditPayment paymentId name cost date frequency -> +          ( loggedIn +          , Server.editPayment paymentId name cost date frequency +              |> Task.perform +                   (always LoggedInMsg.NoOp) +                   (always <| LoggedInMsg.ValidateEditPayment paymentId name cost date frequency) +          ) + +        LoggedInMsg.ValidateEditPayment paymentId name cost date frequency -> +          let updatedPayment = Payment paymentId name cost date loggedIn.me frequency +          in  ( { loggedIn | payments = Payment.edit updatedPayment loggedIn.payments } +              , Cmd.none +              ) +          LoggedInMsg.DeletePayment paymentId ->            ( loggedIn            , Server.deletePayment paymentId @@ -92,7 +99,7 @@ update model msg loggedIn =            )          LoggedInMsg.ValidateDeletePayment paymentId -> -          let payments = deletePayment paymentId loggedIn.payments +          let payments = Payment.delete paymentId loggedIn.payments                frequency =                  case Form.getOutput loggedIn.home.search of                    Just data -> data.frequency @@ -104,7 +111,6 @@ update model msg loggedIn =            in  if switchToPunctual                  then                    update model (LoggedInMsg.HomeMsg <| HomeMsg.SearchMsg (Form.Reset (HomeModel.searchInitial Punctual))) loggedIn -                    :> update model (LoggedInMsg.HomeMsg <| HomeMsg.SearchMsg Form.Submit)                      :> (\loggedIn ->                           ( { loggedIn | payments = payments }                           , Cmd.none @@ -115,15 +121,15 @@ update model msg loggedIn =                    , Cmd.none                    ) -        LoggedInMsg.AddIncome amount date -> +        LoggedInMsg.CreateIncome amount date ->            ( loggedIn            , Server.createIncome amount date                |> Task.perform                     (always LoggedInMsg.NoOp) -                   (\incomeId -> (LoggedInMsg.ValidateAddIncome incomeId amount date)) +                   (\incomeId -> (LoggedInMsg.ValidateCreateIncome incomeId amount date))            ) -        LoggedInMsg.ValidateAddIncome incomeId amount date -> +        LoggedInMsg.ValidateCreateIncome incomeId amount date ->            let newIncome = { userId = loggedIn.me, amount = amount, time = Date.toTime date }                loggedInIncome = loggedIn.income            in  ( { loggedIn  | 
