As I wrote in my last post, I’ve been using Freshbooks for invoicing since I started Versite. Freshbooks is a truly awesome application, saving me tons of time, and with reasonable fees.
Yesterday, I created a greasemonkey script that creates a one-click way to mark an invoice paid in full. Today, I’ve created another script, this time to auto-select a project and/or a task, if they are the only ones assigned to the user. Based on how I organize projects and tasks, it’s common to only have a single task (“development”) in a project, and consultants assigned to only one project with a single task. Freshbooks adds two items to the project and tasks select lists: “select a task/project” and “new task/project”. “New task/project” is never used by me or my staff, and “select a task/project” just creates an extra step when there is a single project or task.
So, with this script, the following situations will be taken care of:
- If the user is assigned to only one project, that project will be chosen by default. This works in the Weekly, Monthly, and Daily views
- When a project is selected, if the cascaded list of Tasks has only one valid task, it will be auto-selected, and the Hours field will be given focus. This works in the Daily, Weekly and Monthly views, but only the Daily and Monthly views auto-focus the Hours field.
- The top two are combined when the user is assigned only one project that has only one task.
Here is the script (Firefox & Greasemonkey Required):