Remove unused action/template: nodeFilterPresets
Validate ExtNodeFilters input in actions
Validate bulk delete input
Add validation for job cron fields and project name
Add additional validation of stored filter names
Set allowedMethods for all non-idempotent actions
Cleanup: use private methods instead of closures
Use POST for dynamic form destination
Remove unused execAndForget action
Add CSRF prevention using grails form tokens
Upload form correctly uses token
Add form tokens to create project
Use form token for project edit form
Reimplementation of synchronizer token pattern using hmac digest
Update HMAC token synchronizer for compatibility with grails builtin
Change project create back to using grails form token
Fix job upload missing file error message
Fix json embed of tokens
EditOpts actions use form token
Correctly report isEmpty for tokens holder