Workflows sadly only apply to Pages.
Here are some options if you wish to do object 'workflow'
- Have a staging environment where you allow Designer to modify templates, but don't allow them access to the Staging module. They can make changes, then the reviewer reviews the changes and pushes the page template.
- Set up a Development environment and configure it for Continuous Integration, so any object changes need to be checked into source control where an administrator can see, then approve them to be pushed to the master. Then export the objects through the Site-> Export Objects and export the page template, and import it into your live site.
Complicated, so breaking it down:
- Add Checkin/Checkout to objects
- Use Global Event Listeners to catch a "Check in" on Page Templates
If the role is "Designer" programatically...
- Cancel the Check in
- Trigger an email to your moderators to review the item
- Add a note that "Page Template X is in review" (custom module or custom table)
- The reviewer would then set an "Approve" flag on your custom module/custom table
- Designer can then check in
A bit convoluted i know, but you would have to recreate the workflow a bit for objects.
I think #1 is probably the best and easiest way.