Allow the use of inactive users as task assignees. The concept is that a
task may be assigned to an outside party and it may not be desirable to
allow it to access the system. So an inactive user must be used (as are
created by the importers module code).
Fix to change the users allowed to change the Watchers settings. Used to
be users able to view the admin module (so, Administrators only) but now
is changed to allow anyone that can create projects.
Patch to add a function to locate a contact ID by first and last names.
Used elsewhere.
Patch to allow creating inactive users (and associated contacts) directly
in a company create/edit form. So anyone that can add/edit companies will
also be able to add/delete their associated inactive users. I don't
consider this a security breach as an inactive user is unable to login,
therefore is similar to not having any permissions at all (which is their
definition).
But inactive users are needed to express the assignment of tasks to outside
parties without access to the system. This is also required for importing
projects, as the users created there will also be inactive users.
For importing projects it makes more sense the pre-create the users to be
mapped into the project's resources but for that an user allowed to import
a project needs to be able to create inactive users, which might not be the
case and would be impossible to do with the old code.