include DeploymentRole in role sync
[plstackapi.git] / planetstack / core / models / deployment.py
1 import os
2 from django.db import models
3 from core.models import PlCoreBase
4 from django.contrib.contenttypes import generic
5
6 # Create your models here.
7
8 class Deployment(PlCoreBase):
9     name = models.CharField(max_length=200, unique=True, help_text="Name of the Deployment")
10
11     def __unicode__(self):  return u'%s' % (self.name)
12
13     
14 class DeploymentRole(PlCoreBase):
15
16     ROLE_CHOICES = (('admin','Admin'),)
17     role = models.CharField(choices=ROLE_CHOICES, unique=True, max_length=30)
18     krole_id = models.CharField(max_length=80, verbose_name="Keystone role id", null=True, blank=True)
19
20     def __unicode__(self):  return u'%s' % (self.role)
21
22 class DeploymentPrivilege(PlCoreBase):
23
24     user = models.ForeignKey('User', related_name='deployment_privileges')
25     deployment = models.ForeignKey('Deployment', related_name='deployment_privileges')
26     role = models.ForeignKey('DeploymentRole')
27
28     def __unicode__(self):  return u'%s %s %s' % (self.deployment, self.user, self.role)
29