Change model max sizes
This commit is contained in:
parent
b87f6ac56b
commit
88dfa86fe0
15
Dockerfile
15
Dockerfile
@ -1,9 +1,12 @@
|
|||||||
FROM alpine:3.6
|
FROM alpine:3.6
|
||||||
RUN apk upgrade --update
|
ADD ["ofu_app/requirements.txt", "/requirements.txt"]
|
||||||
RUN apk add --update python3
|
RUN apk upgrade --update && \
|
||||||
RUN apk add --update py3-pillow
|
apk add --update python3 py3-pillow py3-lxml py3-psycopg2 && \
|
||||||
RUN pip3 install django==1.11.7 django-jinja django-rest-framework django-analytical
|
pip3 install -r /requirements.txt && rm /requirements.txt
|
||||||
ADD ["ofu_app", "/app"]
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
CMD ["python3", "manage.py", "runserver", "0.0.0.0:80"]
|
VOLUME ["/app/data"]
|
||||||
|
VOLUME ["/app/media"]
|
||||||
|
ENTRYPOINT ["python3", "manage.py"]
|
||||||
|
ADD ["ofu_app", "/app"]
|
||||||
|
CMD ["runserver", "0.0.0.0:80"]
|
||||||
|
|||||||
@ -4,8 +4,14 @@ services:
|
|||||||
basta_server_web:
|
basta_server_web:
|
||||||
image: docker.wiai.de/basta/server:0.1
|
image: docker.wiai.de/basta/server:0.1
|
||||||
build: .
|
build: .
|
||||||
ports:
|
volumes:
|
||||||
- "8080:80"
|
- ./data/data:/data
|
||||||
# basta_server_db:
|
- ./data/media:/media
|
||||||
# image: postgres:alpine
|
env_file:
|
||||||
|
- docker.env
|
||||||
|
basta_server_db:
|
||||||
|
image: postgres:10-alpine
|
||||||
|
volumes:
|
||||||
|
- ./data/pgdata/:/var/lib/postgresql/data/
|
||||||
|
env_file:
|
||||||
|
- docker.env
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from apps.donar.models import Room, Lecture, Lecture_Terms, VGN_Coords
|
from apps.donar.models import Room, Lecture, Lecture_Terms, VGN_Coords
|
||||||
|
|
||||||
# Register your models here.
|
# Register your models here.
|
||||||
admin.site.register(Room)
|
admin.site.register(Room)
|
||||||
admin.site.register(Lecture)
|
admin.site.register(Lecture)
|
||||||
admin.site.register(Lecture_Terms)
|
admin.site.register(Lecture_Terms)
|
||||||
admin.site.register(VGN_Coords)
|
admin.site.register(VGN_Coords)
|
||||||
|
|||||||
@ -1,21 +1,33 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
MAX_LENGTH = 60
|
MAX_ROOM_KEY_LENGTH = 256
|
||||||
|
MAX_ROOM_NAME_LENGTH = 256
|
||||||
|
MAX_ROOM_ADDRESS_LENGTH = 256
|
||||||
|
MAX_ROOM_SIZE_LENGTH = 64
|
||||||
|
MAX_ROOM_DESCRIPTION_LENGTH = 512
|
||||||
|
|
||||||
|
MAX_COORDS_NAME_LENGTH = 256
|
||||||
|
MAX_COORDS_LENGTH = 256
|
||||||
|
|
||||||
|
MAX_LECTURE_IDS_LENGTH = 256
|
||||||
|
MAX_LECTURE_SHORT_LENGTH = 128
|
||||||
|
MAX_LECTURE_NAME_LENGTH = 256
|
||||||
|
MAX_LECTURE_TYPE_LENGTH = 64
|
||||||
|
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
class Room(models.Model):
|
class Room(models.Model):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
key = models.CharField(max_length=MAX_LENGTH, default="")
|
key = models.CharField(max_length=MAX_ROOM_KEY_LENGTH, default="")
|
||||||
address = models.CharField(max_length=MAX_LENGTH, default="")
|
address = models.CharField(max_length=MAX_ROOM_ADDRESS_LENGTH, default="")
|
||||||
building_key = models.CharField(max_length=MAX_LENGTH, default="")
|
building_key = models.CharField(max_length=MAX_ROOM_KEY_LENGTH, default="")
|
||||||
floor = models.CharField(max_length=MAX_LENGTH, default="")
|
floor = models.CharField(max_length=MAX_ROOM_KEY_LENGTH, default="")
|
||||||
name = models.CharField(max_length=MAX_LENGTH, default="")
|
name = models.CharField(max_length=MAX_ROOM_NAME_LENGTH, default="")
|
||||||
orgname = models.CharField(max_length=MAX_LENGTH, default="")
|
orgname = models.CharField(max_length=MAX_ROOM_KEY_LENGTH, default="")
|
||||||
short = models.CharField(unique=True, max_length=MAX_LENGTH)
|
short = models.CharField(unique=True, max_length=MAX_ROOM_KEY_LENGTH)
|
||||||
size = models.CharField(max_length=MAX_LENGTH, default="")
|
size = models.CharField(max_length=MAX_ROOM_SIZE_LENGTH, default="")
|
||||||
description = models.CharField(max_length=200, default="")
|
description = models.CharField(max_length=MAX_ROOM_DESCRIPTION_LENGTH, default="")
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "%s - size: %s" % (self.short, str(self.size))
|
return "%s - size: %s" % (self.short, str(self.size))
|
||||||
@ -23,10 +35,10 @@ class Room(models.Model):
|
|||||||
|
|
||||||
class VGN_Coords(models.Model):
|
class VGN_Coords(models.Model):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
name = models.CharField(max_length=MAX_LENGTH, unique=True)
|
name = models.CharField(max_length=MAX_COORDS_NAME_LENGTH, unique=True)
|
||||||
coords = models.CharField(max_length=MAX_LENGTH, unique=True)
|
coords = models.CharField(max_length=MAX_COORDS_LENGTH, unique=True)
|
||||||
longitude = models.CharField(max_length=MAX_LENGTH, unique=True)
|
longitude = models.CharField(max_length=MAX_COORDS_LENGTH, unique=True)
|
||||||
latitude = models.CharField(max_length=MAX_LENGTH, unique=True)
|
latitude = models.CharField(max_length=MAX_COORDS_LENGTH, unique=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "%s" % self.name
|
return "%s" % self.name
|
||||||
@ -34,12 +46,12 @@ class VGN_Coords(models.Model):
|
|||||||
|
|
||||||
class Lecture(models.Model):
|
class Lecture(models.Model):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
univis_ref = models.CharField(max_length=MAX_LENGTH, unique=True)
|
univis_ref = models.CharField(max_length=MAX_LECTURE_IDS_LENGTH, unique=True)
|
||||||
univis_id = models.CharField(max_length=MAX_LENGTH, unique=True)
|
univis_id = models.CharField(max_length=MAX_LECTURE_IDS_LENGTH, unique=True)
|
||||||
name = models.CharField(max_length=MAX_LENGTH)
|
name = models.CharField(max_length=MAX_LECTURE_NAME_LENGTH)
|
||||||
short = models.CharField(max_length=MAX_LENGTH)
|
short = models.CharField(max_length=MAX_LECTURE_SHORT_LENGTH)
|
||||||
type = models.CharField(max_length=MAX_LENGTH)
|
type = models.CharField(max_length=MAX_LECTURE_TYPE_LENGTH)
|
||||||
lecturer_id = models.CharField(max_length=MAX_LENGTH)
|
lecturer_id = models.CharField(max_length=MAX_LECTURE_IDS_LENGTH)
|
||||||
term = models.ManyToManyField('Lecture_Terms', blank=False)
|
term = models.ManyToManyField('Lecture_Terms', blank=False)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|||||||
@ -2,20 +2,28 @@ from __future__ import unicode_literals
|
|||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
MAX_LENGTH = 60
|
MAX_EVENT_ID_LENGTH = 64
|
||||||
|
MAX_EVENT_TITLE_LENGTH = 256
|
||||||
|
MAX_EVENT_CATEGORY_LENGTH = 64
|
||||||
|
MAX_EVENT_LINK_LENGTH = 512
|
||||||
|
MAX_EVENT_PRESENTER_LENGTH = 256
|
||||||
|
MAX_EVENT_ORGNAME_LENGTH = 256
|
||||||
|
|
||||||
|
MAX_LOCATION_KEY_LENGTH = 128
|
||||||
|
MAX_LOCATION_NAME_LENGTH = 256
|
||||||
|
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
class Event(models.Model):
|
class Event(models.Model):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
title = models.CharField(blank=False, max_length=MAX_LENGTH)
|
title = models.CharField(blank=False, max_length=MAX_EVENT_TITLE_LENGTH)
|
||||||
category = models.CharField(blank=False, max_length=MAX_LENGTH)
|
category = models.CharField(blank=False, max_length=MAX_EVENT_CATEGORY_LENGTH)
|
||||||
link = models.CharField(blank=True, max_length=MAX_LENGTH)
|
link = models.CharField(blank=True, max_length=MAX_EVENT_LINK_LENGTH)
|
||||||
locations = models.ManyToManyField('Location', blank=False)
|
locations = models.ManyToManyField('Location', blank=False)
|
||||||
date = models.DateField(blank=False, default=timezone.now)
|
date = models.DateField(blank=False, default=timezone.now)
|
||||||
time = models.TimeField(blank=False, default=timezone.now)
|
time = models.TimeField(blank=False, default=timezone.now)
|
||||||
presenter = models.CharField(blank=True, max_length=MAX_LENGTH)
|
presenter = models.CharField(blank=True, max_length=MAX_EVENT_PRESENTER_LENGTH)
|
||||||
orgname = models.CharField(blank=True, max_length=MAX_LENGTH)
|
orgname = models.CharField(blank=True, max_length=MAX_EVENT_ORGNAME_LENGTH)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "Date: %s, Titel: %s" % (self.date.strftime("%Y.%m.%d"), self.title)
|
return "Date: %s, Titel: %s" % (self.date.strftime("%Y.%m.%d"), self.title)
|
||||||
@ -26,8 +34,8 @@ class Event(models.Model):
|
|||||||
|
|
||||||
class Location(models.Model):
|
class Location(models.Model):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
key = models.CharField(blank=True, max_length=MAX_LENGTH)
|
key = models.CharField(blank=True, max_length=MAX_LOCATION_KEY_LENGTH)
|
||||||
name = models.CharField(blank=False, unique=True, max_length=MAX_LENGTH)
|
name = models.CharField(blank=False, unique=True, max_length=MAX_LOCATION_NAME_LENGTH)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.name)
|
return str(self.name)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from apps.food.models import SingleFood, Menu, HappyHour, UserRating, UserFoodImage
|
from apps.food.models import SingleFood, Menu, HappyHour, UserRating, UserFoodImage, FoodImage
|
||||||
|
|
||||||
|
|
||||||
class SingleFoodInline(admin.TabularInline):
|
class SingleFoodInline(admin.TabularInline):
|
||||||
@ -25,3 +25,4 @@ admin.site.register(HappyHour)
|
|||||||
admin.site.register(UserRating)
|
admin.site.register(UserRating)
|
||||||
admin.site.register(UserFoodImage)
|
admin.site.register(UserFoodImage)
|
||||||
admin.site.register(Menu, MenuAdmin)
|
admin.site.register(Menu, MenuAdmin)
|
||||||
|
admin.site.register(FoodImage)
|
||||||
|
|||||||
@ -12,6 +12,12 @@ from django.db import models
|
|||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
MAX_LENGTH = 256
|
MAX_LENGTH = 256
|
||||||
|
MAX_FOOD_NAME = 256
|
||||||
|
MAX_FOOD_LOCATION_LENGTH = 256
|
||||||
|
MAX_FOOD_PRICE_LENGTH = 10
|
||||||
|
MAX_FOOD_ALLERGENNAME_LENGTH = 256
|
||||||
|
MAX_HAPPY_HOUR_LOCATION_LENGTH = 256
|
||||||
|
MAX_HAPPY_HOUR_DESCRIPTION_LENGTH = 1024
|
||||||
|
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
@ -25,7 +31,7 @@ class Menu(models.Model):
|
|||||||
(ERBA, 'Erba'), (MARKUSPLATZ, 'Markusplatz'), (FEKI, 'Feldkirchenstrasse'), (AUSTRASSE, 'Austrasse'))
|
(ERBA, 'Erba'), (MARKUSPLATZ, 'Markusplatz'), (FEKI, 'Feldkirchenstrasse'), (AUSTRASSE, 'Austrasse'))
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
date = models.DateField(default=timezone.now)
|
date = models.DateField(default=timezone.now)
|
||||||
location = models.CharField(max_length=MAX_LENGTH, choices=LOCATION_CHOICES)
|
location = models.CharField(max_length=MAX_FOOD_LOCATION_LENGTH, choices=LOCATION_CHOICES)
|
||||||
menu = models.ManyToManyField("SingleFood", related_name="foods")
|
menu = models.ManyToManyField("SingleFood", related_name="foods")
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -37,10 +43,10 @@ class Menu(models.Model):
|
|||||||
|
|
||||||
class SingleFood(models.Model):
|
class SingleFood(models.Model):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
name = models.CharField(unique=True, max_length=MAX_LENGTH)
|
name = models.CharField(unique=True, max_length=MAX_FOOD_NAME)
|
||||||
price_student = models.CharField(max_length=10, blank=True, null=True)
|
price_student = models.CharField(max_length=MAX_FOOD_PRICE_LENGTH, blank=True, null=True)
|
||||||
price_employee = models.CharField(max_length=10, blank=True, null=True)
|
price_employee = models.CharField(max_length=MAX_FOOD_PRICE_LENGTH, blank=True, null=True)
|
||||||
price_guest = models.CharField(max_length=10, blank=True, null=True)
|
price_guest = models.CharField(max_length=MAX_FOOD_PRICE_LENGTH, blank=True, null=True)
|
||||||
image = models.ForeignKey('FoodImage', on_delete=models.PROTECT, blank=True, null=True)
|
image = models.ForeignKey('FoodImage', on_delete=models.PROTECT, blank=True, null=True)
|
||||||
rating = models.FloatField(default=0)
|
rating = models.FloatField(default=0)
|
||||||
allergens = models.ManyToManyField("Allergene", blank=True)
|
allergens = models.ManyToManyField("Allergene", blank=True)
|
||||||
@ -51,7 +57,7 @@ class SingleFood(models.Model):
|
|||||||
|
|
||||||
class Allergene(models.Model):
|
class Allergene(models.Model):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
name = models.CharField(unique=True, max_length=MAX_LENGTH)
|
name = models.CharField(unique=True, max_length=MAX_FOOD_ALLERGENNAME_LENGTH)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
@ -62,8 +68,8 @@ class HappyHour(models.Model):
|
|||||||
date = models.DateField(default=timezone.now)
|
date = models.DateField(default=timezone.now)
|
||||||
starttime = models.TimeField(default=timezone.now)
|
starttime = models.TimeField(default=timezone.now)
|
||||||
endtime = models.TimeField(default=timezone.now)
|
endtime = models.TimeField(default=timezone.now)
|
||||||
location = models.CharField(max_length=MAX_LENGTH)
|
location = models.CharField(max_length=MAX_HAPPY_HOUR_LOCATION_LENGTH)
|
||||||
description = models.CharField(max_length=MAX_LENGTH)
|
description = models.CharField(max_length=MAX_HAPPY_HOUR_DESCRIPTION_LENGTH)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
# TODO: unique description instead of date
|
# TODO: unique description instead of date
|
||||||
|
|||||||
Reference in New Issue
Block a user