Skip to content

Commit

Permalink
Add compatibility with Wagtail 6.3
Browse files Browse the repository at this point in the history
  • Loading branch information
nickmoreton committed Jan 7, 2025
1 parent 1bf5c78 commit 08a8cd7
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 32 deletions.
43 changes: 27 additions & 16 deletions src/wagtail_bynder/views/document.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@

from django.conf import settings
from django.views.generic import UpdateView
from wagtail import VERSION as WAGTAIL_VERSION
from wagtail.documents import get_document_model
from wagtail.documents.views import chooser as chooser_views
from wagtail.documents.views.documents import DeleteView
from wagtail.documents.views.documents import edit as document_edit


if WAGTAIL_VERSION < (6, 3):
from wagtail.documents.views.documents import DeleteView
from wagtail.documents.views.documents import edit as document_edit
else:
from wagtail.documents.views.documents import DeleteView, EditView

from .mixins import BynderAssetCopyMixin, RedirectToBynderMixin

Expand All @@ -14,25 +20,30 @@
from django.http import HttpRequest, JsonResponse


class ClassBasedDocumentEditView(UpdateView):
"""
A class-based view that mimics the behaviour of wagtail's function-based
document edit view, and can be extended with view mixins.
"""
if WAGTAIL_VERSION < (6, 3):

# TODO: Use class from Wagtail once the documents app views are refactored
model = get_document_model()
pk_url_kwarg = "document_id"
class ClassBasedDocumentEditView(UpdateView):
"""
A class-based view that mimics the behaviour of wagtail's function-based
document edit view, and can be extended with view mixins.
"""

def get(self, request, *args, **kwargs):
return document_edit(request, *args, **kwargs)
# TODO: Use class from Wagtail once the documents app views are refactored
model = get_document_model()
pk_url_kwarg = "document_id"

def post(self, request, *args, **kwargs):
return document_edit(request, *args, **kwargs)
def get(self, request, *args, **kwargs):
return document_edit(request, *args, **kwargs)

def post(self, request, *args, **kwargs):
return document_edit(request, *args, **kwargs)

class DocumentEditView(RedirectToBynderMixin, ClassBasedDocumentEditView):
pass
class DocumentEditView(RedirectToBynderMixin, ClassBasedDocumentEditView):
pass
else:

class DocumentEditView(RedirectToBynderMixin, EditView):
pass


class DocumentDeleteView(RedirectToBynderMixin, DeleteView):
Expand Down
43 changes: 27 additions & 16 deletions src/wagtail_bynder/views/image.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@

from django.conf import settings
from django.views.generic import UpdateView
from wagtail import VERSION as WAGTAIL_VERSION
from wagtail.images import get_image_model
from wagtail.images.views import chooser as chooser_views
from wagtail.images.views.images import DeleteView
from wagtail.images.views.images import edit as image_edit


if WAGTAIL_VERSION < (6, 3):
from wagtail.images.views.images import DeleteView
from wagtail.images.views.images import edit as image_edit
else:
from wagtail.images.views.images import DeleteView, EditView

from .mixins import BynderAssetCopyMixin, RedirectToBynderMixin

Expand All @@ -14,25 +20,30 @@
from django.http import HttpRequest, JsonResponse


class ClassBasedWagtailImageEditView(UpdateView):
"""
A class-based view that mimics the behaviour of wagtail's function-based
image edit view, and can be extended with view mixins.
"""
if WAGTAIL_VERSION < (6, 3):

# TODO: Use class from Wagtail once the image app views are refactored
model = get_image_model()
pk_url_kwarg = "image_id"
class ClassBasedWagtailImageEditView(UpdateView):
"""
A class-based view that mimics the behaviour of wagtail's function-based
image edit view, and can be extended with view mixins.
"""

def get(self, request, *args, **kwargs):
return image_edit(request, *args, **kwargs)
# TODO: Use class from Wagtail once the image app views are refactored
model = get_image_model()
pk_url_kwarg = "image_id"

def post(self, request, *args, **kwargs):
return image_edit(request, *args, **kwargs)
def get(self, request, *args, **kwargs):
return image_edit(request, *args, **kwargs)

def post(self, request, *args, **kwargs):
return image_edit(request, *args, **kwargs)

class ImageEditView(RedirectToBynderMixin, ClassBasedWagtailImageEditView):
pass
class ImageEditView(RedirectToBynderMixin, ClassBasedWagtailImageEditView):
pass
else:

class ImageEditView(RedirectToBynderMixin, EditView):
pass


class ImageDeleteView(RedirectToBynderMixin, DeleteView):
Expand Down

0 comments on commit 08a8cd7

Please sign in to comment.