Standardized declaration of csv_headers on models

This commit is contained in:
Jeremy Stretch
2018-02-02 14:26:16 -05:00
parent 9f07379800
commit cea1c45635
12 changed files with 153 additions and 73 deletions

View File

@@ -41,7 +41,7 @@ class ClusterTypeCSVForm(forms.ModelForm):
class Meta:
model = ClusterType
fields = ['name', 'slug']
fields = ClusterType.csv_headers
help_texts = {
'name': 'Name of cluster type',
}
@@ -64,7 +64,7 @@ class ClusterGroupCSVForm(forms.ModelForm):
class Meta:
model = ClusterGroup
fields = ['name', 'slug']
fields = ClusterGroup.csv_headers
help_texts = {
'name': 'Name of cluster group',
}
@@ -112,7 +112,7 @@ class ClusterCSVForm(forms.ModelForm):
class Meta:
model = Cluster
fields = ['name', 'type', 'group', 'site', 'comments']
fields = Cluster.csv_headers
class ClusterBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):
@@ -306,7 +306,7 @@ class VirtualMachineCSVForm(forms.ModelForm):
class Meta:
model = VirtualMachine
fields = ['name', 'status', 'cluster', 'role', 'tenant', 'platform', 'vcpus', 'memory', 'disk', 'comments']
fields = VirtualMachine.csv_headers
class VirtualMachineBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):

View File

@@ -30,6 +30,8 @@ class ClusterType(models.Model):
unique=True
)
csv_headers = ['name', 'slug']
class Meta:
ordering = ['name']
@@ -39,6 +41,12 @@ class ClusterType(models.Model):
def get_absolute_url(self):
return "{}?type={}".format(reverse('virtualization:cluster_list'), self.slug)
def to_csv(self):
return (
self.name,
self.slug,
)
#
# Cluster groups
@@ -57,6 +65,8 @@ class ClusterGroup(models.Model):
unique=True
)
csv_headers = ['name', 'slug']
class Meta:
ordering = ['name']
@@ -66,6 +76,12 @@ class ClusterGroup(models.Model):
def get_absolute_url(self):
return "{}?group={}".format(reverse('virtualization:cluster_list'), self.slug)
def to_csv(self):
return (
self.name,
self.slug,
)
#
# Clusters
@@ -108,9 +124,7 @@ class Cluster(CreatedUpdatedModel, CustomFieldModel):
object_id_field='obj_id'
)
csv_headers = [
'name', 'type', 'group', 'site', 'comments',
]
csv_headers = ['name', 'type', 'group', 'site', 'comments']
class Meta:
ordering = ['name']
@@ -229,7 +243,7 @@ class VirtualMachine(CreatedUpdatedModel, CustomFieldModel):
)
csv_headers = [
'name', 'status', 'cluster', 'tenant', 'platform', 'vcpus', 'memory', 'disk', 'comments',
'name', 'status', 'role', 'cluster', 'tenant', 'platform', 'vcpus', 'memory', 'disk', 'comments',
]
class Meta:
@@ -245,6 +259,7 @@ class VirtualMachine(CreatedUpdatedModel, CustomFieldModel):
return (
self.name,
self.get_status_display(),
self.role.name if self.role else None,
self.cluster.name,
self.tenant.name if self.tenant else None,
self.platform.name if self.platform else None,