;dev:Timeclock: indentation
This commit is contained in:
parent
e6dbe5d231
commit
539a876e7a
@ -97,31 +97,30 @@ findInForOut o ([], activeins) =
|
|||||||
pairClockEntries :: [TimeclockEntry] -> [TimeclockEntry] -> [Session] -> Sessions
|
pairClockEntries :: [TimeclockEntry] -> [TimeclockEntry] -> [Session] -> Sessions
|
||||||
pairClockEntries [] actives sessions = Sessions {completed = sessions, active = actives}
|
pairClockEntries [] actives sessions = Sessions {completed = sessions, active = actives}
|
||||||
pairClockEntries (entry : rest) actives sessions
|
pairClockEntries (entry : rest) actives sessions
|
||||||
| tlcode entry == In = pairClockEntries rest inentries sessions
|
| tlcode entry == In = pairClockEntries rest inentries sessions
|
||||||
| tlcode entry == Out = pairClockEntries rest' actives' sessions'
|
| tlcode entry == Out = pairClockEntries rest' actives' sessions'
|
||||||
| otherwise = pairClockEntries rest actives sessions
|
| otherwise = pairClockEntries rest actives sessions
|
||||||
where
|
where
|
||||||
(inentry, newactive) = findInForOut entry (partition (\e -> tlaccount e == tlaccount entry) actives)
|
(inentry, newactive) = findInForOut entry (partition (\e -> tlaccount e == tlaccount entry) actives)
|
||||||
(itime, otime) = (tldatetime inentry, tldatetime entry)
|
(itime, otime) = (tldatetime inentry, tldatetime entry)
|
||||||
(idate, odate) = (localDay itime, localDay otime)
|
(idate, odate) = (localDay itime, localDay otime)
|
||||||
omidnight = entry {tldatetime = itime {localDay = idate, localTimeOfDay = TimeOfDay 23 59 59}}
|
omidnight = entry {tldatetime = itime {localDay = idate, localTimeOfDay = TimeOfDay 23 59 59}}
|
||||||
imidnight = inentry {tldatetime = itime {localDay = addDays 1 idate, localTimeOfDay = midnight}}
|
imidnight = inentry {tldatetime = itime {localDay = addDays 1 idate, localTimeOfDay = midnight}}
|
||||||
(sessions', actives', rest') = if odate > idate then
|
(sessions', actives', rest') =
|
||||||
(Session {in' = inentry, out = omidnight} : sessions, imidnight : newactive, entry : rest)
|
if odate > idate
|
||||||
else
|
then (Session {in' = inentry, out = omidnight} : sessions, imidnight : newactive, entry : rest)
|
||||||
(Session {in' = inentry, out = entry} : sessions, newactive, rest)
|
else (Session {in' = inentry, out = entry} : sessions, newactive, rest)
|
||||||
l = show $ unPos $ sourceLine $ tlsourcepos entry
|
l = show $ unPos $ sourceLine $ tlsourcepos entry
|
||||||
c = unPos $ sourceColumn $ tlsourcepos entry
|
c = unPos $ sourceColumn $ tlsourcepos entry
|
||||||
inentries =
|
inentries =
|
||||||
if any (\e -> tlaccount e == tlaccount entry) actives
|
if any (\e -> tlaccount e == tlaccount entry) actives
|
||||||
then error' $
|
then error' $ printf
|
||||||
printf
|
"%s:\n%s\n%s\n\nEncountered clockin entry for session \"%s\" that is already active."
|
||||||
"%s:\n%s\n%s\n\nEncountered clockin entry for session \"%s\" that is already active."
|
(sourcePosPretty $ tlsourcepos entry)
|
||||||
(sourcePosPretty $ tlsourcepos entry)
|
(l ++ " | " ++ show entry)
|
||||||
(l ++ " | " ++ show entry)
|
(replicate (length l) ' ' ++ " |" ++ replicate c ' ' ++ "^")
|
||||||
(replicate (length l) ' ' ++ " |" ++ replicate c ' ' ++ "^")
|
(tlaccount entry)
|
||||||
(tlaccount entry)
|
else entry : actives
|
||||||
else entry : actives
|
|
||||||
|
|
||||||
-- | Convert time log entries to journal transactions, allowing multiple clocked-in sessions at once.
|
-- | Convert time log entries to journal transactions, allowing multiple clocked-in sessions at once.
|
||||||
-- This is the new, default behaviour.
|
-- This is the new, default behaviour.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user