diff --git a/src/pretix/base/migrations/0005_item_picture.py b/src/pretix/base/migrations/0005_item_picture.py new file mode 100644 index 0000000000..dbb7a44800 --- /dev/null +++ b/src/pretix/base/migrations/0005_item_picture.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('pretixbase', '0004_eventpermission_can_change_permissions'), + ] + + operations = [ + migrations.AddField( + model_name='item', + name='picture', + field=models.ImageField(upload_to='', null=True, verbose_name='Product picture', blank=True), + ), + ] diff --git a/src/pretix/base/models.py b/src/pretix/base/models.py index 0d435792ae..bbe54818c3 100644 --- a/src/pretix/base/models.py +++ b/src/pretix/base/models.py @@ -875,6 +875,14 @@ class Item(Versionable): position = models.IntegerField( default=0 ) + picture = models.ImageField( + verbose_name=_("Product picture"), + null=True, blank=True, + upload_to=lambda instance, filename: '%s/%s/item-%s.%s' % ( + instance.event.organizer.slug, instance.event.slug, instance.identity, + filename.split('.')[-1] + ) + ) class Meta: verbose_name = _("Product") diff --git a/src/pretix/control/forms/item.py b/src/pretix/control/forms/item.py index 900372bede..07a9e4a5c3 100644 --- a/src/pretix/control/forms/item.py +++ b/src/pretix/control/forms/item.py @@ -128,6 +128,7 @@ class ItemFormGeneral(VersionedModelForm): 'admission', 'short_description', 'long_description', + 'picture', 'default_price', 'tax_rate', 'properties', diff --git a/src/pretix/control/templates/pretixcontrol/item/index.html b/src/pretix/control/templates/pretixcontrol/item/index.html index 4657830fac..b043f8a354 100644 --- a/src/pretix/control/templates/pretixcontrol/item/index.html +++ b/src/pretix/control/templates/pretixcontrol/item/index.html @@ -2,7 +2,7 @@ {% load i18n %} {% load bootstrap3 %} {% block inside %} -