3 from django.db import models
4 from core.models import PlCoreBase
5 from django.contrib.contenttypes.models import ContentType
6 from django.contrib.contenttypes import generic
8 class Role(PlCoreBase):
10 role_type = models.CharField(max_length=80, verbose_name="Name")
11 description = models.CharField(max_length=120, verbose_name="Description")
12 content_type = models.ForeignKey(ContentType, verbose_name="Role Scope")
14 def __unicode__(self): return u'%s:%s' % (self.content_type,self.role_type)
17 def save(self, *args, **kwds):
18 if not hasattr(self, 'os_manager'):
19 from openstack.manager import OpenStackManager
20 setattr(self, 'os_manager', OpenStackManager())
21 self.os_manager.save_role(self)
22 super(Role, self).save(*args, **kwds)
24 def delete(self, *args, **kwds):
25 if not hasattr(self, 'os_manager'):
26 from openstack.manager import OpenStackManager
27 setattr(self, 'os_manager', OpenStackManager())
28 self.os_manager.delete_role(self)
29 super(Role, self).delete(*args, **kwds)