Not a good idea to select the virtualenv in the base class. Force
selection to happen in the concrete classes by calling a helper method
to set up the proper virtualenv. This should fix any issues where
tower is selecting the wrong virtualenv to run against.
This adds a field to the user object to denote whether and what kind of
user account it is.
For normal accounts this field will be null.
For social auth accounts it will be "social"
for radius accounts it will be "radius"
This change also prevents a radius user from changing their local
password thus bypassing the password caching feature of django-radius
Passively creating notification templates on m2m endpoints was failing
serializer validation due to a bug trying to look up the related
object. In reality that check should only happen when the view is the
NotificationTemplateDetail view.
This causes some unexpected behavior when commas instead of colons are
used during the job template limit due to a bug in ansible. It has the
effect of expanding the number of hosts that it will run on instead of
just one which is what we are expecting