Sort fields in the groups as well as the groups themselves.  Utilize Drupal core Form API functions instead of re-inventing the wheel.
Drupal documentation suggests using uasort() with element_sort() instead of usort(): http://api.drupal.org/api/search/7/element_sort
Use sentence case for labels and wrap hard coded ones in t().
Correct punctuation and casing of a code comment.
Refactor code to avoid use of bad PHP grammar: 'continue'
Do not assume all fields are required.
Fix save for research proposal.
Merge branch 'development' of github.com:nesi/nesi-webportal into development
Ignore FirePHPCore, which is a devel module dependency.
Revert "Drupal documentation suggests using uasort() with element_sort() instead of usort(): http://api.drupal.org/api/search/7/element_sort"

This reverts commit 59d1934ab6371739b63d5fd433a61d69acb2b0a1.
Revert "Sort fields in the groups as well as the groups themselves.  Utilize Drupal core Form API functions instead of re-inventing the wheel."

This reverts commit d011e2e414c0a27ce4fafaca2095d312d615b490.
Cleaning up documentation and whitespace.
Getting fields in groups to sort correctly this time.
Fix for postgrad save.
Merge branch 'development' of github.com:nesi/nesi-webportal into development
Rename sort function to avoid duplicate function name.
No need to ask for cpu core hour total as this can be derived.
Include profile2 module settings.
Update order of the fields for proposal development content type.
Make fields required or not as per production.