generated from bisco/codex-bootstrap
feat: build headless theatre laboratory website
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
import django.db.models.deletion
|
||||
import modelcluster.fields
|
||||
import wagtail.fields
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
("wagtailcore", "0001_squashed_0016_change_page_url_path_to_text_field"),
|
||||
("wagtailimages", "0001_squashed_0021"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="GalleryItem",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("category", models.CharField(choices=[("lessons", "Lessons"), ("backstage", "Backstage"), ("shows", "Shows"), ("group", "Group")], max_length=20)),
|
||||
("caption", models.CharField(blank=True, max_length=255)),
|
||||
("order", models.PositiveIntegerField(default=0)),
|
||||
("visible_on_home", models.BooleanField(default=True)),
|
||||
("image", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="+", to="wagtailimages.image")),
|
||||
],
|
||||
options={"ordering": ["order", "id"]},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="HomePage",
|
||||
fields=[
|
||||
("page_ptr", models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to="wagtailcore.page")),
|
||||
("hero_title", models.CharField(max_length=180)),
|
||||
("hero_subtitle", models.TextField()),
|
||||
("intro_title", models.CharField(blank=True, max_length=180)),
|
||||
("intro_body", wagtail.fields.RichTextField(blank=True)),
|
||||
("cta_primary_label", models.CharField(blank=True, max_length=80)),
|
||||
("cta_primary_url", models.CharField(blank=True, max_length=255)),
|
||||
("cta_secondary_label", models.CharField(blank=True, max_length=80)),
|
||||
("cta_secondary_url", models.CharField(blank=True, max_length=255)),
|
||||
("laboratory_title", models.CharField(blank=True, max_length=180)),
|
||||
("laboratory_body", wagtail.fields.RichTextField(blank=True)),
|
||||
("hero_image", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to="wagtailimages.image")),
|
||||
("laboratory_image", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to="wagtailimages.image")),
|
||||
],
|
||||
bases=("wagtailcore.page",),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="LessonInfo",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("day_time", models.CharField(max_length=180)),
|
||||
("location", models.CharField(max_length=255)),
|
||||
("audience", models.TextField()),
|
||||
("description", wagtail.fields.RichTextField()),
|
||||
("trial_lesson", models.CharField(blank=True, max_length=255)),
|
||||
("notes", models.TextField(blank=True)),
|
||||
],
|
||||
options={"verbose_name": "lesson information", "verbose_name_plural": "lesson information"},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="Show",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("title", models.CharField(max_length=180)),
|
||||
("year", models.PositiveSmallIntegerField()),
|
||||
("short_description", models.TextField()),
|
||||
("description", wagtail.fields.RichTextField(blank=True)),
|
||||
("location", models.CharField(blank=True, max_length=255)),
|
||||
("cast", models.TextField(blank=True)),
|
||||
("order", models.PositiveIntegerField(default=0)),
|
||||
("visible_on_home", models.BooleanField(default=True)),
|
||||
("poster", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to="wagtailimages.image")),
|
||||
],
|
||||
options={"ordering": ["order", "-year", "title"]},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="SiteSettings",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("laboratory_name", models.CharField(default="Laboratorio Teatrale", max_length=120)),
|
||||
("short_claim", models.CharField(blank=True, max_length=180)),
|
||||
("email", models.EmailField(blank=True, max_length=254)),
|
||||
("phone", models.CharField(blank=True, max_length=40)),
|
||||
("whatsapp", models.CharField(blank=True, max_length=40)),
|
||||
("instagram", models.URLField(blank=True)),
|
||||
("facebook", models.URLField(blank=True)),
|
||||
("address", models.CharField(blank=True, max_length=255)),
|
||||
("footer_text", models.CharField(blank=True, max_length=255)),
|
||||
("site", models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, to="wagtailcore.site")),
|
||||
],
|
||||
options={"verbose_name": "site settings", "abstract": False},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="TeacherProfile",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("name", models.CharField(max_length=120)),
|
||||
("short_bio", models.TextField()),
|
||||
("full_bio", wagtail.fields.RichTextField(blank=True)),
|
||||
("quote", models.TextField(blank=True)),
|
||||
("photo", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="+", to="wagtailimages.image")),
|
||||
],
|
||||
options={"verbose_name": "teacher profile"},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="FeatureCard",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("sort_order", models.IntegerField(blank=True, editable=False, null=True)),
|
||||
("title", models.CharField(max_length=120)),
|
||||
("text", models.TextField()),
|
||||
("page", modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name="feature_cards", to="home.homepage")),
|
||||
],
|
||||
options={"ordering": ["sort_order"], "abstract": False},
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
Reference in New Issue
Block a user