Skip to content

Commit

Permalink
feat: django42 compatibility
Browse files Browse the repository at this point in the history
- Added Makefile for local development
- Added support for Django 4.2
  • Loading branch information
marco9663 authored Jul 11, 2024
2 parents c91e75d + 0a5de94 commit b91fa31
Show file tree
Hide file tree
Showing 35 changed files with 815 additions and 312 deletions.
7 changes: 7 additions & 0 deletions HISTORY
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
CHANGELOG
=========

3.0.0 (2024-07-10)
------------------
* Add support for Django 4.2
* Add support for Django CMS 3.11
* Drop support prior to Django 4.2
* Drop support prior to Django CMS 3.11

2.0.0 (2019-11-07)
------------------

Expand Down
47 changes: 47 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
OS = $(shell uname -s)

PIP_EXTRA_INDEX_URL=

BREW_PACKAGES := pipx
.PHONY: setup
setup: mac_dependencies pipenv

.PHONY: mac_dependencies
mac_dependencies:
ifeq (${OS}, Darwin)
brew update
brew install $(BREW_PACKAGES) 2> /dev/null || true
brew upgrade $(BREW_PACKAGES) 2> /dev/null || true
endif

.PHONY: pipenv
pipenv:
pipx install pipenv
pipenv install
# Check if pipenv virtual environment is activated
@if [ -z "$$VIRTUAL_ENV" ]; then \
echo "Virtual environment not activated. Activating pipenv shell..."; \
pipenv shell; \
else \
echo "Virtual environment is already activated."; \
fi

.PHONY: test
test:
tox

.PHONY: lock
lock:
pipenv lock

.PHONY: build
build: clean_build
pipx run build
# python -m twine upload --skip-existing --repository-url https://us-python.pkg.dev/clover-sre-001/clover-production/ dist/*

.PHONY: clean_build
clean_build:
rm -rf build/
rm -rf dist/
rm -rf *.egg*/
find . -type d -name '.func' -delete
4 changes: 2 additions & 2 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ mypy = "*"
aldryn-apphook-reload = ">=0.2.2"
coverage = ">=3.7.1"
django-appconf = "*"
djangocms-helper = ">=0.9.1"
django-app-helper = "==3.3.4"
django-filer = "*"
djangocms-text-ckeditor = "*"
html5lib = "*"
Expand All @@ -22,4 +22,4 @@ django = "*"
tox = "*"

[requires]
python_version = "3.7"
python_version = "3.8"
820 changes: 562 additions & 258 deletions Pipfile.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion cmsplugin_filer_file/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "2.0.3"
__version__ = "3.0.0"
2 changes: 1 addition & 1 deletion cmsplugin_filer_file/cms_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from django.template.loader import select_template
from django.templatetags.static import static
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _

from cms.plugin_pool import plugin_pool
from cms.plugin_base import CMSPluginBase
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Generated by Django 4.2.13 on 2024-07-10 18:42

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


class Migration(migrations.Migration):
dependencies = [
("cms", "0022_auto_20180620_1551"),
("cmsplugin_filer_file", "0005_auto_20160713_1853"),
]

operations = [
migrations.AlterField(
model_name="filerfile",
name="cmsplugin_ptr",
field=models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
related_name="%(app_label)s_%(class)s",
serialize=False,
to="cms.cmsplugin",
),
),
]
2 changes: 1 addition & 1 deletion cmsplugin_filer_file/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from __future__ import unicode_literals

from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _

from cms.models import CMSPlugin

Expand Down
9 changes: 5 additions & 4 deletions cmsplugin_filer_file/tests.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.utils.encoding import force_text
from django.utils.encoding import force_str


from cmsplugin_filer_tests_shared.base import (
BasePluginTestMixin, CmsPluginsFilerBaseTestCase,
Expand All @@ -19,7 +20,7 @@ def test_no_file(self):
filer_file_plugin = self._create_plugin(file=None)
self.assertEqual(filer_file_plugin.get_file_name(), '')
self.assertEqual(filer_file_plugin.get_icon_url(), '')
self.assertEqual(force_text(filer_file_plugin), '<empty>')
self.assertEqual(force_str(filer_file_plugin), '<empty>')

def test_get_file_name(self):
filer_file_plugin = self.create_plugin()
Expand All @@ -44,9 +45,9 @@ def test_get_ext(self):

def test_str(self):
filer_file_plugin = self.create_plugin()
self.assertEqual(force_text(filer_file_plugin), 'test_file.jpg')
self.assertEqual(force_str(filer_file_plugin), 'test_file.jpg')
filer_file_plugin.title = 'New title for file'
filer_file_plugin.save()
filer_file_plugin = filer_file_plugin._meta.model.objects.get(
pk=filer_file_plugin.pk)
self.assertEqual(force_text(filer_file_plugin), 'New title for file')
self.assertEqual(force_str(filer_file_plugin), 'New title for file')
6 changes: 3 additions & 3 deletions cmsplugin_filer_folder/cms_plugins.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from cms.plugin_pool import plugin_pool
from cms.plugin_base import CMSPluginBase
from django.template.loader import select_template
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from . import models
from .conf import settings

Expand Down Expand Up @@ -40,15 +40,15 @@ def get_folder_images(self, folder, user):
return qs_files.filter(is_public=True)

def get_children(self, folder):
return folder.get_children()
return folder.children

def render(self, context, instance, placeholder):
user = context['request'].user

if instance.folder_id:
folder_files = self.get_folder_files(instance.folder, user)
folder_images = self.get_folder_images(instance.folder, user)
folder_folders = self.get_children(instance.folder)
folder_folders = self.get_children(instance.folder).all()
else:
folder_files = File.objects.none()
folder_images = BaseImage.objects.none()
Expand Down
2 changes: 1 addition & 1 deletion cmsplugin_filer_folder/conf.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from django.conf import settings # NOQA
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from appconf import AppConf


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Generated by Django 4.2.13 on 2024-07-10 18:42

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


class Migration(migrations.Migration):
dependencies = [
("cms", "0022_auto_20180620_1551"),
("cmsplugin_filer_folder", "0003_auto_20160713_1853"),
]

operations = [
migrations.AlterField(
model_name="filerfolder",
name="cmsplugin_ptr",
field=models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
related_name="%(app_label)s_%(class)s",
serialize=False,
to="cms.cmsplugin",
),
),
]
2 changes: 1 addition & 1 deletion cmsplugin_filer_folder/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import warnings
from django.db import models
from cms.models import CMSPlugin
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from filer.fields.folder import FilerFolderField
from .conf import settings
from cmsplugin_filer_utils import FilerPluginManager
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{% load i18n thumbnail sekizai_tags staticfiles %}
{% load i18n thumbnail sekizai_tags static %}
{% addtoblock "css" %}<link rel="stylesheet" type="text/css" href="{% static 'cmsplugin_filer_folder/css/slideshow.css' %}" media="screen, projection" />{% endaddtoblock "css" %}
{% addtoblock "js" %}<script type="text/javascript" src="{% static 'cmsplugin_filer_folder/js/jquery.cycle.lite-1.7.js' %}"></script>{% endaddtoblock "js" %}
{% addtoblock "js" %}
Expand Down
5 changes: 2 additions & 3 deletions cmsplugin_filer_folder/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
from tempfile import mkstemp

