mirror of
https://github.com/retspen/webvirtcloud
synced 2025-07-31 12:41:08 +00:00
Added 'instances:clone_instances' permission
Replaces 'can_clone_instances' user attribute
This commit is contained in:
parent
a62daad87b
commit
3d0493537f
7 changed files with 127 additions and 30 deletions
|
@ -1,52 +1,50 @@
|
|||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.validators import MinValueValidator
|
||||
from django.db.models import (CASCADE, DO_NOTHING, BooleanField, CharField,
|
||||
ForeignKey, IntegerField, Model, OneToOneField)
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from instances.models import Instance
|
||||
|
||||
|
||||
class UserInstance(Model):
|
||||
user = ForeignKey(User, on_delete=CASCADE)
|
||||
instance = ForeignKey(Instance, on_delete=CASCADE)
|
||||
is_change = BooleanField(default=False)
|
||||
is_delete = BooleanField(default=False)
|
||||
is_vnc = BooleanField(default=False)
|
||||
class UserInstance(models.Model):
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
instance = models.ForeignKey(Instance, on_delete=models.CASCADE)
|
||||
is_change = models.BooleanField(default=False)
|
||||
is_delete = models.BooleanField(default=False)
|
||||
is_vnc = models.BooleanField(default=False)
|
||||
|
||||
def __unicode__(self):
|
||||
return self.instance.name
|
||||
|
||||
|
||||
class UserSSHKey(Model):
|
||||
user = ForeignKey(User, on_delete=DO_NOTHING)
|
||||
keyname = CharField(max_length=25)
|
||||
keypublic = CharField(max_length=500)
|
||||
class UserSSHKey(models.Model):
|
||||
user = models.ForeignKey(User, on_delete=models.DO_NOTHING)
|
||||
keyname = models.CharField(max_length=25)
|
||||
keypublic = models.CharField(max_length=500)
|
||||
|
||||
def __unicode__(self):
|
||||
return self.keyname
|
||||
|
||||
|
||||
class UserAttributes(Model):
|
||||
user = OneToOneField(User, on_delete=CASCADE)
|
||||
can_clone_instances = BooleanField(default=True)
|
||||
max_instances = IntegerField(default=1,
|
||||
help_text="-1 for unlimited. Any integer value",
|
||||
validators=[
|
||||
MinValueValidator(-1),
|
||||
])
|
||||
max_cpus = IntegerField(
|
||||
class UserAttributes(models.Model):
|
||||
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
||||
max_instances = models.IntegerField(default=1,
|
||||
help_text="-1 for unlimited. Any integer value",
|
||||
validators=[
|
||||
MinValueValidator(-1),
|
||||
])
|
||||
max_cpus = models.IntegerField(
|
||||
default=1,
|
||||
help_text="-1 for unlimited. Any integer value",
|
||||
validators=[MinValueValidator(-1)],
|
||||
)
|
||||
max_memory = IntegerField(
|
||||
max_memory = models.IntegerField(
|
||||
default=2048,
|
||||
help_text="-1 for unlimited. Any integer value",
|
||||
validators=[MinValueValidator(-1)],
|
||||
)
|
||||
max_disk_size = IntegerField(
|
||||
max_disk_size = models.IntegerField(
|
||||
default=20,
|
||||
help_text="-1 for unlimited. Any integer value",
|
||||
validators=[MinValueValidator(-1)],
|
||||
|
@ -78,14 +76,12 @@ class UserAttributes(Model):
|
|||
return self.user.username
|
||||
|
||||
|
||||
class PermissionSet(Model):
|
||||
class PermissionSet(models.Model):
|
||||
"""
|
||||
Dummy model for holding set of permissions we need to be automatically added by Django
|
||||
"""
|
||||
class Meta:
|
||||
default_permissions = ()
|
||||
permissions = (
|
||||
('change_password', _('Can change password')),
|
||||
)
|
||||
permissions = (('change_password', _('Can change password')), )
|
||||
|
||||
managed = False
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue