git://git.onelab.eu
/
plstackapi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5cde5f8
)
pis can update slice objects
author
Tony Mack
<tmack@tux.cs.princeton.edu>
Wed, 20 Aug 2014 15:15:17 +0000
(11:15 -0400)
committer
Tony Mack
<tmack@tux.cs.princeton.edu>
Wed, 20 Aug 2014 15:15:17 +0000
(11:15 -0400)
planetstack/core/models/slice.py
patch
|
blob
|
history
diff --git
a/planetstack/core/models/slice.py
b/planetstack/core/models/slice.py
index
e80128e
..
1e7df5a
100644
(file)
--- a/
planetstack/core/models/slice.py
+++ b/
planetstack/core/models/slice.py
@@
-2,6
+2,7
@@
import os
from django.db import models
from core.models import PlCoreBase
from core.models import Site
from django.db import models
from core.models import PlCoreBase
from core.models import Site
+from core.models.site import SitePrivilege
from core.models import User
from core.models import Role
from core.models import Deployment
from core.models import User
from core.models import Role
from core.models import Deployment
@@
-51,10
+52,17
@@
class Slice(PlCoreBase):
return False
if user.is_admin:
return True
return False
if user.is_admin:
return True
+ # slice admins can update
slice_privs = SlicePrivilege.objects.filter(user=user, slice=self)
for slice_priv in slice_privs:
slice_privs = SlicePrivilege.objects.filter(user=user, slice=self)
for slice_priv in slice_privs:
- if slice_priv.role.role
in ['admin', 'pi']
:
+ if slice_priv.role.role
== 'admin'
:
return True
return True
+ # site pis can update
+ site_privs = SitePrivilege.objects.filter(user=user, site=self.site)
+ for site_priv in site_privs:
+ if site_priv.role.role == 'pi':
+ return True
+
return False
@staticmethod
return False
@staticmethod