Skip to content

Commit

Permalink
deps: django upgrade to 4.2
Browse files Browse the repository at this point in the history
  • Loading branch information
m4ra authored and goapunk committed Apr 10, 2024
1 parent 09e61cd commit 5300256
Show file tree
Hide file tree
Showing 16 changed files with 84 additions and 32 deletions.
9 changes: 8 additions & 1 deletion adhocracy-plus/config/settings/production.py
Expand Up @@ -2,7 +2,14 @@

DEBUG = False

STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
STORAGES = {
"default": {
"BACKEND": "django.core.files.storage.FileSystemStorage",
},
"staticfiles": {
"BACKEND": "whitenoise.storage.CompressedManifestStaticFilesStorage",
},
}

try:
from .local import *
Expand Down
6 changes: 4 additions & 2 deletions apps/activities/models.py
Expand Up @@ -25,8 +25,10 @@ class Activity(module_models.Item):
def get_absolute_url(self):
return self.project.get_absolute_url()

def save(self, *args, **kwargs):
def save(self, update_fields=None, *args, **kwargs):
self.description = html_transforms.clean_html_field(
self.description, "collapsible-image-editor"
)
super().save(*args, **kwargs)
if update_fields:
update_fields = {"description"}.union(update_fields)
super().save(update_fields=update_fields, *args, **kwargs)
23 changes: 23 additions & 0 deletions apps/cms/images/migrations/0004_alter_customrendition_file.py
@@ -0,0 +1,23 @@
# Generated by Django 4.2 on 2024-04-09 15:17

from django.db import migrations
import wagtail.images.models


class Migration(migrations.Migration):
dependencies = [
("a4_candy_cms_images", "0003_auto_20240208_1216"),
]

operations = [
migrations.AlterField(
model_name="customrendition",
name="file",
field=wagtail.images.models.WagtailImageField(
height_field="height",
storage=wagtail.images.models.get_rendition_storage,
upload_to=wagtail.images.models.get_rendition_upload_to,
width_field="width",
),
),
]
10 changes: 6 additions & 4 deletions apps/documents/models.py
Expand Up @@ -59,8 +59,8 @@ def next(self):
class Paragraph(base.TimeStampedModel):
name = models.CharField(max_length=120, blank=True)
text = CKEditor5Field(
config_name="image-editor", validators=[ImageAltTextValidator()]
)
config_name="image-editor", validators=[ImageAltTextValidator()]
)

weight = models.PositiveIntegerField()
chapter = models.ForeignKey(
Expand All @@ -78,9 +78,11 @@ class Meta:
def __str__(self):
return "{}_paragraph_{}".format(str(self.chapter), self.weight)

def save(self, *args, **kwargs):
def save(self, update_fields=None, *args, **kwargs):
self.text = transforms.clean_html_field(self.text, "image-editor")
super().save(*args, **kwargs)
if update_fields:
update_fields = {"text"}.union(update_fields)
super().save(update_fields=update_fields, *args, **kwargs)

def get_absolute_url(self):
return reverse(
Expand Down
6 changes: 4 additions & 2 deletions apps/ideas/models.py
Expand Up @@ -66,9 +66,11 @@ class Meta:
def __str__(self):
return self.name

def save(self, *args, **kwargs):
def save(self, update_fields=None, *args, **kwargs):
self.description = transforms.clean_html_field(self.description)
super().save(*args, **kwargs)
if update_fields:
update_fields = {"description"}.union(update_fields)
super().save(update_fields=update_fields, *args, **kwargs)


class Idea(AbstractIdea):
Expand Down
6 changes: 4 additions & 2 deletions apps/interactiveevents/models.py
Expand Up @@ -82,6 +82,8 @@ class ExtraFieldsInteractiveEvent(module_models.Item):
blank=True,
)

def save(self, *args, **kwargs):
def save(self, update_fields=None, *args, **kwargs):
self.live_stream = transforms.clean_html_field(self.live_stream, "video-editor")
super().save(*args, **kwargs)
if update_fields:
update_fields = {"live_stream"}.union(update_fields)
super().save(update_fields=update_fields, *args, **kwargs)
6 changes: 4 additions & 2 deletions apps/moderatorfeedback/models.py
Expand Up @@ -21,9 +21,11 @@ class ModeratorFeedback(UserGeneratedContentModel):
verbose_name=_("Official feedback"),
)

def save(self, *args, **kwargs):
def save(self, update_fields=None, *args, **kwargs):
self.feedback_text = transforms.clean_html_field(self.feedback_text)
super().save(*args, **kwargs)
if update_fields:
update_fields = {"feedback_text"}.union(update_fields)
super().save(update_fields=update_fields, *args, **kwargs)


class Moderateable(models.Model):
Expand Down
7 changes: 4 additions & 3 deletions apps/newsletters/models.py
Expand Up @@ -25,7 +25,6 @@


class Newsletter(UserGeneratedContentModel):

sender_name = models.CharField(max_length=254, verbose_name=_("Name"))
sender = models.EmailField(blank=True, verbose_name=_("Sender"))
subject = models.CharField(max_length=254, verbose_name=_("Subject"))
Expand Down Expand Up @@ -74,6 +73,8 @@ def replace_relative_media_urls(text):
text = re.sub(pattern, r"\1%s\2" % settings.WAGTAILADMIN_BASE_URL, text)
return text