from django.contrib.auth.models import AnonymousUser
from django.utils.encoding import force_text

from django.utils.encoding import force_str
from filer.models import Folder, File, Image
from django.core.files import File as DjangoFile

Expand All @@ -20,7 +19,7 @@ class CmsPluginFilerFolderTestCase(BasePluginTestMixin,

def test_no_folder(self):
filer_folder_plugin = self._create_plugin(folder=None)
self.assertEqual(force_text(filer_folder_plugin), '<empty>')
self.assertEqual(force_str(filer_folder_plugin), '<empty>')

def get_plugin_params(self):
folder = Folder(name='test_plugin', parent=None)
Expand Down
2 changes: 1 addition & 1 deletion cmsplugin_filer_image/apps.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _


class FilerImageConfig(AppConfig):
Expand Down
2 changes: 1 addition & 1 deletion cmsplugin_filer_image/cms_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from django.template.loader import select_template
from django.templatetags.static import static
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _

from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Generated by Django 4.2.13 on 2024-07-10 18:42

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


class Migration(migrations.Migration):
dependencies = [
("cms", "0022_auto_20180620_1551"),
("cmsplugin_filer_image", "0010_auto_20191127_1058"),
]

operations = [
migrations.AlterField(
model_name="filerimage",
name="cmsplugin_ptr",
field=models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
related_name="%(app_label)s_%(class)s",
serialize=False,
to="cms.cmsplugin",
),
),
]
2 changes: 1 addition & 1 deletion cmsplugin_filer_image/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from __future__ import unicode_literals

from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _

from filer.fields.file import FilerFileField
from filer.fields.image import FilerImageField
Expand Down
2 changes: 1 addition & 1 deletion cmsplugin_filer_link/cms_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from __future__ import unicode_literals

from django.templatetags.static import static
from django.utils.translation import ugettext as _
from django.utils.translation import gettext as _

from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Generated by Django 4.2.13 on 2024-07-10 18:42

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


class Migration(migrations.Migration):
dependencies = [
("cms", "0022_auto_20180620_1551"),
("cmsplugin_filer_link", "0007_auto_20160713_1853"),
]

operations = [
migrations.AlterField(
model_name="filerlinkplugin",
name="cmsplugin_ptr",
field=models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
related_name="%(app_label)s_%(class)s",
serialize=False,
to="cms.cmsplugin",
),
),
]
2 changes: 1 addition & 1 deletion cmsplugin_filer_link/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from __future__ import unicode_literals

from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.conf import settings

from cms.models import CMSPlugin
Expand Down
2 changes: 1 addition & 1 deletion cmsplugin_filer_teaser/cms_plugins.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from cms.plugin_pool import plugin_pool
from cms.plugin_base import CMSPluginBase
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.template.loader import select_template
from . import models
from .conf import settings
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Generated by Django 4.2.13 on 2024-07-10 18:42

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


class Migration(migrations.Migration):
dependencies = [
("cms", "0022_auto_20180620_1551"),
("cmsplugin_filer_teaser", "0004_auto_20191127_1058"),
]

operations = [
migrations.AlterField(
model_name="filerteaser",
name="cmsplugin_ptr",
field=models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
related_name="%(app_label)s_%(class)s",
serialize=False,
to="cms.cmsplugin",
),
),
]
2 changes: 1 addition & 1 deletion cmsplugin_filer_teaser/models.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.db import models
from cms.models import CMSPlugin
from cms.models.fields import PageField
Expand Down
2 changes: 1 addition & 1 deletion cmsplugin_filer_video/cms_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from cms.plugin_pool import plugin_pool
from cms.plugin_base import CMSPluginBase
from django.templatetags.static import static
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from cmsplugin_filer_video import settings
from cmsplugin_filer_video.models import FilerVideo
from cmsplugin_filer_video.forms import VideoForm
Expand Down
Loading

0 comments on commit b91fa31

Please sign in to comment.