The javascript is getting a bit hairy now and definitely needs simplifying. Backbone looks like it might be a good thing to use for the tasks interface (i.e. bind bits of the page to data objects, which can be updated via AJAX calls, and it does most of the heavy lifting for you).
The AJAX API calls are also a bit moosed. We've generally got add/edit/view/delete methods but also api_update, api_foo et al. for various smaller tasks.
It's probably time for a version 2 (in fact a lot of the changes so far should really have been v2, v3, v4 etc!):
Remove all api_foo actions
Consistent add/view/edit/delete actions - return all data for an object after an update, and either render as JSON, XML or HTML template
Ensure all actions do not reveal tasks' "real" IDs, only the public ones (not for any security reasons, just always make sure the frontend only has access to public IDs to avoid issues)
The javascript is getting a bit hairy now and definitely needs simplifying. Backbone looks like it might be a good thing to use for the tasks interface (i.e. bind bits of the page to data objects, which can be updated via AJAX calls, and it does most of the heavy lifting for you).
The AJAX API calls are also a bit moosed. We've generally got add/edit/view/delete methods but also api_update, api_foo et al. for various smaller tasks.
It's probably time for a version 2 (in fact a lot of the changes so far should really have been v2, v3, v4 etc!):