def save(self, *args, **kwargs):
def save(self, update_fields=None, *args, **kwargs):
self.body = transforms.clean_html_field(self.body, "image-editor")
super().save(*args, **kwargs)
if update_fields:
update_fields = {"body"}.union(update_fields)
super().save(update_fields=update_fields, *args, **kwargs)
14 changes: 8 additions & 6 deletions apps/offlineevents/models.py
Expand Up @@ -29,10 +29,10 @@ class OfflineEvent(UserGeneratedContentModel):
)
date = models.DateTimeField(verbose_name=_("Date"))
description = CKEditor5Field(
config_name="collapsible-image-editor",
verbose_name=_("Description"),
validators=[ImageAltTextValidator()],
)
config_name="collapsible-image-editor",
verbose_name=_("Description"),
validators=[ImageAltTextValidator()],
)
project = models.ForeignKey(project_models.Project, on_delete=models.CASCADE)

objects = OfflineEventsQuerySet.as_manager()
Expand All @@ -43,9 +43,11 @@ class Meta:
def __str__(self):
return self.name

def save(self, *args, **kwargs):
def save(self, update_fields=None, *args, **kwargs):
self.description = transforms.clean_html_field(self.description, "image-editor")
super().save(*args, **kwargs)
if update_fields:
update_fields = {"description"}.union(update_fields)
super().save(update_fields=update_fields, *args, **kwargs)

@cached_property
def get_timeline_index(self):
Expand Down
6 changes: 4 additions & 2 deletions apps/organisations/models.py
Expand Up @@ -232,9 +232,11 @@ def get_absolute_url(self):
def has_social_share(self):
return self.twitter_handle or self.facebook_handle or self.instagram_handle

def save(self, *args, **kwargs):
def save(self, update_fields=None, *args, **kwargs):
self.imprint = transforms.clean_html_field(self.imprint)
super().save(*args, **kwargs)
if update_fields:
update_fields = {"imprint"}.union(update_fields)
super().save(update_fields=update_fields, *args, **kwargs)


class Member(models.Model):
Expand Down
6 changes: 4 additions & 2 deletions apps/topicprio/models.py
Expand Up @@ -66,9 +66,11 @@ def reference_number(self):
def __str__(self):
return self.name

def save(self, *args, **kwargs):
def save(self, update_fields=None, *args, **kwargs):
self.description = transforms.clean_html_field(self.description, "image-editor")
super().save(*args, **kwargs)
if update_fields:
update_fields = {"description"}.union(update_fields)
super().save(update_fields=update_fields, *args, **kwargs)

def get_absolute_url(self):
return reverse(
Expand Down
5 changes: 5 additions & 0 deletions changelog/7637.md
Expand Up @@ -11,3 +11,8 @@
- replace deprecated custom `delete()` method with `form_valid()` in relevant `apps/<app-name>/views.py`
- replace deprecated session LANGUAGE_SESSION_KEY with LANGUAGE_COOKIE_NAME cookie
- generate migrations for related name labels

- Django from 4.0 to 4.2
custom model save() methods should the update_fields keyword argument before calling super()
psycopg to 3.1.18
allauth to 0.55
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -17,7 +17,7 @@
"dependencies": {
"@fortawesome/fontawesome-free": "5.15.4",
"@maplibre/maplibre-gl-leaflet": "0.0.19",
"adhocracy4": "git+https://github.com/liqd/adhocracy4#ckeditor5-transition-a4",
"adhocracy4": "git+https://github.com/liqd/adhocracy4#30bf7363253d48ad39f0580e5b8a25b9a7eca1a4",
"autoprefixer": "10.4.14",
"bootstrap": "5.2.3",
"css-loader": "6.8.1",
Expand Down
6 changes: 3 additions & 3 deletions requirements/base.txt
@@ -1,5 +1,5 @@
# A4
git+https://github.com/liqd/adhocracy4.git@ckeditor5-transition-a4#egg=adhocracy4
git+https://github.com/liqd/adhocracy4.git@30bf7363253d48ad39f0580e5b8a25b9a7eca1a4#egg=adhocracy4

# Additional requirements
brotli==1.0.9
Expand All @@ -15,8 +15,8 @@ urllib3==2.0.3
redis==5.0.0

# Inherited a4-core requirements
Django== 4.0
django-allauth==0.54.0
Django== 4.2
django-allauth==0.55.0
git+https://github.com/liqd/django-autoslug.git@liqd2212#egg=django-autoslug
django-ckeditor==6.5.1
https://github.com/liqd/django-ckeditor-5/releases/download/v0.2.12-liqd/django_ckeditor_5-0.2.12-py3-none-any.whl
Expand Down
2 changes: 1 addition & 1 deletion requirements/dev.txt
Expand Up @@ -6,7 +6,7 @@ Faker==18.10.1
flake8==6.0.0
freezegun==1.2.2
isort==5.12.0
psycopg2-binary==2.9.6
psycopg[binary]==3.1.18
pytest==7.3.2
pytest-cov==4.1.0
pytest-django==4.5.2
Expand Down
2 changes: 1 addition & 1 deletion requirements/prod.txt
@@ -1,3 +1,3 @@
-r base.txt
gunicorn==20.1.0
psycopg2==2.9.6
psycopg[c]==3.1.18

0 comments on commit 5300256

Please sign in to comment.