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