diff --git a/apps/establishment/migrations/0090_auto_20200130_1849.py b/apps/establishment/migrations/0090_auto_20200130_1849.py new file mode 100644 index 00000000..c17794ec --- /dev/null +++ b/apps/establishment/migrations/0090_auto_20200130_1849.py @@ -0,0 +1,41 @@ +# Generated by Django 2.2.7 on 2020-01-30 18:49 + +from django.conf import settings +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import utils.methods + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('establishment', '0089_auto_20200130_1758'), + ] + + operations = [ + migrations.CreateModel( + name='MenuFiles', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Date created')), + ('modified', models.DateTimeField(auto_now=True, verbose_name='Date updated')), + ('file', models.FileField(blank=True, default=None, null=True, upload_to=utils.methods.file_path, validators=[django.core.validators.FileExtensionValidator(allowed_extensions=('jpg', 'jpeg', 'png', 'doc', 'docx', 'pdf'))], verbose_name='File')), + ('name', models.CharField(default='', max_length=255, verbose_name='name')), + ('type', models.CharField(default='', max_length=65, verbose_name='type')), + ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='menufiles_records_created', to=settings.AUTH_USER_MODEL, verbose_name='created by')), + ('modified_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='menufiles_records_modified', to=settings.AUTH_USER_MODEL, verbose_name='modified by')), + ], + options={ + 'verbose_name': 'menu upload', + 'verbose_name_plural': 'menu uploads', + }, + ), + migrations.AddField( + model_name='menu', + name='uploads', + field=models.ManyToManyField(blank=True, to='establishment.MenuFiles', verbose_name='Menu files'), + ), + ] diff --git a/apps/establishment/models.py b/apps/establishment/models.py index 46bc671c..e02b3291 100644 --- a/apps/establishment/models.py +++ b/apps/establishment/models.py @@ -30,8 +30,8 @@ from tag.models import Tag from timetable.models import Timetable from utils.methods import transform_into_readable_str from utils.models import ( - BaseAttributes, FavoritesMixin, GalleryMixin, HasTagsMixin, IntermediateGalleryModelMixin, ProjectBaseMixin, - TJSONField, TranslatedFieldsMixin, TypeDefaultImageMixin, URLImageMixin, + BaseAttributes, FavoritesMixin, FileMixin, GalleryMixin, HasTagsMixin, IntermediateGalleryModelMixin, + ProjectBaseMixin, TJSONField, TranslatedFieldsMixin, TypeDefaultImageMixin, URLImageMixin, ) @@ -1311,6 +1311,12 @@ class Menu(GalleryMixin, TranslatedFieldsMixin, BaseAttributes): ) old_id = models.PositiveIntegerField(_('old id'), blank=True, null=True, default=None) + uploads = models.ManyToManyField( + to='MenuFiles', + blank=True, + verbose_name=_('Menu files'), + ) + objects = MenuQuerySet.as_manager() class Meta: @@ -1319,6 +1325,17 @@ class Menu(GalleryMixin, TranslatedFieldsMixin, BaseAttributes): ordering = ('-created',) +class MenuFiles(FileMixin, BaseAttributes): + """Menu files""" + + name = models.CharField(_('name'), max_length=255, default='') + type = models.CharField(_('type'), max_length=65, default='') + + class Meta: + verbose_name = _('menu upload') + verbose_name_plural = _('menu uploads') + + class MenuGallery(IntermediateGalleryModelMixin): menu = models.ForeignKey( Menu,