mirror of
https://github.com/ansible/awx.git
synced 2026-01-17 20:51:21 -03:30
Update license check when adding hosts. Fixes https://trello.com/c/Llol9BCJ
This commit is contained in:
parent
3ff9e01c87
commit
76132dbab2
@ -144,7 +144,7 @@ class BaseAccess(object):
|
||||
def can_unattach(self, obj, sub_obj, relationship):
|
||||
return self.can_change(obj, None)
|
||||
|
||||
def check_license(self):
|
||||
def check_license(self, add_host=False):
|
||||
reader = TaskSerializer()
|
||||
validation_info = reader.from_file()
|
||||
if 'test' in sys.argv or 'jenkins' in sys.argv:
|
||||
@ -156,9 +156,16 @@ class BaseAccess(object):
|
||||
raise PermissionDenied("license is missing")
|
||||
if validation_info.get("grace_period_remaining") <= 0:
|
||||
raise PermissionDenied("license has expired")
|
||||
if validation_info.get('free_instances', 0) < 0:
|
||||
#raise PermissionDenied("Host Count exceeds available instances")
|
||||
raise PermissionDenied("license range of %s instances has been exceeded" % validation_info.get('available_instances', 0))
|
||||
|
||||
free_instances = validation_info.get('free_instances', 0)
|
||||
available_instances = validation_info.get('available_instances', 0)
|
||||
if add_host and free_instances == 0:
|
||||
raise PermissionDenied("license count of %s instances has been reached" % available_instances)
|
||||
elif add_host and free_instances < 0:
|
||||
raise PermissionDenied("license count of %s instances has been exceeded" % available_instances)
|
||||
elif not add_host and free_instances < 0:
|
||||
raise PermissionDenied("host count exceeds available instances")
|
||||
|
||||
|
||||
class UserAccess(BaseAccess):
|
||||
'''
|
||||
@ -382,7 +389,7 @@ class HostAccess(BaseAccess):
|
||||
return False
|
||||
|
||||
# Check to see if we have enough licenses
|
||||
self.check_license()
|
||||
self.check_license(add_host=True)
|
||||
return True
|
||||
|
||||
def can_change(self, obj, data):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user