Scott Baker | 37b4790 | 2014-09-02 14:37:41 -0700 | [diff] [blame] | 1 | import os |
| 2 | import socket |
| 3 | from django.db import models |
Scott Baker | 7a61dc4 | 2014-09-02 17:08:20 -0700 | [diff] [blame] | 4 | from core.models import PlCoreBase, Deployment |
Tony Mack | 50e1221 | 2015-03-09 13:03:56 -0400 | [diff] [blame] | 5 | from core.models.plcorebase import StrippedCharField |
Scott Baker | 37b4790 | 2014-09-02 14:37:41 -0700 | [diff] [blame] | 6 | from django.contrib.contenttypes.models import ContentType |
Scott Baker | 37b4790 | 2014-09-02 14:37:41 -0700 | [diff] [blame] | 7 | |
| 8 | class Flavor(PlCoreBase): |
Tony Mack | 50e1221 | 2015-03-09 13:03:56 -0400 | [diff] [blame] | 9 | name = StrippedCharField(max_length=32, help_text="name of this flavor, as displayed to users") |
| 10 | description = StrippedCharField(max_length=1024, blank=True, null=True) |
| 11 | flavor = StrippedCharField(max_length=32, help_text="flavor string used to configure deployments") |
Scott Baker | 37b4790 | 2014-09-02 14:37:41 -0700 | [diff] [blame] | 12 | deployments = models.ManyToManyField(Deployment, blank=True, related_name="flavors") |
| 13 | order = models.IntegerField(default=0, help_text="used to order flavors when displayed in a list") |
| 14 | default = models.BooleanField(default=False, help_text="make this a default flavor to use when creating new instances") |
| 15 | |
| 16 | class Meta: |
| 17 | app_label = "core" |
| 18 | ordering = ('order', 'name') |
| 19 | |
Sapan Bhatia | e464c9c | 2015-10-07 17:31:58 +0200 | [diff] [blame] | 20 | def __init__(self, *args, **kwargs): |
| 21 | super(Flavor, self).__init__(*args, **kwargs) |
| 22 | self.no_sync=True |
| 23 | |
Scott Baker | 37b4790 | 2014-09-02 14:37:41 -0700 | [diff] [blame] | 24 | def __unicode__(self): return u'%s' % (self.name) |
| 25 | |
Scott Baker | 37b4790 | 2014-09-02 14:37:41 -0700 | [diff] [blame] | 26 | """ FlavorParameterType and FlavorParameter are below for completeness sake, |
| 27 | waiting for the day we might want to add parameters to flavors. |
| 28 | |
| 29 | class FlavorParameterType(PlCoreBase): |
| 30 | name = models.SlugField(help_text="The name of this parameter", max_length=128) |
Tony Mack | 50e1221 | 2015-03-09 13:03:56 -0400 | [diff] [blame] | 31 | description = StrippedCharField(max_length=1024) |
Scott Baker | 37b4790 | 2014-09-02 14:37:41 -0700 | [diff] [blame] | 32 | |
| 33 | def __unicode__(self): return u'%s' % (self.name) |
| 34 | |
| 35 | class FlavorParameter(PlCoreBase): |
Sapan Bhatia | 6bfa2ca | 2014-11-11 21:47:45 -0500 | [diff] [blame] | 36 | parameter = models.ForeignKey(FlavorParameterType, related_name="flavorparameters", help_text="The type of the parameter") |
Tony Mack | 50e1221 | 2015-03-09 13:03:56 -0400 | [diff] [blame] | 37 | value = StrippedCharField(help_text="The value of this parameter", max_length=1024) |
Scott Baker | 37b4790 | 2014-09-02 14:37:41 -0700 | [diff] [blame] | 38 | |
Sapan Bhatia | 14356b7 | 2014-11-05 10:32:41 -0500 | [diff] [blame] | 39 | flavor = models.ForeignKey(Flavor,related_name='flavorparameter') |
Scott Baker | 37b4790 | 2014-09-02 14:37:41 -0700 | [diff] [blame] | 40 | |
| 41 | def __unicode__(self): |
| 42 | return self.parameter.name |
| 43 | |
| 44 | """ |
| 45 | |