vmw-tmpst/heroapp-LetsHire — pull request #118 by Henry-CF (2013-04-27 10:27:38+00:00)
Title: [46357451] user deactivation support without breaking the system 

Factors need be considered:
1 the disabled user cannot pass devise authentication
2 For active opening/interviews' edit, the disabled username should not show in the list which is for interviewer/hiringmanager/recruiter's selection.
3 For closed/inactive opening/interviews' edit, the already configured disabled user can still show in the list, and be set back.

4 Now only the admin can disable users, and the admin cannot disable himself/herself.
In future if the user management privilege is granted to more roles, any user cannot disable himself/herself.
5 cannot disable an user when any of the following cases is true:
he/she owns active openings as a hiring manager;
he/she owns active openings as a recruiter;
he/she owns scheduled/ongoing interview as an interviewer;
6 The admin can easily find the disabled user, and re-activate the account if necessarily.
7 When adding new user, if the email conflicts with any earlier email (even of disabled user), the system should prompt that "Email already exists". This behavior is unchanged.