diff --git a/circle/dashboard/templates/dashboard/datastore-create.html b/circle/dashboard/templates/dashboard/datastore-create.html new file mode 100644 index 0000000..0e5df87 --- /dev/null +++ b/circle/dashboard/templates/dashboard/datastore-create.html @@ -0,0 +1,12 @@ +{% load crispy_forms_tags %} +{% load i18n %} + +<p class="text-muted"> +{% trans "Create datastore" %} +</p> + + +<form method="POST" action="{% url "dashboard.views.group-create" %}"> +{% csrf_token %} +{% crispy form %} +</form> \ No newline at end of file diff --git a/circle/dashboard/templates/dashboard/storage/detail.html b/circle/dashboard/templates/dashboard/storage/detail.html index 58718e7..9290b4f 100644 --- a/circle/dashboard/templates/dashboard/storage/detail.html +++ b/circle/dashboard/templates/dashboard/storage/detail.html @@ -27,6 +27,7 @@ {% empty %} {% trans "None" %} {% endfor %} + <a href="" class="badge badge-primary"><i class="fa fa-plus"></i></a> </div> </div> </div> diff --git a/circle/storage/models.py b/circle/storage/models.py index 569503c..a7457b3 100644 --- a/circle/storage/models.py +++ b/circle/storage/models.py @@ -430,7 +430,9 @@ class Disk(TimeStampedModel): @classmethod def __create(cls, user, datastore, params): - datastore = params.pop('datastore', DataStore.objects.filter(name=datastore).get()) + if isinstance(datastore, str): + datastore = DataStore.objects.filter(name=datastore).get() + datastore = params.pop('datastore', datastore) filename = params.pop('filename', str(uuid.uuid4())) disk = cls(filename=filename, datastore=datastore, **params) return disk diff --git a/circle/vm/operations.py b/circle/vm/operations.py index 72ce18b..b2c3ea2 100644 --- a/circle/vm/operations.py +++ b/circle/vm/operations.py @@ -880,6 +880,7 @@ class SaveAsTemplateOperation(InstanceOperation): 'max_ram_size': self.instance.max_ram_size, 'name': name or self._rename(self.instance.name), 'num_cores': self.instance.num_cores, + 'num_cores_max': self.instance.num_cores_max, 'owner': user, 'parent': self.instance.template or None, # Can be problem 'priority': self.instance.priority,