diff --git a/InvenTree/part/migrations/0034_auto_20200404_1238.py b/InvenTree/part/migrations/0034_auto_20200404_1238.py new file mode 100644 index 0000000000..95b3cd2b96 --- /dev/null +++ b/InvenTree/part/migrations/0034_auto_20200404_1238.py @@ -0,0 +1,28 @@ +# Generated by Django 2.2.10 on 2020-04-04 12:38 + +from django.db import migrations + +from part.models import Part +from stdimage.utils import render_variations + + +def create_thumbnails(apps, schema_editor): + """ + Create thumbnails for all existing Part images. + """ + + for part in Part.objects.all(): + # Render thumbnail for each existing Part + if part.image: + part.image.render_variations() + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0033_auto_20200404_0445'), + ] + + operations = [ + migrations.RunPython(create_thumbnails), + ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index d1f65fa02c..ff44892da7 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -304,6 +304,16 @@ class Part(models.Model): else: return os.path.join(settings.STATIC_URL, 'img/blank_image.png') + def get_thumbnail_url(self): + """ + Return the URL of the image thumbnail for this part + """ + + if self.image: + return os.path.join(settings.MEDIA_URL, str(self.image.thumbnail.url)) + else: + return os.path.join(settings.STATIC_URL, 'img/blank_image.thumbnail.png') + def validate_unique(self, exclude=None): """ Validate that a part is 'unique'. Uniqueness is checked across the following (case insensitive) fields: @@ -379,7 +389,7 @@ class Part(models.Model): upload_to=rename_part_image, null=True, blank=True, - variations={'thumbnail': (200, 200)}, + variations={'thumbnail': (128, 128)}, delete_orphans=True )