aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Dialog/Model.elm
diff options
context:
space:
mode:
authorJoris2016-06-27 14:36:03 +0200
committerJoris2016-06-27 14:36:03 +0200
commitf605541cbaaa3c339eef8f345547bcd653d3f721 (patch)
tree1e800df7736e482290ca138726595e067e4a5cf9 /src/client/elm/Dialog/Model.elm
parent885dfd7708e338a3220c85b7f22a3ac267aad3f7 (diff)
downloadbudget-f605541cbaaa3c339eef8f345547bcd653d3f721.tar.gz
budget-f605541cbaaa3c339eef8f345547bcd653d3f721.tar.bz2
budget-f605541cbaaa3c339eef8f345547bcd653d3f721.zip
Add the edit functionnality on payments
Diffstat (limited to 'src/client/elm/Dialog/Model.elm')
-rw-r--r--src/client/elm/Dialog/Model.elm18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/client/elm/Dialog/Model.elm b/src/client/elm/Dialog/Model.elm
index 6256fea..b49d8f1 100644
--- a/src/client/elm/Dialog/Model.elm
+++ b/src/client/elm/Dialog/Model.elm
@@ -4,6 +4,7 @@ module Dialog.Model exposing
, init
, addPaymentInitial
, clonePaymentInitial
+ , editPaymentInitial
)
import Date exposing (Date)
@@ -14,7 +15,7 @@ import Form.Field as Field exposing (Field)
import Form.Validate as Validate exposing (Validation)
import Validation
-import Model.Payment as Payment exposing (Payment, Frequency)
+import Model.Payment as Payment exposing (Payment, Frequency, PaymentId)
import Model.Translations exposing (Translations)
type alias Model =
@@ -22,7 +23,8 @@ type alias Model =
}
type alias AddPayment =
- { name : String
+ { id : Maybe PaymentId
+ , name : String
, cost : Int
, date : Date
, frequency : Frequency
@@ -47,9 +49,19 @@ clonePaymentInitial translations date payment =
, ("frequency", Field.Radio (toString payment.frequency))
]
+editPaymentInitial : Translations -> Payment -> List (String, Field)
+editPaymentInitial translations payment =
+ [ ("id", Field.Text (toString payment.id))
+ , ("name", Field.Text payment.name)
+ , ("cost", Field.Text (toString payment.cost))
+ , ("date", Field.Text (Date.shortView payment.date translations))
+ , ("frequency", Field.Radio (toString payment.frequency))
+ ]
+
addPaymentValidation : Validation String AddPayment
addPaymentValidation =
- Validate.form4 AddPayment
+ Validate.form5 AddPayment
+ (Validate.get "id" (Validate.maybe Validate.int))
(Validate.get "name" (Validate.string `Validate.andThen` (Validate.nonEmpty)))
(Validate.get "cost" (Validate.int `Validate.andThen` (Validate.minInt 1)))
(Validate.get "date" Validation.date)