Skip to content

Commit

Permalink
Fix for Django 2.9
Browse files Browse the repository at this point in the history
  • Loading branch information
gasman committed Dec 8, 2020
1 parent 73d6ebe commit 40acada
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 7 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/test.yml
Expand Up @@ -11,6 +11,7 @@ on:
# - django 2.2, python 3.7, wagtail 2.7, postgres
# - django 3.0, python 3.8, wagtail 2.8, postgres
# - django 3.0, python 3.8, wagtail 2.8, sqlite
# - django 3.0, python 3.8, wagtail 2.9, postgres
jobs:
test:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -38,6 +39,11 @@ jobs:
wagtail: "wagtail>=2.8,<2.9"
database: "sqlite3"
experimental: false
- python: 3.8
django: "Django>=3.0,<3.1"
wagtail: "wagtail>=2.9,<2.10"
database: "postgresql"
experimental: false

services:
postgres:
Expand Down
6 changes: 5 additions & 1 deletion tests/test_frontend.py
Expand Up @@ -3,7 +3,7 @@
from django.urls import reverse
from django.utils import timezone

from wagtail.core.models import Page
from wagtail.core.models import Page, Site

from wagtail_review.models import Share
from wagtail_review.token import Token
Expand All @@ -28,6 +28,10 @@ def setUp(self):
shared_by=User.objects.get(username="homer"),
)

# Need to update site record so the hostname matches what Django will sent to the view
# This prevents a 400 (Bad Request) error when the preview is generated
Site.objects.update(hostname="testserver")

def test_get_review(self):
response = self.client.get(reverse('wagtail_review:review', args=[self.token.encode()]))
self.assertEqual(response.status_code, 200)
Expand Down
6 changes: 5 additions & 1 deletion wagtail_review/models.py
Expand Up @@ -9,7 +9,11 @@
from django.utils.module_loading import import_string
from django.utils.translation import ugettext_lazy as _

from wagtail.admin.utils import send_mail
try:
from wagtail.admin.mail import send_mail # Wagtail >= 2.7
except ImportError:
from wagtail.admin.utils import send_mail # Wagtail < 2.7

from wagtail.core.models import UserPagePermissionsProxy

from .token import Token
Expand Down
21 changes: 16 additions & 5 deletions wagtail_review/views/frontend.py
Expand Up @@ -3,6 +3,7 @@
from django.shortcuts import get_object_or_404

import jwt
from wagtail import VERSION as WAGTAIL_VERSION
from wagtail.core.models import PageRevision

from wagtail_review import models
Expand All @@ -27,8 +28,18 @@ def review(request, token):
else:
review_request = None

dummy_request = page.dummy_request(request)
dummy_request.wagtailreview_token = token
dummy_request.wagtailreview_perms = perms
dummy_request.wagtailreview_review_request = review_request
return page.serve_preview(dummy_request, page.default_preview_mode)
if WAGTAIL_VERSION < (2, 7):
dummy_request = page.dummy_request(request)
dummy_request.wagtailreview_token = token
dummy_request.wagtailreview_perms = perms
dummy_request.wagtailreview_review_request = review_request
return page.serve_preview(dummy_request, page.default_preview_mode)
else:
return page.make_preview_request(
original_request=request,
extra_request_attrs={
'wagtailreview_token': token,
'wagtailreview_perms': perms,
'wagtailreview_review_request': review_request,
}
)

0 comments on commit 40acada

Please sign in to comment.