This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch AIRAVATA-3698--Add-support-for-Python-3.11
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git

commit 839e35148d9bb4b8911e8f67c2aa000d580004a1
Author: Marcus Christie <[email protected]>
AuthorDate: Tue Jun 20 18:07:33 2023 -0400

    AIRAVATA-3698 Upgrade to Wagtail 4.0
---
 django_airavata/wagtailapps/base/models.py         | 43 ++++++++++------------
 .../base/templatetags/navigation_tags.py           |  3 +-
 requirements.txt                                   |  2 +-
 3 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/django_airavata/wagtailapps/base/models.py 
b/django_airavata/wagtailapps/base/models.py
index db2360d1..b424ae76 100644
--- a/django_airavata/wagtailapps/base/models.py
+++ b/django_airavata/wagtailapps/base/models.py
@@ -10,13 +10,10 @@ from wagtail.admin.edit_handlers import (
     InlinePanel,
     MultiFieldPanel,
     ObjectList,
-    PageChooserPanel,
-    StreamFieldPanel,
     TabbedInterface
 )
 from wagtail.core.fields import RichTextField, StreamField
 from wagtail.core.models import Orderable, Page
-from wagtail.images.edit_handlers import ImageChooserPanel
 from wagtail.snippets.models import register_snippet
 
 from .blocks import BaseStreamBlock, ContainerChoiceBlock, CssStreamBlock, Nav
@@ -65,7 +62,7 @@ class NavExtra(models.Model):
         ('nav', Nav(max_num=1)),
     ])
     panels = [
-        StreamFieldPanel('nav'),
+        FieldPanel('nav'),
     ]
 
     def __str__(self):
@@ -90,7 +87,7 @@ class CustomCss(models.Model):
         default="")
 
     panels = [
-        StreamFieldPanel('css'),
+        FieldPanel('css'),
     ]
 
     def __str__(self):
@@ -115,7 +112,7 @@ class FooterText(models.Model):
         null=True)
 
     panels = [
-        StreamFieldPanel('footer'),
+        FieldPanel('footer'),
     ]
 
     def __str__(self):
@@ -196,7 +193,7 @@ class Navbar(models.Model):
     )
 
     panels = [
-        ImageChooserPanel('logo'),
+        FieldPanel('logo'),
         FieldPanel('logo_redirect_link'),
         FieldPanel('logo_width'),
         FieldPanel('logo_height'),
@@ -344,7 +341,7 @@ class GatewayIcon(models.Model):
     )
 
     panels = [
-        ImageChooserPanel('icon'),
+        FieldPanel('icon'),
         FieldPanel('background_color'),
     ]
 
@@ -618,40 +615,40 @@ class HomePage(Page):
 
     content_panels = Page.content_panels + [
         MultiFieldPanel([
-            ImageChooserPanel('image'),
+            FieldPanel('image'),
             FieldPanel('hero_text', classname="full"),
             MultiFieldPanel([
                 FieldPanel('hero_cta'),
-                PageChooserPanel('hero_cta_link'),
+                FieldPanel('hero_cta_link'),
             ])
         ], heading="Hero section"),
-        StreamFieldPanel('body'),
+        FieldPanel('body'),
         MultiFieldPanel([
-            ImageChooserPanel('site_logo'),
+            FieldPanel('site_logo'),
             FieldPanel('features_text'),
             MultiFieldPanel([
-                ImageChooserPanel('feature_logo_1'),
+                FieldPanel('feature_logo_1'),
                 FieldPanel('feature_1_title'),
                 FieldPanel('feature_1_text'),
             ]),
             MultiFieldPanel([
-                ImageChooserPanel('feature_logo_2'),
+                FieldPanel('feature_logo_2'),
                 FieldPanel('feature_2_title'),
                 FieldPanel('feature_2_text'),
             ]),
             MultiFieldPanel([
-                ImageChooserPanel('feature_logo_3'),
+                FieldPanel('feature_logo_3'),
                 FieldPanel('feature_3_title'),
                 FieldPanel('feature_3_text'),
             ]),
             MultiFieldPanel([
-                ImageChooserPanel('feature_logo_4'),
+                FieldPanel('feature_logo_4'),
                 FieldPanel('feature_4_title'),
                 FieldPanel('feature_4_text'),
             ])
         ], heading="Feature section", classname="collapsible"),
         FieldPanel('custom_body_message'),
-        ImageChooserPanel('banner_image')
+        FieldPanel('banner_image')
     ]
 
     customization_panels = [
@@ -678,7 +675,7 @@ class Row(models.Model):
     )
 
     panels = [
-        StreamFieldPanel('body'),
+        FieldPanel('body'),
     ]
 
     class Meta:
@@ -697,8 +694,8 @@ class BootstrapRow(Row):
     )
 
     panels = [
-        StreamFieldPanel('container'),
-        StreamFieldPanel('body'),
+        FieldPanel('container'),
+        FieldPanel('body'),
     ]
 
     class Meta:
@@ -875,7 +872,7 @@ class CybergatewayHomePage(Page):
 
     content_panels = Page.content_panels + [
         MultiFieldPanel([
-            ImageChooserPanel('site_logo'),
+            FieldPanel('site_logo'),
             FieldPanel('site_link'),
             FieldPanel('site_text'),
             FieldPanel('site_header'),
@@ -887,8 +884,8 @@ class CybergatewayHomePage(Page):
             FieldPanel('site_link_text3'),
         ], heading="Navbar Section"),
         InlinePanel("row", label="row"),
-        StreamFieldPanel('contact'),
-        StreamFieldPanel('footer'),
+        FieldPanel('contact'),
+        FieldPanel('footer'),
     ]
 
     customization_panels = [
diff --git a/django_airavata/wagtailapps/base/templatetags/navigation_tags.py 
b/django_airavata/wagtailapps/base/templatetags/navigation_tags.py
index aa4c38b1..346d3a6c 100644
--- a/django_airavata/wagtailapps/base/templatetags/navigation_tags.py
+++ b/django_airavata/wagtailapps/base/templatetags/navigation_tags.py
@@ -23,7 +23,8 @@ def get_site_root(context):
     # This returns a core.Page. The main menu needs to have the site.root_page
     # defined else will return an object attribute error ('str' object has no
     # attribute 'get_children')
-    return Site.find_for_request(context['request']).root_page
+    site = Site.find_for_request(context['request'])
+    return site.root_page if site else None
 
 
 def has_menu_children(page):
diff --git a/requirements.txt b/requirements.txt
index 819a22d2..ab5011e7 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,7 +9,7 @@ django-webpack-loader==0.6.0
 logging-formatter-anticrlf==1.2
 zipstream-new==1.1.8
 
-wagtail>=3.0,<3.1
+wagtail>=4.0,<4.1
 wagtailfontawesome==1.2.1
 wagtail-draftail-anchors==0.2.0
 wagtailcodeblock==1.17.1.0

Reply via email to