feat: add direct-save CMS and About archive
This commit is contained in:
113
apps/content/migrations/0007_about_story_archive.py
Normal file
113
apps/content/migrations/0007_about_story_archive.py
Normal file
@@ -0,0 +1,113 @@
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("content", "0006_home_actions_about_members_gallery_enamad"),
|
||||
("events", "0014_remove_registration_cancellation_email_sent_at_and_more"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="aboutcontent",
|
||||
name="vision_heading",
|
||||
field=models.CharField(blank=True, max_length=120),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="aboutcontent",
|
||||
name="vision_body",
|
||||
field=models.TextField(blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="aboutcontent",
|
||||
name="history_heading",
|
||||
field=models.CharField(blank=True, max_length=120),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="aboutcontent",
|
||||
name="audience_heading",
|
||||
field=models.CharField(blank=True, max_length=120),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="aboutcontent",
|
||||
name="year_events_heading",
|
||||
field=models.CharField(blank=True, max_length=120),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="aboutcontent",
|
||||
name="cta_heading",
|
||||
field=models.CharField(blank=True, max_length=120),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="aboutcontent",
|
||||
name="cta_body",
|
||||
field=models.CharField(blank=True, max_length=300),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="aboutcontent",
|
||||
name="cta_action_label",
|
||||
field=models.CharField(blank=True, max_length=40),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="aboutcontent",
|
||||
name="cta_action_url",
|
||||
field=models.CharField(blank=True, max_length=500),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="AboutAudience",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("title", models.CharField(max_length=120)),
|
||||
("text", models.CharField(max_length=300)),
|
||||
("icon", models.CharField(choices=[("students", "Students"), ("alumni", "Alumni"), ("faculty", "Faculty and researchers"), ("partners", "Industry and community partners")], default="students", max_length=20)),
|
||||
("position", models.PositiveSmallIntegerField(default=0)),
|
||||
("about", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="audiences", to="content.aboutcontent")),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "About page audience",
|
||||
"verbose_name_plural": "About page audiences",
|
||||
"ordering": ["position", "pk"],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="AboutMilestone",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("year_label", models.CharField(max_length=32, verbose_name="Year")),
|
||||
("title", models.CharField(max_length=120)),
|
||||
("description", models.CharField(max_length=500)),
|
||||
("position", models.PositiveSmallIntegerField(default=0)),
|
||||
("about", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="milestones", to="content.aboutcontent")),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Association history milestone",
|
||||
"verbose_name_plural": "Association history milestones",
|
||||
"ordering": ["position", "pk"],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="AboutYear",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("year_label", models.CharField(max_length=32, verbose_name="Academic year")),
|
||||
("position", models.PositiveSmallIntegerField(default=0, help_text="Order years from oldest to newest; the last year is selected by default on the page.")),
|
||||
("about", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="years", to="content.aboutcontent")),
|
||||
("events", models.ManyToManyField(blank=True, help_text="Choose past, published or completed events. Draft, cancelled, and upcoming events are not shown.", related_name="about_year_highlights", to="events.event")),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Association year",
|
||||
"verbose_name_plural": "Association years",
|
||||
"ordering": ["position", "pk"],
|
||||
},
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name="aboutyear",
|
||||
constraint=models.UniqueConstraint(fields=("about", "year_label"), name="content_about_year_label_unique"),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="aboutmember",
|
||||
name="year_group",
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="members", to="content.aboutyear"),
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user