Extend metadata

This commit is contained in:
2022-01-29 19:43:27 +01:00
parent 4d6c63a46c
commit 72dbc76e28
5 changed files with 106 additions and 4 deletions

View File

@@ -1,6 +1,17 @@
from django.contrib import admin
from metadata.models import Decoder, Manufacturer, Company
admin.site.register(Decoder)
admin.site.register(Company)
admin.site.register(Manufacturer)
@admin.register(Decoder)
class DecoderAdmin(admin.ModelAdmin):
readonly_fields = ('image_thumbnail',)
@admin.register(Company)
class CompanyAdmin(admin.ModelAdmin):
readonly_fields = ('logo_thumbnail',)
@admin.register(Manufacturer)
class ManufacturerAdmin(admin.ModelAdmin):
readonly_fields = ('logo_thumbnail',)

View File

@@ -0,0 +1,35 @@
# Generated by Django 4.0.1 on 2022-01-29 18:41
from django.db import migrations, models
class Migration(migrations.Migration):
replaces = [('metadata', '0003_company_logo_decoder_image_manufacturer_logo'), ('metadata', '0004_decoder_interface'), ('metadata', '0005_alter_decoder_interface'), ('metadata', '0006_alter_decoder_interface')]
dependencies = [
('metadata', '0002_decoder_version'),
]
operations = [
migrations.AddField(
model_name='company',
name='logo',
field=models.ImageField(blank=True, null=True, upload_to='images/'),
),
migrations.AddField(
model_name='decoder',
name='image',
field=models.ImageField(blank=True, null=True, upload_to='images/'),
),
migrations.AddField(
model_name='manufacturer',
name='logo',
field=models.ImageField(blank=True, null=True, upload_to='images/'),
),
migrations.AddField(
model_name='decoder',
name='interface',
field=models.PositiveSmallIntegerField(blank=True, choices=[(1, 'NEM651'), (2, 'NEM652'), (3, 'PluX'), (4, '21MTC'), (5, 'Next18/Next18S')], null=True),
),
]

View File

@@ -1,17 +1,31 @@
from django.db import models
from django_countries.fields import CountryField
from dcc.utils import get_image_preview
class Manufacturer(models.Model):
name = models.CharField(max_length=128, unique=True)
logo = models.ImageField(
upload_to='images/',
null=True,
blank=True)
def __str__(self):
return self.name
def logo_thumbnail(self):
return get_image_preview(self.logo.url)
logo_thumbnail.short_description = "Preview"
class Company(models.Model):
name = models.CharField(max_length=128, unique=True)
country = CountryField()
logo = models.ImageField(
upload_to='images/',
null=True,
blank=True)
class Meta:
verbose_name_plural = "Companies"
@@ -19,13 +33,37 @@ class Company(models.Model):
def __str__(self):
return self.name
def logo_thumbnail(self):
return get_image_preview(self.logo.url)
logo_thumbnail.short_description = "Preview"
class Decoder(models.Model):
class Interface(models.IntegerChoices):
NEM651 = 1, "NEM651"
NEM652 = 2, "NEM652"
NEM658 = 3, "PluX"
NEM660 = 4, "21MTC"
NEM662 = 5, "Next18/Next18S"
name = models.CharField(max_length=128, unique=True)
manufacturer = models.ForeignKey(
Manufacturer,
on_delete=models.CASCADE)
version = models.CharField(max_length=64, blank=True)
interface = models.PositiveSmallIntegerField(
choices=Interface.choices,
null=True,
blank=True
)
image = models.ImageField(
upload_to='images/',
null=True,
blank=True)
def __str__(self):
return "{0} - {1}".format(self.manufacturer, self.name)
def image_thumbnail(self):
return get_image_preview(self.image.url)
image_thumbnail.short_description = "Preview"

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.0.1 on 2022-01-29 18:05
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('roster', '0015_remove_decoder_manufacturer_alter_cab_company_and_more'),
]
operations = [
migrations.AlterField(
model_name='cab',
name='image',
field=models.ImageField(blank=True, null=True, upload_to='images/'),
),
]

View File

@@ -32,7 +32,7 @@ class Cab(models.Model):
purchase_date = models.DateField(null=True, blank=True)
image = models.ImageField(
upload_to='media/images/',
upload_to='images/',
null=True,
blank=True)
notes = models.TextField(blank=True)