Beispiel #1
0
class BaseObjectLicence(models.Model):
    licence = models.ForeignKey(Licence)
    base_object = BaseObjectForeignKey(
        BaseObject,
        related_name='licences',
        verbose_name=_('Asset'),
        limit_models=[
            'back_office.BackOfficeAsset',
            'data_center.DataCenterAsset',
            'virtual.VirtualServer',
            'data_center.Cluster',
        ]
    )
    quantity = models.PositiveIntegerField(default=1)

    class Meta:
        unique_together = ('licence', 'base_object')

    def __str__(self):
        return '{} of {} assigned to {}'.format(
            self.quantity, self.licence, self.base_object
        )

    def clean(self):
        bo_asset = getattr_dunder(
            self.base_object, 'asset__backofficeasset'
        )
        if (
            bo_asset and self.licence and
            self.licence.region_id != bo_asset.region_id
        ):
            raise ValidationError(
                _('Asset region is in a different region than licence.')
            )
Beispiel #2
0
class BaseObjectsSupport(models.Model):
    support = models.ForeignKey(Support)
    baseobject = BaseObjectForeignKey(BaseObject,
                                      verbose_name=_('Asset'),
                                      related_name='supports',
                                      limit_models=[
                                          'back_office.BackOfficeAsset',
                                          'data_center.DataCenterAsset'
                                      ])

    class Meta:
        managed = False
        unique_together = ('support', 'baseobject')
        db_table = 'supports_support_base_objects'
Beispiel #3
0
class BaseObjectCluster(models.Model):
    cluster = models.ForeignKey(Cluster)
    base_object = BaseObjectForeignKey(
        BaseObject,
        related_name='clusters',
        limit_models=[
            'data_center.Database',
            'data_center.DataCenterAsset',
            'virtual.CloudHost',
            'virtual.VirtualServer'
        ]
    )
    is_master = models.BooleanField(default=False)

    class Meta:
        unique_together = ('cluster', 'base_object')
Beispiel #4
0
class BaseObjectsSupport(
    AdminAbsoluteUrlMixin,
    models.Model
):
    support = models.ForeignKey(Support)
    baseobject = BaseObjectForeignKey(
        BaseObject,
        verbose_name=_('Asset'),
        related_name='supports',
        limit_models=[
            'back_office.BackOfficeAsset',
            'data_center.DataCenterAsset'
        ]
    )

    class Meta:
        unique_together = ('support', 'baseobject')
Beispiel #5
0
class BaseObjectForeignKeyModel(models.Model):
    base_object = BaseObjectForeignKey(BaseObject,
                                       limit_models=[
                                           'back_office.BackOfficeAsset',
                                           'data_center.DataCenterAsset'
                                       ])