aboutsummaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
authorJoris2018-10-30 18:04:58 +0100
committerJoris2018-10-30 18:04:58 +0100
commit50fb8fa48d1c4881da20b4ecf6d68a772301e713 (patch)
tree99c30c644d40664a9a7bb4a27e838d7cccda7a5f /server/src
parent40b4994797a797b1fa86cafda789a5c488730c6d (diff)
Update table when adding or removing a payment
Diffstat (limited to 'server/src')
-rw-r--r--server/src/Controller/Payment.hs4
-rw-r--r--server/src/Design/Global.hs2
-rw-r--r--server/src/Persistence/Payment.hs21
3 files changed, 19 insertions, 8 deletions
diff --git a/server/src/Controller/Payment.hs b/server/src/Controller/Payment.hs
index 4edbf6a..fb7fcb2 100644
--- a/server/src/Controller/Payment.hs
+++ b/server/src/Controller/Payment.hs
@@ -12,8 +12,6 @@ import Web.Scotty
import Common.Model (CreatePayment (..),
EditPayment (..), PaymentId,
User (..))
-
-import qualified Json
import qualified Model.Query as Query
import qualified Persistence.Payment as PaymentPersistence
import qualified Persistence.PaymentCategory as PaymentCategoryPersistence
@@ -34,7 +32,7 @@ create createPayment@(CreatePayment name cost date category frequency) =
(liftIO . Query.run $ do
PaymentCategoryPersistence.save name category
PaymentPersistence.create (_user_id user) name cost date frequency
- ) >>= Json.jsonId
+ ) >>= json
Just validationError ->
do
status Status.badRequest400
diff --git a/server/src/Design/Global.hs b/server/src/Design/Global.hs
index 4da4ffb..de8dd61 100644
--- a/server/src/Design/Global.hs
+++ b/server/src/Design/Global.hs
@@ -29,6 +29,8 @@ global = do
body ? do
minWidth (px 320)
fontFamily ["Cantarell"] [sansSerif]
+ ".modal" &
+ overflowY hidden
Media.tablet $ do
fontSize (px 15)
button ? fontSize (px 15)
diff --git a/server/src/Persistence/Payment.hs b/server/src/Persistence/Payment.hs
index 32600d7..272cd39 100644
--- a/server/src/Persistence/Payment.hs
+++ b/server/src/Persistence/Payment.hs
@@ -92,18 +92,29 @@ listActiveMonthlyOrderedByName =
(Only (FrequencyField Monthly))
)
-create :: UserId -> Text -> Int -> Day -> Frequency -> Query PaymentId
-create userId paymentName paymentCost paymentDate paymentFrequency =
+create :: UserId -> Text -> Int -> Day -> Frequency -> Query Payment
+create userId name cost date frequency =
Query (\conn -> do
- now <- getCurrentTime
+ time <- getCurrentTime
SQLite.execute
conn
(SQLite.Query $ T.intercalate " "
[ "INSERT INTO payment (user_id, name, cost, date, frequency, created_at)"
, "VALUES (?, ?, ?, ?, ?, ?)"
])
- (userId, paymentName, paymentCost, paymentDate, FrequencyField paymentFrequency, now)
- SQLite.lastInsertRowId conn
+ (userId, name, cost, date, FrequencyField frequency, time)
+ paymentId <- SQLite.lastInsertRowId conn
+ return $ Payment
+ { _payment_id = paymentId
+ , _payment_user = userId
+ , _payment_name = name
+ , _payment_cost = cost
+ , _payment_date = date
+ , _payment_frequency = frequency
+ , _payment_createdAt = time
+ , _payment_editedAt = Nothing
+ , _payment_deletedAt = Nothing
+ }
)
createMany :: [Payment] -> Query ()