Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Information Page #21

Merged
merged 30 commits into from
Nov 19, 2024
Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
6364f3e
Standard_pages app creation
nehakerung Nov 1, 2024
c1ce98b
Django models for information page updated and the template for the i…
sanjeevz3009 Nov 7, 2024
78837d2
Zombie code removed
sanjeevz3009 Nov 7, 2024
6ea3fe9
Unnused files deleted
sanjeevz3009 Nov 7, 2024
e2c2c24
Mirgation file formatted
sanjeevz3009 Nov 7, 2024
0cf3011
django-manager-missing ignore added
sanjeevz3009 Nov 7, 2024
b9d4ee4
TODO comment removed and docstrings added
sanjeevz3009 Nov 7, 2024
fcddd80
Replace `pytest` with Django's built-in runner (#18)
RealOrangeOne Nov 5, 2024
32ef6f3
Information code formatted
sanjeevz3009 Nov 7, 2024
067757d
Docstring rewritten to make it more concise
sanjeevz3009 Nov 7, 2024
7533f98
Updated body to content
sanjeevz3009 Nov 7, 2024
85a90a4
Conditional for last_updated added, InformationPage class docstring s…
sanjeevz3009 Nov 8, 2024
dc799cd
summary TextField null=true removed and the migration file regenerate…
sanjeevz3009 Nov 8, 2024
790a578
Removing the conditional as per requirement the summary field is requ…
sanjeevz3009 Nov 8, 2024
1ec12d7
InformationPage restrictions added
sanjeevz3009 Nov 8, 2024
bb13a2e
Release calendar pages (#16)
zerolab Nov 8, 2024
1710c56
Code formatted
sanjeevz3009 Nov 8, 2024
b8a46aa
Comments added
sanjeevz3009 Nov 11, 2024
ca6cf26
Comment out the scheduler image (#22)
zerolab Nov 11, 2024
267cb51
Custom CSS added to make video embeds responsive
sanjeevz3009 Nov 11, 2024
432f794
Formatting fixed
sanjeevz3009 Nov 11, 2024
f7e06d6
Ignore Unexpected property "left" property-disallowed-list rule
sanjeevz3009 Nov 12, 2024
ec11326
cms/release_calendar/models.py formating fixed
sanjeevz3009 Nov 12, 2024
a71808d
Replace Docker Desktop setup with Colima (#24)
MebinAbraham Nov 12, 2024
6fa0a43
Add Cookie banner and Google Tag Manager snippet (#19)
kacperpONS Nov 12, 2024
bd037e8
Analysis page and series (#20)
zerolab Nov 14, 2024
5017772
Fix `KeyError 'changes_to_release_date'` (#26)
zerolab Nov 18, 2024
d55e78a
Merge branch 'main' into feature/information-page-CMS-179
nehakerung Nov 18, 2024
79e913e
Missing block added
sanjeevz3009 Nov 18, 2024
439740b
Related pages InlinePanel added. Add Info Template updated.
sanjeevz3009 Nov 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -187,3 +187,6 @@ static/

# mkdocs
/site

# Media files
/media
27 changes: 27 additions & 0 deletions cms/jinja2/templates/pages/information_page.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{% extends "templates/base_page.html" %}
{% from "components/related-content/_macro.njk" import onsRelatedContent %}

{% block main %}
<p>{{ page.summary }}</p>

{% if page.last_updated %}
<h5>Last Updated: {{ page.last_updated }}</h5>
{% endif %}

{% include_block page.content %}

{% if related_pages %}
{# fmt:off #}
{{-
onsRelatedContent({
"ariaLabel": _('Related content'),
"rows": [{
"id": 'related-content',
"title": _('Related content'),
"itemsList": related_pages
}]
})
-}}
{# fmt:on #}
{% endif %}
{% endblock %}
1 change: 1 addition & 0 deletions cms/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
"cms.themes",
"cms.topics",
"cms.users",
"cms.standard_pages",
"wagtail.embeds",
"wagtail.sites",
"wagtail.users",
Expand Down
Empty file.
8 changes: 8 additions & 0 deletions cms/standard_pages/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from django.apps import AppConfig


class StandardPagesConfig(AppConfig):
"""The standard_pages app config."""

default_auto_field = "django.db.models.BigAutoField"
name = "cms.standard_pages"
64 changes: 64 additions & 0 deletions cms/standard_pages/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Generated by Django 5.1.2 on 2024-11-08 15:48

import django.db.models.deletion
from django.db import migrations, models

import cms.core.fields


class Migration(migrations.Migration):
initial = True

dependencies = [
("images", "0001_initial"),
("wagtailcore", "0094_alter_page_locale"),
]

operations = [
migrations.CreateModel(
name="InformationPage",
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",
),
),
("listing_title", models.CharField(blank=True, max_length=255)),
("listing_summary", models.CharField(blank=True, max_length=255)),
("social_text", models.CharField(blank=True, max_length=255)),
("summary", models.TextField(max_length=255)),
("last_updated", models.DateField(blank=True, null=True)),
("content", cms.core.fields.StreamField(block_lookup={})),
(
"listing_image",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="images.customimage",
),
),
(
"social_image",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="images.customimage",
),
),
],
options={
"abstract": False,
},
bases=("wagtailcore.page", models.Model),
),
]
Empty file.
39 changes: 39 additions & 0 deletions cms/standard_pages/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
from typing import ClassVar

from django.db import models
from wagtail.admin.panels import FieldPanel
from wagtail.search import index

from cms.core.blocks.stream_blocks import CoreStoryBlock
from cms.core.fields import StreamField
from cms.core.models import BasePage


class InformationPage(BasePage): # type: ignore[django-manager-missing]
"""A generic information page model."""

template = "templates/pages/information_page.html"

parent_page_types: ClassVar[list[str]] = [
# Ensures that the information page can only be created under the home page
"home.HomePage",
# Ensures that the information page can be created under another information page
"standard_pages.InformationPage",
]

summary = models.TextField(max_length=255)
last_updated = models.DateField(blank=True, null=True)
content = StreamField(CoreStoryBlock())

content_panels: ClassVar[list[FieldPanel]] = [
*BasePage.content_panels,
FieldPanel("summary"),
FieldPanel("last_updated"),
FieldPanel("content"),
]

search_fields: ClassVar[list[index.SearchField | index.AutocompleteField]] = [
*BasePage.search_fields,
index.SearchField("summary"),
index.SearchField("content"),
]
16 changes: 16 additions & 0 deletions cms/static_src/sass/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,19 @@
body {
display: block;
}

// Custom CSS from Wagtail doc to enable responsive video embeds
.responsive-object {
position: relative;
}

.responsive-object iframe,
.responsive-object object,
.responsive-object embed {
position: absolute;
top: 0;
/* stylelint-disable-next-line property-disallowed-list */
left: 0;
width: 100%;
height: 100%;
}
Loading