casr-logbook 0.6.12 → 0.6.13
raw patch · 48 files changed
+254/−58 lines, 48 filesdep +attoparsec
Dependencies added: attoparsec
Files
- casr-logbook.cabal +2/−1
- changelog +5/−0
- src/Data/Aviation/Casr/Logbook/Meta/AircraftFlightExpense.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Meta/AircraftFlightMeta.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Meta/AircraftLandingExpense.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Meta/AircraftUsageExpense.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Meta/BriefingExpense.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Meta/BriefingMeta.hs +12/−0
- src/Data/Aviation/Casr/Logbook/Meta/ExamExpense.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Meta/ExamMeta.hs +12/−1
- src/Data/Aviation/Casr/Logbook/Meta/Html.hs +18/−13
- src/Data/Aviation/Casr/Logbook/Meta/Image.hs +13/−3
- src/Data/Aviation/Casr/Logbook/Meta/ImageType.hs +23/−1
- src/Data/Aviation/Casr/Logbook/Meta/Passenger.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Meta/SimulatorFlightExpense.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Meta/SimulatorFlightMeta.hs +14/−0
- src/Data/Aviation/Casr/Logbook/Meta/TrackLog.hs +12/−2
- src/Data/Aviation/Casr/Logbook/Meta/TrackLogType.hs +24/−2
- src/Data/Aviation/Casr/Logbook/Meta/TrackLogs.hs +11/−0
- src/Data/Aviation/Casr/Logbook/Meta/Video.hs +11/−2
- src/Data/Aviation/Casr/Logbook/Meta/VideoType.hs +25/−3
- src/Data/Aviation/Casr/Logbook/Meta/Visualisation.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Reports/FlightTimeReport.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Reports/Html.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Reports/Meta.hs +1/−1
- src/Data/Aviation/Casr/Logbook/Reports/Meta/ExpenseReport.hs +27/−16
- src/Data/Aviation/Casr/Logbook/Reports/Meta/Html.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Reports/SimulatorTimeReport.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Reports/TakeOffLanding90.hs +2/−1
- src/Data/Aviation/Casr/Logbook/Types/Aircraft.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/AircraftFlight.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/Aviator.hs +3/−2
- src/Data/Aviation/Casr/Logbook/Types/Briefing.hs +3/−2
- src/Data/Aviation/Casr/Logbook/Types/Command.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/DayNight.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/Engine.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/Entries.hs +2/−1
- src/Data/Aviation/Casr/Logbook/Types/Entry.hs +1/−1
- src/Data/Aviation/Casr/Logbook/Types/Exam.hs +3/−2
- src/Data/Aviation/Casr/Logbook/Types/FlightPath.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/FlightPoint.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/Instruction.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/Location.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/Logbook.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/Rating.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/SimulatorFlight.hs +2/−2
- src/Data/Aviation/Casr/Logbook/Types/Time.hs +1/−0
- src/Data/Aviation/Casr/Logbook/Types/TimeAmount.hs +3/−2
casr-logbook.cabal view
@@ -1,5 +1,5 @@ name: casr-logbook-version: 0.6.12+version: 0.6.13 license: OtherLicense license-file: LICENSE author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>@@ -37,6 +37,7 @@ , lucid >= 2.9 && < 3 , lens >= 4.1 && < 5 , text >= 1.2 && < 1.3+ , attoparsec == 0.13.2.2 ghc-options: -Wall
changelog view
@@ -1,3 +1,8 @@+0.6.13++* Update dependencies+* Update source files with a few extra functions+ 0.6.9 * Fix bug in command hours
src/Data/Aviation/Casr/Logbook/Meta/AircraftFlightExpense.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.AircraftFlightExpense(
src/Data/Aviation/Casr/Logbook/Meta/AircraftFlightMeta.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.AircraftFlightMeta(
src/Data/Aviation/Casr/Logbook/Meta/AircraftLandingExpense.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.AircraftLandingExpense(
src/Data/Aviation/Casr/Logbook/Meta/AircraftUsageExpense.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.AircraftUsageExpense(
src/Data/Aviation/Casr/Logbook/Meta/BriefingExpense.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.BriefingExpense(
src/Data/Aviation/Casr/Logbook/Meta/BriefingMeta.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -10,8 +11,11 @@ import Control.Lens(makeClassy, makeWrapped) import Data.Aviation.Casr.Logbook.Meta.BriefingExpense+ ( BriefingExpense ) import Data.Eq(Eq)+import Data.Monoid ( (<>), Monoid(mempty) ) import Data.Ord(Ord)+import Data.Semigroup ( Semigroup ) import Prelude(Show) newtype BriefingMeta =@@ -21,3 +25,11 @@ makeClassy ''BriefingMeta makeWrapped ''BriefingMeta++instance Semigroup BriefingMeta where+ BriefingMeta x <> BriefingMeta y =+ BriefingMeta (x <> y)++instance Monoid BriefingMeta where+ mempty =+ BriefingMeta mempty
src/Data/Aviation/Casr/Logbook/Meta/ExamExpense.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.ExamExpense(
src/Data/Aviation/Casr/Logbook/Meta/ExamMeta.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -9,9 +10,11 @@ ) where import Control.Lens(makeClassy, makeWrapped)-import Data.Aviation.Casr.Logbook.Meta.ExamExpense+import Data.Aviation.Casr.Logbook.Meta.ExamExpense ( ExamExpense ) import Data.Eq(Eq)+import Data.Monoid ( (<>), Monoid(mempty) ) import Data.Ord(Ord)+import Data.Semigroup ( Semigroup ) import Prelude(Show) newtype ExamMeta =@@ -21,3 +24,11 @@ makeClassy ''ExamMeta makeWrapped ''ExamMeta++instance Semigroup ExamMeta where+ ExamMeta x <> ExamMeta y =+ ExamMeta (x <> y)++instance Monoid ExamMeta where+ mempty =+ ExamMeta mempty
src/Data/Aviation/Casr/Logbook/Meta/Html.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE OverloadedStrings #-} module Data.Aviation.Casr.Logbook.Meta.Html(@@ -30,10 +31,11 @@ , showCentsAsDollars , showThousandCentsAsDollars , showHundredCentsAsDollars- , whenEmpty + , whenEmpty ) where import Control.Category((.), id)+import Control.Lens(view) import Control.Monad(when) import Data.Aviation.Casr.Logbook.Types( AircraftFlight@@ -52,7 +54,8 @@ , BriefingMeta(BriefingMeta) , ExamExpense(ExamExpense) , ExamMeta(ExamMeta)- , Image(Image)+ , Image(..)+ , HasImage(..) , ImageType(Jpg, Png, Gif) , Passenger(Passenger) , SimulatorFlightExpense(SimulatorFlightExpense)@@ -66,10 +69,11 @@ , aircraftUsageCost , simulatorFlightCost , briefingCost- ) + ) import Data.Bool(not) import Data.Foldable(mapM_, null) import Data.Function(($))+import Data.Functor ( (<$>) ) import Data.Int(Int) import Data.List(reverse) import Data.Maybe(Maybe, maybe, fromMaybe)@@ -179,7 +183,7 @@ -> Html () htmlVisualisation _ (Doarama i _ n) = let n' = fromMaybe "doarama.com" n- in do a_ [href_ ("http://doarama.com/view/" <> Text.pack i)] $ + in do a_ [href_ ("http://doarama.com/view/" <> Text.pack i)] $ span_ [class_ "Visualisation_name"] (fromString n') -- p_ (iframe_ [src_ ("http://www.doarama.com/embed?k=" <> Text.pack e), width_ "560", height_ "315", termWith -- "allowfullscreen" [] "allowfullscreen"] "") @@ -204,12 +208,13 @@ AircraftFlight -> Image -> Html ()-htmlImage fl (Image u t s n) =- let u' = fromString u - n' = fromMaybe ("Image (" <> strImageType t <> ")") n+htmlImage fl i =+ let u' = fromString (view imageuri i)+ s' = fromMaybe u' (fromString <$> view imageurismall i)+ n' = fromMaybe ("Image (" <> strImageType (view imagetype i) <> ")") (view imagename i) in do a_ [href_ u'] $- img_ [src_ u', width_ "120", alt_ (Text.pack n')]- htmlImageSource fl s+ img_ [src_ s', width_ "120", alt_ (Text.pack n')]+ htmlImageSource fl (view imagesource i) strTrackLogType :: TrackLogType@@ -240,7 +245,7 @@ o = do fromString n' htmlTrackLogSource fl s in do a_ [href_ u'] o- case t of + case t of ImageTrackLog _ -> do br_ [] a_ [href_ u'] $@@ -301,7 +306,7 @@ htmlImages fl x = whenEmpty (\q -> div_ [class_ "tracklogs"] $ do span_ [class_ "imagesheader"] "Images"- div_ [style_ "text-align: justify"] $ + div_ [style_ "text-align: justify"] $ mapM_ (htmlImage fl) q) x htmlVideos ::@@ -346,7 +351,7 @@ -> AircraftFlightMeta -> Html () htmlAircraftFlightMeta fl (AircraftFlightMeta tls vls ims vds exs pax) =- div_ $ + div_ $ do htmlTrackLogs fl tls htmlVisualisations fl vls htmlImages fl ims@@ -362,7 +367,7 @@ whenEmpty (\q -> div_ [class_ "simulatormeta"] $ do span_ [class_ "simulatorheader"] "Expenses" ul_ [] $- mapM_ (li_ [class_ "expense"] . htmlSimulatorFlightExpense fl) q) s + mapM_ (li_ [class_ "expense"] . htmlSimulatorFlightExpense fl) q) s htmlExamMeta :: Exam
src/Data/Aviation/Casr/Logbook/Meta/Image.hs view
@@ -1,14 +1,16 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.Image( Image(Image) , HasImage(..)+, imageUriType ) where import Control.Lens(makeClassy)-import Data.Aviation.Casr.Logbook.Meta.ImageType+import Data.Aviation.Casr.Logbook.Meta.ImageType ( ImageType ) import Data.Eq(Eq)-import Data.Maybe(Maybe)+import Data.Maybe(Maybe(..)) import Data.Ord(Ord) import Data.String(String) import Prelude(Show)@@ -16,9 +18,17 @@ data Image = Image { _imageuri :: String+ , _imageurismall :: Maybe String , _imagetype :: ImageType , _imagesource :: Maybe String , _imagename :: Maybe String } deriving (Eq, Ord, Show)- + makeClassy ''Image++imageUriType ::+ String+ -> ImageType+ -> Image+imageUriType s t =+ Image s Nothing t Nothing Nothing
src/Data/Aviation/Casr/Logbook/Meta/ImageType.hs view
@@ -1,11 +1,15 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.ImageType( ImageType(Jpg, Png, Gif) , AsImageType(..)+, jpg+, png+, gif ) where -import Control.Lens(makeClassyPrisms)+import Control.Lens(makeClassyPrisms, ( # )) import Data.Eq(Eq) import Data.Ord(Ord) import Prelude(Show)@@ -17,3 +21,21 @@ deriving (Eq, Ord, Show) makeClassyPrisms ''ImageType++jpg ::+ AsImageType t =>+ t+jpg =+ _Jpg # ()++png ::+ AsImageType t =>+ t+png =+ _Png # ()++gif ::+ AsImageType t =>+ t+gif =+ _Gif # ()
src/Data/Aviation/Casr/Logbook/Meta/Passenger.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-}
src/Data/Aviation/Casr/Logbook/Meta/SimulatorFlightExpense.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.SimulatorFlightExpense(
src/Data/Aviation/Casr/Logbook/Meta/SimulatorFlightMeta.hs view
@@ -1,7 +1,9 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE InstanceSigs #-} module Data.Aviation.Casr.Logbook.Meta.SimulatorFlightMeta( SimulatorFlightMeta(SimulatorFlightMeta)@@ -10,8 +12,11 @@ import Control.Lens(makeClassy, makeWrapped) import Data.Aviation.Casr.Logbook.Meta.SimulatorFlightExpense+ ( SimulatorFlightExpense ) import Data.Eq(Eq)+import Data.Monoid ( (<>), Monoid(mempty) ) import Data.Ord(Ord)+import Data.Semigroup ( Semigroup ) import Prelude(Show) newtype SimulatorFlightMeta =@@ -21,3 +26,12 @@ makeClassy ''SimulatorFlightMeta makeWrapped ''SimulatorFlightMeta++instance Semigroup SimulatorFlightMeta where+ SimulatorFlightMeta x <> SimulatorFlightMeta y =+ SimulatorFlightMeta (x <> y)++instance Monoid SimulatorFlightMeta where+ mempty :: SimulatorFlightMeta+ mempty =+ SimulatorFlightMeta mempty
src/Data/Aviation/Casr/Logbook/Meta/TrackLog.hs view
@@ -1,14 +1,17 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.TrackLog( TrackLog(TrackLog) , HasTrackLog(..)+, tracklogUriType ) where import Control.Lens(makeClassy) import Data.Aviation.Casr.Logbook.Meta.TrackLogType+ ( TrackLogType ) import Data.Eq(Eq)-import Data.Maybe(Maybe)+import Data.Maybe(Maybe(..)) import Data.Ord(Ord) import Data.String(String) import Prelude(Show)@@ -20,5 +23,12 @@ , _tracklogsource :: Maybe String , _tracklogname :: Maybe String } deriving (Eq, Ord, Show)- + makeClassy ''TrackLog++tracklogUriType ::+ String+ -> TrackLogType+ -> TrackLog+tracklogUriType s t =+ TrackLog s t Nothing Nothing
src/Data/Aviation/Casr/Logbook/Meta/TrackLogType.hs view
@@ -1,12 +1,16 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.TrackLogType( TrackLogType(Gpx, Kml, Kmz, ImageTrackLog) , AsTrackLogType(..)+, gpx+, kml+, kmz ) where -import Control.Lens(makeClassyPrisms)-import Data.Aviation.Casr.Logbook.Meta.ImageType+import Control.Lens(makeClassyPrisms, ( # ))+import Data.Aviation.Casr.Logbook.Meta.ImageType ( ImageType ) import Data.Eq(Eq) import Data.Ord(Ord) import Prelude(Show)@@ -19,3 +23,21 @@ deriving (Eq, Ord, Show) makeClassyPrisms ''TrackLogType++gpx ::+ AsTrackLogType t =>+ t+gpx =+ _Gpx # ()++kml ::+ AsTrackLogType t =>+ t+kml =+ _Kml # ()++kmz ::+ AsTrackLogType t =>+ t+kmz =+ _Kmz # ()
src/Data/Aviation/Casr/Logbook/Meta/TrackLogs.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -11,7 +12,9 @@ import Control.Lens(makeClassy, makeWrapped) import Data.Aviation.Casr.Logbook.Meta.TrackLog import Data.Eq(Eq)+import Data.Monoid ( (<>), Monoid(mempty) ) import Data.Ord(Ord)+import Data.Semigroup ( Semigroup ) import Prelude(Show) newtype TrackLogs =@@ -21,3 +24,11 @@ makeClassy ''TrackLogs makeWrapped ''TrackLogs++instance Semigroup TrackLogs where+ TrackLogs x <> TrackLogs y =+ TrackLogs (x <> y)++instance Monoid TrackLogs where+ mempty =+ TrackLogs mempty
src/Data/Aviation/Casr/Logbook/Meta/Video.hs view
@@ -1,14 +1,16 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.Video( Video(Video) , HasVideo(..)+, videoUriType ) where import Control.Lens(makeClassy)-import Data.Aviation.Casr.Logbook.Meta.VideoType+import Data.Aviation.Casr.Logbook.Meta.VideoType ( VideoType ) import Data.Eq(Eq)-import Data.Maybe(Maybe)+import Data.Maybe(Maybe(..)) import Data.Ord(Ord) import Data.String(String) import Prelude(Show)@@ -22,3 +24,10 @@ } deriving (Eq, Ord, Show) makeClassy ''Video++videoUriType ::+ String+ -> VideoType+ -> Video+videoUriType s t =+ Video s t Nothing Nothing
src/Data/Aviation/Casr/Logbook/Meta/VideoType.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.VideoType(@@ -5,9 +6,12 @@ , AsVideoType(..) , linkVideoType , iframeVideoType+, youtube+, vimeo+, bambuser ) where -import Control.Lens(makeClassyPrisms)+import Control.Lens(makeClassyPrisms, ( # )) import Data.Eq(Eq) import Data.List((++)) import Data.Ord(Ord)@@ -19,9 +23,27 @@ | Vimeo | Bambuser deriving (Eq, Ord, Show)- + makeClassyPrisms ''VideoType +youtube ::+ AsVideoType t =>+ t+youtube =+ _YouTube # ()++vimeo ::+ AsVideoType t =>+ t+vimeo =+ _Vimeo # ()++bambuser ::+ AsVideoType t =>+ t+bambuser =+ _Bambuser # ()+ linkVideoType :: VideoType -> String@@ -29,7 +51,7 @@ linkVideoType YouTube u = "https://www.youtube.com/watch?v=" ++ u linkVideoType Vimeo u =- "https://bambuser.com/v/" ++ u + "https://bambuser.com/v/" ++ u linkVideoType Bambuser u = "https://vimeo.com/" ++ u
src/Data/Aviation/Casr/Logbook/Meta/Visualisation.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Meta.Visualisation(
src/Data/Aviation/Casr/Logbook/Reports/FlightTimeReport.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Reports.FlightTimeReport(
src/Data/Aviation/Casr/Logbook/Reports/Html.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE OverloadedStrings #-} module Data.Aviation.Casr.Logbook.Reports.Html(
src/Data/Aviation/Casr/Logbook/Reports/Meta.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE TemplateHaskell #-}+{-# OPTIONS_GHC -Wall #-} module Data.Aviation.Casr.Logbook.Reports.Meta( module M
src/Data/Aviation/Casr/Logbook/Reports/Meta/ExpenseReport.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Reports.Meta.ExpenseReport(@@ -10,20 +11,31 @@ import Control.Category((.)) import Control.Lens(makeClassy, (^.), _Wrapped) import Control.Monad((>>=), return)-import Data.Aviation.Casr.Logbook.Types(Entry(AircraftFlightEntry, SimulatorFlightEntry, ExamEntry, BriefingEntry), Logbook, logbookentries)-import Data.Aviation.Casr.Logbook.Meta(- AircraftFlightMeta- , SimulatorFlightMeta- , BriefingMeta- , ExamMeta- , AircraftFlightExpense(ExpenseAircraftUsage, ExpenseAircraftLanding)- , briefingCost- , examexpenseamount- , simulatorFlightCost- , aircraftlandingexpenseamount- , expenses- , aircraftUsageCost- )+import Data.Aviation.Casr.Logbook.Types.Entry+ ( Entry(AircraftFlightEntry, SimulatorFlightEntry, ExamEntry,+ BriefingEntry) )+import Data.Aviation.Casr.Logbook.Types.Logbook+ ( Logbook, logbookentries )+import Data.Aviation.Casr.Logbook.Meta.AircraftFlightExpense+ ( AircraftFlightExpense(ExpenseAircraftUsage,+ ExpenseAircraftLanding) )+import Data.Aviation.Casr.Logbook.Meta.AircraftFlightMeta+ ( AircraftFlightMeta, expenses )+import Data.Aviation.Casr.Logbook.Meta.AircraftLandingExpense+ ( aircraftlandingexpenseamount )+import Data.Aviation.Casr.Logbook.Meta.AircraftUsageExpense+ ( aircraftUsageCost )+import Data.Aviation.Casr.Logbook.Meta.BriefingExpense+ ( briefingCost )+import Data.Aviation.Casr.Logbook.Meta.BriefingMeta+ ( BriefingMeta )+import Data.Aviation.Casr.Logbook.Meta.ExamExpense+ ( examexpenseamount )+import Data.Aviation.Casr.Logbook.Meta.ExamMeta ( ExamMeta )+import Data.Aviation.Casr.Logbook.Meta.SimulatorFlightExpense+ ( simulatorFlightCost )+import Data.Aviation.Casr.Logbook.Meta.SimulatorFlightMeta+ ( SimulatorFlightMeta ) import Data.Eq(Eq) import Data.Foldable(sum, foldMap) import Data.Function(($))@@ -31,8 +43,7 @@ import Data.Monoid(Monoid(mempty, mappend)) import Data.Ord(Ord) import Data.Semigroup(Semigroup((<>)))-import Prelude(Show)-import Prelude((+))+import Prelude(Show, (+)) data ExpenseReport = ExpenseReport {
src/Data/Aviation/Casr/Logbook/Reports/Meta/Html.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE OverloadedStrings #-} module Data.Aviation.Casr.Logbook.Reports.Meta.Html(
src/Data/Aviation/Casr/Logbook/Reports/SimulatorTimeReport.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Reports.SimulatorTimeReport(
src/Data/Aviation/Casr/Logbook/Reports/TakeOffLanding90.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Reports.TakeOffLanding90(@@ -6,7 +7,7 @@ ) where import Control.Lens(makeClassy)-import Data.Aviation.Casr.Logbook.Types(FlightPoint)+import Data.Aviation.Casr.Logbook.Types.FlightPoint ( FlightPoint ) import Data.Eq(Eq) import Data.Ord(Ord) import Data.Time(Day)
src/Data/Aviation/Casr/Logbook/Types/Aircraft.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/AircraftFlight.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/Aviator.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} @@ -50,7 +51,7 @@ -> Aviator nodobaviator s f r = Aviator- s + s f r Nothing@@ -64,7 +65,7 @@ -> Aviator dobaviator s f r b = Aviator- s + s f r (Just b)
src/Data/Aviation/Casr/Logbook/Types/Briefing.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} @@ -5,7 +6,7 @@ Briefing(..) , HasBriefing(..) ) where- + import Control.Category((.)) import Control.Lens(makeClassy) import Data.Aviation.Casr.Logbook.Types.Aviator(Aviator, HasAviator(aviator))@@ -43,4 +44,4 @@ instance HasTimeAmount Briefing where timeAmount = briefingTimeAmount . timeAmount- +
src/Data/Aviation/Casr/Logbook/Types/Command.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE LambdaCase #-}
src/Data/Aviation/Casr/Logbook/Types/DayNight.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/Engine.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/Entries.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE FunctionalDependencies #-}@@ -15,7 +16,7 @@ import Data.Eq(Eq) import Data.Ord(Ord) import Prelude(Show)- + newtype Entries ae se ee be = Entries [Entry ae se ee be]
src/Data/Aviation/Casr/Logbook/Types/Entry.hs view
@@ -1,6 +1,6 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}-{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE FlexibleInstances #-}
src/Data/Aviation/Casr/Logbook/Types/Exam.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} @@ -27,7 +28,7 @@ , _examDelegate :: Aviator , _examResult :: Int , _examResultMaximum :: Int- } deriving (Eq, Ord, Show) + } deriving (Eq, Ord, Show) makeClassy ''Exam @@ -42,7 +43,7 @@ instance HasAviator Exam where aviator = examDelegate . aviator- + dayonlyexam :: String -> Location
src/Data/Aviation/Casr/Logbook/Types/FlightPath.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/FlightPoint.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/Instruction.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/Location.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/Logbook.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE FunctionalDependencies #-}
src/Data/Aviation/Casr/Logbook/Types/Rating.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/SimulatorFlight.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} @@ -26,7 +27,7 @@ , _simulatorothercrew :: [Aviator] , _simulatorTime :: TimeAmount , _instrumentsimulatorTime :: TimeAmount- } deriving (Eq, Ord, Show) + } deriving (Eq, Ord, Show) makeClassy ''SimulatorFlight @@ -46,4 +47,3 @@ SimulatorFlight n (dayonly d)-
src/Data/Aviation/Casr/Logbook/Types/Time.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Aviation/Casr/Logbook/Types/TimeAmount.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} @@ -39,12 +40,12 @@ TimeAmount 0 x0 addtimeamount ::- TimeAmount + TimeAmount -> TimeAmount -> TimeAmount TimeAmount f1 p1 `addtimeamount` TimeAmount f2 p2 = let (h, q) = p1 `addDecDigit'` p2- in TimeAmount (f1 + f2 + integralDecimal # (h :: DecDigit)) q + in TimeAmount (f1 + f2 + integralDecimal # (h :: DecDigit)) q timeAmountBy10 :: TimeAmount