X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fmodels%2Fsite.py;h=cc2ad0314871a8450e1572a090b5d8dc4da1fc19;hb=fe290f49559b1e19b9251b83877862f70679bf86;hp=881468ad2a1bdc28d83550534ee8b3f762ba299e;hpb=0d520bde8d705304c60404d72c1ccaa9d4f28233;p=plstackapi.git diff --git a/planetstack/core/models/site.py b/planetstack/core/models/site.py index 881468a..cc2ad03 100644 --- a/planetstack/core/models/site.py +++ b/planetstack/core/models/site.py @@ -269,8 +269,8 @@ class Controller(PlCoreBase): deleted_objects = ControllerDeletionManager() name = models.CharField(max_length=200, unique=True, help_text="Name of the Controller") + backend_type = models.CharField(max_length=200, help_text="Type of compute controller, e.g. EC2, OpenStack, or OpenStack version") version = models.CharField(max_length=200, help_text="Controller version") - backend_type = models.CharField(max_length=200, null=True, blank=True, help_text="Type of compute controller, e.g. EC2, OpenStack, or OpenStack version") auth_url = models.CharField(max_length=200, null=True, blank=True, help_text="Auth url for the compute controller") admin_user = models.CharField(max_length=200, null=True, blank=True, help_text="Username of an admin user at this controller") admin_password = models.CharField(max_length=200, null=True, blank=True, help_text="Password of theadmin user at this controller") @@ -278,13 +278,20 @@ class Controller(PlCoreBase): def __unicode__(self): return u'%s %s %s' % (self.name, self.backend_type, self.version) + def can_update(self, user): + if user.is_readonly: + return False + if user.is_admin: + return True + return False + class SiteDeployment(PlCoreBase): objects = ControllerLinkManager() deleted_objects = ControllerLinkDeletionManager() - site = models.ForeignKey(Site,related_name='sitedeployment') - deployment = models.ForeignKey(Deployment,related_name='sitedeployment') - controller = models.ForeignKey(Controller, null=True, blank=True, related_name='sitedeployment') + site = models.ForeignKey(Site,related_name='sitedeployments') + deployment = models.ForeignKey(Deployment,related_name='sitedeployments') + controller = models.ForeignKey(Controller, null=True, blank=True, related_name='sitedeployments') availability_zone = models.CharField(max_length=200, null=True, blank=True, help_text="OpenStack availability zone") def __unicode__(self): return u'%s %s' % (self.deployment, self.site)