diff --git a/Application.hs b/Application.hs index 08fc2c7..91ae1fd 100644 --- a/Application.hs +++ b/Application.hs @@ -37,6 +37,7 @@ import Handler.Settings import Handler.Update import Handler.Stock import Handler.ProfitItems +import Handler.Orders -- This line actually creates our YesodDispatch instance. It is the second half -- of the call to mkYesodData which occurs in Foundation.hs. Please see the diff --git a/Handler/Orders.hs b/Handler/Orders.hs new file mode 100644 index 0000000..3e0ae8d --- /dev/null +++ b/Handler/Orders.hs @@ -0,0 +1,64 @@ +{-# LANGUAGE ScopedTypeVariables #-} + +module Handler.Orders where + +import Import +import Database.Persist.Sql +import qualified Eve.Api.Char.MarketOrders as MO + +getOrdersR :: Handler Html +getOrdersR = loginOrDo (\(uid,user) -> do + -- using raw because model does not know about CCP-Data-Dump + let sql = "select ??, t.\"typeName\" from \"order\" join \"invTypes\" t on (\"order\".type_id = t.\"typeID\") where \"user\"=? order by \"order\".is_sell asc, t.\"typeName\" asc" + (orders :: [(Entity Order, Single Text)]) <- runDB $ rawSql sql [toPersistValue uid] + let sellorders = filter (\(Entity _ o, _) -> orderIsSell o && orderOrderState o == (fromIntegral . fromEnum) MO.Open) orders + let buyorders = filter (\(Entity _ o, _) -> not (orderIsSell o) && orderOrderState o == (fromIntegral . fromEnum) MO.Open) orders + loginLayout user [whamlet| +
Last changed + | Item + | Price + | Quantity (min) + | Range + | Duration + | Escrow + | Station + $forall (Entity _ o, Single name) <- sellorders + | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#{showDateTime $ orderIssued $ o} + | #{name} + | #{prettyISK $ orderPriceCents o} + | #{orderVolRemaining o}/#{orderVolEntered o} (#{orderMinVolume o}) + | Range + | #{orderDuration o} + | #{prettyISK $ orderEscrowCents o} + | StationName
+
+
+ Current Buy Orders:
+
|