X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fmodels%2Fsite.py;h=5c84d1b920d2fc2b136c31ca3366efa4a2b82637;hb=de5450d5e78802e77c397f0833a6f176c137ef81;hp=11e6a28896a4000bf2f86d0cce69450355bcbb58;hpb=732913407cc255ab864e39522585e1b98e654af1;p=plstackapi.git diff --git a/planetstack/core/models/site.py b/planetstack/core/models/site.py index 11e6a28..5c84d1b 100644 --- a/planetstack/core/models/site.py +++ b/planetstack/core/models/site.py @@ -1,8 +1,9 @@ import os from django.db import models from core.models import PlCoreBase -from core.models import DeploymentNetwork -from openstack.manager import OpenStackManager +from core.models import Deployment +from core.models import Tag +from django.contrib.contenttypes import generic class Site(PlCoreBase): @@ -16,24 +17,11 @@ class Site(PlCoreBase): is_public = models.BooleanField(default=True, help_text="Indicates the visibility of this site to other members") abbreviated_name = models.CharField(max_length=80) - deployments = models.ManyToManyField(DeploymentNetwork, blank=True, related_name='sites') + deployments = models.ManyToManyField(Deployment, blank=True, related_name='sites') + tags = generic.GenericRelation(Tag) def __unicode__(self): return u'%s' % (self.name) - def save(self, *args, **kwds): - if not hasattr(self, 'os_manager'): - setattr(self, 'os_manager', OpenStackManager()) - self.os_manager.save_site(self) - super(Site, self).save(*args, **kwds) - - - def delete(self, *args, **kwds): - if not hasattr(self, 'os_manager'): - setattr(self, 'os_manager', OpenStackManager()) - self.os_manager.delete_site(self) - super(Site, self).delete(*args, **kwds) - - class SitePrivilege(PlCoreBase): user = models.ForeignKey('User', related_name='site_privileges') @@ -43,15 +31,9 @@ class SitePrivilege(PlCoreBase): def __unicode__(self): return u'%s %s %s' % (self.site, self.user, self.role) def save(self, *args, **kwds): - if not hasattr(self, 'os_manager'): - setattr(self, 'os_manager', OpenStackManager()) - self.os_manager.driver.add_user_role(self.user.kuser_id, self.site.tenant_id, self.role.role_type) super(SitePrivilege, self).save(*args, **kwds) def delete(self, *args, **kwds): - if not hasattr(self, 'os_manager'): - setattr(self, 'os_manager', OpenStackManager()) - self.os_manager.driver.delete_user_role(self.user.kuser_id, self.site.tenant_id, self.role.role_type) super(SitePrivilege, self).delete(*args, **kwds)