The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniOutliner > OmniOutliner 3 for Mac
FAQ Members List Calendar Search Today's Posts Mark Forums Read

 
OverDue Due Date Highlighter Thread Tools Search this Thread Display Modes
Hi all,

I wrote this script to highlight rows that have a due date that is today or earlier and have not yet been checked. If the row does not have a due date, it looks up the parent chain for one and inherits that due date.

This is my very first AppleScript so be gentle and use at your own risk,

--------------------

(*
OverDue Highlighter
Copyright 2007 Barry Geipel - barry@GeipelNet.com

Install this in HOME/Library/OmniOutliner Pro/Scripts

You will need to turn off Automatic Line Styles
Format->Automatic Line Styles

*)

tell application "OmniOutliner Professional"

set ThisDocument to front document of application "OmniOutliner Professional"
set nowTime to current date


tell application "OmniOutliner Professional" to tell ThisDocument
try
set overDueStyle to named style "Overdue"
get overDueStyle
on error
set overDueStyle to make new named style with properties {name:"Overdue"}
set value of attribute "font-fill" of overDueStyle to {55838, 634, 634}
end try
end tell

-- find columns we can use for due date
set dueColumnNum to 0

set columnCount to count of columns of ThisDocument
if columnCount > 2 then
repeat with i from 1 to columnCount
set theColumn to column i of ThisDocument
set colType to type of theColumn

if colType is date and name of theColumn contains "due" then
set dueColumnNum to i
exit repeat
end if
end repeat
end if

repeat with theRow in (every row of ThisDocument)
named styles of style of theRow
remove overDueStyle from named styles of styles of theRow

set testRow to theRow
set dueDate to value of cell dueColumnNum of testRow
repeat until dueDate is not missing value
try
set testRow to parent of testRow
set dueDate to value of cell dueColumnNum of testRow
on error
exit repeat
end try
end repeat

if dueDate is not missing value then
if state of theRow is not checked then
if dueDate comes before nowTime then
named styles of style of theRow
add overDueStyle to end of named styles of style of theRow
end if
end if
end if

end repeat

end tell
 
 


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
When is overdue not overdue... tatters OmniFocus 1 for Mac 1 2011-04-20 02:25 PM
Overdue Indicator shows "1", but there's no overdue task verscph OmniFocus 1 for Mac 2 2011-03-31 01:01 AM
Why are items with no due date RED? [A: their project is overdue.] PatR OmniFocus 1 for Mac 2 2009-08-10 06:44 PM
Due and Overdue pagliere OmniFocus 1 for Mac 2 2009-02-07 06:46 AM
Restrict the overdue style to the due date solely uku OmniFocus 1 for Mac 10 2007-11-13 07:06 AM


All times are GMT -8. The time now is 11:03 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.