summaryrefslogtreecommitdiffstats
path: root/dashboard/src/workflow
diff options
context:
space:
mode:
authorParker Berberian <pberberian@iol.unh.edu>2019-04-16 16:53:08 +0000
committerGerrit Code Review <gerrit@opnfv.org>2019-04-16 16:53:08 +0000
commitaef82a1a9b2ba3524f33b23462ad469b44b37c71 (patch)
tree04c3f6250fd06773a002bfb9e074d048ad06ac44 /dashboard/src/workflow
parentb2c5b21679ff2411b44ea90faef5ccae90cafac0 (diff)
parent2256207ce42d9314ea50c9286e0db37098834530 (diff)
Merge "Limit total number of active bookings per user"
Diffstat (limited to 'dashboard/src/workflow')
-rw-r--r--dashboard/src/workflow/models.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/dashboard/src/workflow/models.py b/dashboard/src/workflow/models.py
index 3784fe1..4ebb042 100644
--- a/dashboard/src/workflow/models.py
+++ b/dashboard/src/workflow/models.py
@@ -143,10 +143,12 @@ class BookingAuthManager():
currently checks if the booking uses multiple servers. if it does, then the owner must be a PTL,
which is checked using the provided info file
"""
- if len(booking.resource.template.getHosts()) < 2:
- return True # if they only have one server, we dont care
if booking.owner.userprofile.booking_privledge:
return True # admin override for this user
+ if Booking.objects.filter(owner=booking.owner, end__gt=timezone.now()).count() >= 3:
+ return False
+ if len(booking.resource.template.getHosts()) < 2:
+ return True # if they only have one server, we dont care
if repo.BOOKING_INFO_FILE not in repo.el:
return False # INFO file not provided
ptl_info = self.parse_url(repo.el.get(repo.BOOKING_INFO_FILE))