added rbac for viewing objects
diff --git a/planetstack/core/models/plcorebase.py b/planetstack/core/models/plcorebase.py
index 590e240..9838d7f 100644
--- a/planetstack/core/models/plcorebase.py
+++ b/planetstack/core/models/plcorebase.py
@@ -38,6 +38,13 @@
def get_field_diff(self, field_name):
return self.diff.get(field_name, None)
+ def can_update(self, user):
+ if user.is_readonly:
+ return False
+ if user.is_admin:
+ return True
+ return False
+
def delete(self, *args, **kwds):
# so we have something to give the observer
pk = self.pk
@@ -59,6 +66,10 @@
self.__initial = self._dict
+ def save_by_user(self, user, *args, **kwds):
+ if self.can_update(user):
+ self.save(*args, **kwds)
+
@property
def _dict(self):
return model_to_dict(self, fields=[field.name for field in