I have a relatively large script that is triggered by Hazel and moves projects through a life cycle. The projects’ property ‘completed by children’ is set to true to hide them when they’re inactive. When the script adds a new task to a completed project, it’s supposed to set the project to completed: false. Then, it assigns a new task to the project.
From time to time, the ‘completed’ property toggle doesn’t stick. I (and my staff) are pulling our hair out because the result is tasks that need completing but that are hidden in our perspectives because they are inside a completed project. The new task never fails to attach to the appropriate project, which is making the bug harder for me to find.
Here’s the code
tell application "OmniFocus"
activate
tell front document
if flattened project ClientName exists then
set PotentialClientProject to flattened project ClientName
set the properties of PotentialClientProject to {completed:false}
else
tell conflictCheckFolder
make new project with properties {completed by children:true, name:ClientName, sequential:false, completed:false}
set PotentialClientProject to result
end tell
end if
tell PotentialClientProject
make new task with properties {name:taskName, due date:todayOrNextBusinessDay, note:"Phone " & ClientPhone, context:phoneContext, completed:false}
end tell
delay 0.2
set the properties of PotentialClientProject to {completed:false, status:active}
end tell
end tell
As you can see, I’m throwing the set completed: false toggle in everywhere I can in an effort to figure out and prevent this error. I’d appreciate any thoughts on why this is happening and how to prevent it.
As I mentioned, this is intermittent, and I don’t yet see a pattern to help explain why this is happening or not. In all cases, hazel is not throwing an error.