diff --git a/Handler/Item.hs b/Handler/Item.hs index 4e764d1..baa9b7d 100644 --- a/Handler/Item.hs +++ b/Handler/Item.hs @@ -6,20 +6,23 @@ itemsPerPage :: Int itemsPerPage = 100 getItemR :: Int64 -> Handler Html -getItemR transactionTypeId = getItemPagedR transactionTypeId 0 +getItemR transactionTypeId = getItemPagedR transactionTypeId 1 getItemPagedR :: Int64 -> Int -> Handler Html -getItemPagedR tid page = - loginOrDo (\(uid,user) -> do - items <- runDB $ selectList [TransactionTypeId ==. tid] [Desc TransactionDateTime, LimitTo itemsPerPage, OffsetBy (itemsPerPage*page)] +getItemPagedR tid page + | page < 1 = getItemPagedR tid 1 + | otherwise = loginOrDo (\(uid,user) -> do + items <- runDB $ selectList [TransactionTypeId ==. tid] [Desc TransactionDateTime, LimitTo itemsPerPage, OffsetBy (itemsPerPage*(page-1))] total <- runDB $ count [TransactionTypeId ==. tid] let offset = itemsPerPage * page + let maxPages = total `div` itemsPerPage + let paginatePages = [1..maxPages+1] loginLayout user $ [whamlet|
Time @@ -79,6 +82,12 @@ getItemPagedR tid page = | #{transactionStationName t} |
+
|
---|