diff --git a/ofu_app/apps/donar/migrations/0002_auto_20180105_0300.py b/ofu_app/apps/donar/migrations/0002_auto_20180105_0300.py new file mode 100644 index 0000000..e6833a3 --- /dev/null +++ b/ofu_app/apps/donar/migrations/0002_auto_20180105_0300.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-05 02:00 +from __future__ import unicode_literals + +import datetime +from django.db import migrations, models +from django.utils.timezone import utc + + +class Migration(migrations.Migration): + + dependencies = [ + ('donar', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='lecture_terms', + name='starttime', + field=models.TimeField(default=datetime.datetime(2018, 1, 5, 2, 0, 11, 705365, tzinfo=utc)), + ), + ] diff --git a/ofu_app/apps/donar/migrations/0003_auto_20180105_0304.py b/ofu_app/apps/donar/migrations/0003_auto_20180105_0304.py new file mode 100644 index 0000000..113c4f3 --- /dev/null +++ b/ofu_app/apps/donar/migrations/0003_auto_20180105_0304.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-05 02:04 +from __future__ import unicode_literals + +import datetime +from django.db import migrations, models +from django.utils.timezone import utc + + +class Migration(migrations.Migration): + + dependencies = [ + ('donar', '0002_auto_20180105_0300'), + ] + + operations = [ + migrations.AlterField( + model_name='lecture_terms', + name='starttime', + field=models.TimeField(default=datetime.datetime(2018, 1, 5, 2, 4, 12, 19246, tzinfo=utc)), + ), + ] diff --git a/ofu_app/apps/food/api/serializers.py b/ofu_app/apps/food/api/serializers.py index 7bb6bb1..958bde6 100644 --- a/ofu_app/apps/food/api/serializers.py +++ b/ofu_app/apps/food/api/serializers.py @@ -1,6 +1,12 @@ from rest_framework import serializers -from apps.food.models import Menu, SingleFood, HappyHour, Allergene +from apps.food.models import Menu, SingleFood, HappyHour, Allergene, UserFoodImage + + +class UserFoodImageSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = UserFoodImage + fields = ('id', 'image', 'thumb') class AllergensSerializer(serializers.HyperlinkedModelSerializer): @@ -11,10 +17,11 @@ class AllergensSerializer(serializers.HyperlinkedModelSerializer): class SingleFoodSerializer(serializers.HyperlinkedModelSerializer): allergens = AllergensSerializer(many=True, read_only=True) + image = UserFoodImageSerializer(many=True, read_only=True) class Meta: model = SingleFood - fields = ('name', 'rating', 'price_student', 'price_employee', 'price_guest', 'allergens') + fields = ('name', 'rating', 'price_student', 'price_employee', 'price_guest', 'allergens', 'image') class MenuSerializer(serializers.HyperlinkedModelSerializer): diff --git a/ofu_app/apps/food/migrations/0002_auto_20180105_0304.py b/ofu_app/apps/food/migrations/0002_auto_20180105_0304.py new file mode 100644 index 0000000..258aeca --- /dev/null +++ b/ofu_app/apps/food/migrations/0002_auto_20180105_0304.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.7 on 2018-01-05 02:04 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('food', '0001_initial'), + ] + + operations = [ + migrations.RenameField( + model_name='userfoodimage', + old_name='thumbnail', + new_name='thumb', + ), + ] diff --git a/ofu_app/apps/food/models.py b/ofu_app/apps/food/models.py index 1e19650..7696088 100644 --- a/ofu_app/apps/food/models.py +++ b/ofu_app/apps/food/models.py @@ -80,7 +80,7 @@ class UserFoodImage(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, unique=False) food = models.ForeignKey(SingleFood) image = models.ImageField(upload_to='food/originals/%Y/%m/%W', blank=True) - thumbnail = models.ImageField(upload_to='food/thumbs/%Y/%m/%W', blank=True) + thumb = models.ImageField(upload_to='food/thumbs/%Y/%m/%W', blank=True) class Meta: unique_together = ('user', 'food') @@ -104,12 +104,12 @@ class UserFoodImage(models.Model): suf = SimpleUploadedFile(os.path.split(self.image.name)[-1], temp_handle.read(), content_type='image/jpg') - self.thumbnail.save('%s_thumbnail.%s' % (self.food.name, 'jpg'), suf, save=False) + self.thumb.save('%s_%s_thumbnail.%s' % (self.food.name, self.user.username, 'jpg'), suf, save=False) # save the image object - self.image.name = "%s" % self.food.name + self.image.name = "%s_%s_original.%s" % (self.food.name, self.user.username, 'jpg') super(UserFoodImage, self).save(force_update, force_insert) def delete(self, using=None, keep_parents=False): os.remove(os.path.join(settings.MEDIA_ROOT, self.image.name)) - os.remove(os.path.join(settings.MEDIA_ROOT, self.thumbnail.name)) + os.remove(os.path.join(settings.MEDIA_ROOT, self.thumb.name)) super(UserFoodImage, self).delete() diff --git a/ofu_app/apps/food/urls.py b/ofu_app/apps/food/urls.py index bf9f605..3981a79 100644 --- a/ofu_app/apps/food/urls.py +++ b/ofu_app/apps/food/urls.py @@ -26,16 +26,16 @@ apiRouter_v1.register(r'happy-hour', api_views.HappyHourViewSet, base_name='Happ # API Version 1.1 apiRouter_v1_1 = routers.DefaultRouter() -apiRouter_v1_1.register(r'foods', api_views.FoodViewSet, base_name='Food') -apiRouter_v1_1.register(r'foods/food/(?P[feldkirchenstrasse, markusstrasse, erba, austrasse])/$', +apiRouter_v1_1.register(r'food', api_views.FoodViewSet, base_name='Food') +apiRouter_v1_1.register(r'food/(?P[feldkirchenstrasse, markusstrasse, erba, austrasse])/$', api_views.FoodViewSet, base_name='Food') -apiRouter_v1_1.register(r'foods/food/(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/$', api_views.FoodViewSet, +apiRouter_v1_1.register(r'food/(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/$', api_views.FoodViewSet, base_name='Food') apiRouter_v1_1.register( - r'foods/food/(?P)[feldkirchenstrasse, markusstrasse, erba, austrasse]/(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/$', + r'food/(?P)[feldkirchenstrasse, markusstrasse, erba, austrasse]/(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/$', api_views.FoodViewSet, base_name='Food') -apiRouter_v1_1.register(r'foods/food/today/$', api_views.FoodViewSet, base_name='Food') -apiRouter_v1_1.register(r'foods/food/week/$', api_views.FoodViewSet, base_name='Food') +apiRouter_v1_1.register(r'food/today/$', api_views.FoodViewSet, base_name='Food') +apiRouter_v1_1.register(r'food/week/$', api_views.FoodViewSet, base_name='Food') apiRouter_v1_1.register(r'happy-hour', api_views.HappyHourViewSet, base_name='HappyHours') urlpatterns = [ diff --git a/ofu_app/media/food/default/default.jpg b/ofu_app/media/food/default/default.jpg new file mode 100644 index 0000000..2a9b759 Binary files /dev/null and b/ofu_app/media/food/default/default.jpg differ diff --git a/ofu_app/templates/macros/food_macros.jinja b/ofu_app/templates/macros/food_macros.jinja index 5064806..04a34e1 100644 --- a/ofu_app/templates/macros/food_macros.jinja +++ b/ofu_app/templates/macros/food_macros.jinja @@ -68,9 +68,9 @@ {% endfor %} {% else %} - - Bild + Bild {% endif %}