1e5e6dcda519ec3f896d48b6f8528b0fbda0e417
[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 ManyToManyField_NoSyncdb(models.ManyToManyField):
9     def __init__(self, *args, **kwargs):
10         super(ManyToManyField_NoSyncdb, self).__init__(*args, **kwargs)
11         self.creates_table = False
12
13 class Deployment(PlCoreBase):
14     name = models.CharField(max_length=200, unique=True, help_text="Name of the Deployment")
15 #    sites = ManyToManyField_NoSyncdb('Site', through=Site.deployments.through, blank=True)
16
17     def __unicode__(self):  return u'%s' % (self.name)
18
19     
20 class DeploymentRole(PlCoreBase):
21
22     ROLE_CHOICES = (('admin','Admin'),)
23     role = models.CharField(choices=ROLE_CHOICES, unique=True, max_length=30)
24
25     def __unicode__(self):  return u'%s' % (self.role)
26
27 class DeploymentPrivilege(PlCoreBase):
28
29     user = models.ForeignKey('User', related_name='deployment_privileges')
30     deployment = models.ForeignKey('Deployment', related_name='deployment_privileges')
31     role = models.ForeignKey('DeploymentRole')
32
33     def __unicode__(self):  return u'%s %s %s' % (self.deployment, self.user, self.role)
34