diff --git a/cookbook/forms.py b/cookbook/forms.py index 621e0219..811b31f1 100644 --- a/cookbook/forms.py +++ b/cookbook/forms.py @@ -76,6 +76,12 @@ class StorageForm(forms.ModelForm): fields = ('name', 'method', 'username', 'password', 'token', 'url') +class RecipeBookForm(forms.ModelForm): + class Meta: + model = RecipeBook + fields = ('name',) + + class SyncForm(forms.ModelForm): class Meta: model = Sync diff --git a/cookbook/migrations/0005_recipebook_recipebookentry.py b/cookbook/migrations/0005_recipebook_recipebookentry.py new file mode 100644 index 00000000..1f546a53 --- /dev/null +++ b/cookbook/migrations/0005_recipebook_recipebookentry.py @@ -0,0 +1,32 @@ +# Generated by Django 2.2.9 on 2019-12-24 11:14 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('cookbook', '0004_storage_created_by'), + ] + + operations = [ + migrations.CreateModel( + name='RecipeBook', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=128)), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='RecipeBookEntry', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('book', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cookbook.RecipeBook')), + ('recipe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cookbook.Recipe')), + ], + ), + ] diff --git a/cookbook/models.py b/cookbook/models.py index e284d032..86a4f320 100644 --- a/cookbook/models.py +++ b/cookbook/models.py @@ -96,3 +96,13 @@ class RecipeImport(models.Model): def __str__(self): return self.name + + +class RecipeBook(models.Model): + name = models.CharField(max_length=128) + user = models.ForeignKey(User, on_delete=models.CASCADE) + + +class RecipeBookEntry(models.Model): + recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE) + book = models.ForeignKey(RecipeBook, on_delete=models.CASCADE) diff --git a/cookbook/templates/base.html b/cookbook/templates/base.html index 8337df5e..c0eb00f4 100644 --- a/cookbook/templates/base.html +++ b/cookbook/templates/base.html @@ -72,6 +72,9 @@ {% trans 'Cookbook' %}(current) +