Skip to content
Snippets Groups Projects
Verified Commit a8ac41ba authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch 'master' of edugit.org:AlekSIS/official/AlekSIS

parents 0e7f1278 60074c21
No related branches found
No related tags found
No related merge requests found
Pipeline #2029 failed
...@@ -2,7 +2,6 @@ from typing import Any, List, Optional, Tuple ...@@ -2,7 +2,6 @@ from typing import Any, List, Optional, Tuple
import django.apps import django.apps
from django.http import HttpRequest from django.http import HttpRequest
from django.core.files.uploadedfile import TemporaryUploadedFile
from dynamic_preferences.registries import preference_models from dynamic_preferences.registries import preference_models
...@@ -65,7 +64,7 @@ class CoreConfig(AppConfig): ...@@ -65,7 +64,7 @@ class CoreConfig(AppConfig):
if new_value: if new_value:
Favicon.on_site.update_or_create( Favicon.on_site.update_or_create(
title=name, title=name,
defaults={"isFavicon": name == "favicon", "faviconImage": new_value, }, defaults={"isFavicon": name == "favicon", "faviconImage": new_value,},
) )
else: else:
Favicon.on_site.filter(title=name, isFavicon=is_favicon).delete() Favicon.on_site.filter(title=name, isFavicon=is_favicon).delete()
......
# flake8: noqa: DJ12
from datetime import datetime from datetime import datetime
from typing import Any, Callable, List, Optional, Tuple, Union from typing import Any, Callable, List, Optional, Tuple, Union
......
# flake8: noqa: DJ01
from datetime import date, datetime from datetime import date, datetime
from typing import Iterable, List, Optional, Sequence, Union from typing import Iterable, List, Optional, Sequence, Union
...@@ -81,7 +83,7 @@ class Person(ExtensibleModel): ...@@ -81,7 +83,7 @@ class Person(ExtensibleModel):
) )
short_name = models.CharField( short_name = models.CharField(
verbose_name=_("Short name"), max_length=255, blank=True, null=True, unique=True # noqa verbose_name=_("Short name"), max_length=255, blank=True, null=True, unique=True # noqa
) )
street = models.CharField(verbose_name=_("Street"), max_length=255, blank=True) street = models.CharField(verbose_name=_("Street"), max_length=255, blank=True)
...@@ -151,16 +153,15 @@ class Person(ExtensibleModel): ...@@ -151,16 +153,15 @@ class Person(ExtensibleModel):
@property @property
def mail_sender(self) -> str: def mail_sender(self) -> str:
"""E-mail sender in "Name <email>" format.""" """E-mail sender in "Name <email>" format."""
return f"\"{self.addressing_name}\" <{self.email}>" return f'"{self.addressing_name}" <{self.email}>'
@property @property
def mail_sender_via(self) -> str: def mail_sender_via(self) -> str:
"""E-mail sender for via addresses, in "Name via Site <email>" format.""" """E-mail sender for via addresses, in "Name via Site <email>" format."""
site_mail = get_site_preferences()["mail__address"] site_mail = get_site_preferences()["mail__address"]
site_name = get_site_preferences()["general__title"] site_name = get_site_preferences()["general__title"]
return f"\"{self.addressing_name} via {site_name}\" <{site_mail}>" return f'"{self.addressing_name} via {site_name}" <{site_mail}>'
@property @property
def age(self): def age(self):
...@@ -271,7 +272,7 @@ class Group(ExtensibleModel): ...@@ -271,7 +272,7 @@ class Group(ExtensibleModel):
name = models.CharField(verbose_name=_("Long name"), max_length=255, unique=True) name = models.CharField(verbose_name=_("Long name"), max_length=255, unique=True)
short_name = models.CharField( short_name = models.CharField(
verbose_name=_("Short name"), max_length=255, unique=True, blank=True, null=True # noqa verbose_name=_("Short name"), max_length=255, unique=True, blank=True, null=True # noqa
) )
members = models.ManyToManyField( members = models.ManyToManyField(
......
...@@ -653,3 +653,5 @@ else: ...@@ -653,3 +653,5 @@ else:
HAYSTACK_SIGNAL_PROCESSOR = "haystack.signals.RealtimeSignalProcessor" HAYSTACK_SIGNAL_PROCESSOR = "haystack.signals.RealtimeSignalProcessor"
HAYSTACK_SEARCH_RESULTS_PER_PAGE = 10 HAYSTACK_SEARCH_RESULTS_PER_PAGE = 10
DJANGO_EASY_AUDIT_WATCH_REQUEST_EVENTS = False
...@@ -11,7 +11,6 @@ def add_class_to_el(value: str, arg: str) -> str: ...@@ -11,7 +11,6 @@ def add_class_to_el(value: str, arg: str) -> str:
Example: {{ mymodel.myhtmlfield|add_class_to_el:"ul,browser-default" Example: {{ mymodel.myhtmlfield|add_class_to_el:"ul,browser-default"
""" """
el, cls = arg.split(",") el, cls = arg.split(",")
soup = BeautifulSoup(value, "html.parser") soup = BeautifulSoup(value, "html.parser")
......
...@@ -228,6 +228,6 @@ def objectgetter_optional( ...@@ -228,6 +228,6 @@ def objectgetter_optional(
if id_ is not None: if id_ is not None:
return get_object_or_404(model, pk=id_) return get_object_or_404(model, pk=id_)
else: else:
return eval(default) if default_eval else default return eval(default) if default_eval else default # noqa:S307
return get_object return get_object
...@@ -6,9 +6,9 @@ from haystack import indexes ...@@ -6,9 +6,9 @@ from haystack import indexes
Indexable = indexes.Indexable # noqa Indexable = indexes.Indexable # noqa
if settings.HAYSTACK_SIGNAL_PROCESSOR == "celery_haystack.signals.CelerySignalProcessor": if settings.HAYSTACK_SIGNAL_PROCESSOR == "celery_haystack.signals.CelerySignalProcessor":
from haystack.indexes import SearchIndex as BaseSearchIndex
else:
from celery_haystack.indexes import CelerySearchIndex as BaseSearchIndex from celery_haystack.indexes import CelerySearchIndex as BaseSearchIndex
else:
from haystack.indexes import SearchIndex as BaseSearchIndex
class SearchIndex(BaseSearchIndex): class SearchIndex(BaseSearchIndex):
......
Subproject commit 5794ef636b70c617cca8e2ed14ed0f8ff0b038d9 Subproject commit 92d8f90e75e2fff730875d98b58c482b8f9e0363
Subproject commit 83d471417a1e1b9e4ed693a66291163b900240ba Subproject commit ecc06365dd1aa3c87663044864a3bb1cde978777
Subproject commit fce4605a878e073ce883d4b0abe7194d0ce2f554 Subproject commit 4bc8252c6b1ccc67e9a05767c837a4bb04e11a50
Subproject commit 352b2391bc1cf5bfb5ab7420af77b5657d325c1a Subproject commit 4d485ae182f2dce869cd68aa0879744b26ed3e19
Subproject commit e66f07400539b7e0c948cb35f7c460387e3d0a89 Subproject commit 32395aeaefc1a999b5290fc07095ba79629113f7
...@@ -222,10 +222,11 @@ description = "An app for integrating Celery with Haystack." ...@@ -222,10 +222,11 @@ description = "An app for integrating Celery with Haystack."
name = "celery-haystack" name = "celery-haystack"
optional = true optional = true
python-versions = "*" python-versions = "*"
version = "0.3.1" version = "0.7.2"
[package.dependencies] [package.dependencies]
django-appconf = ">=0.2.1" django-appconf = ">=0.4.1"
django-celery-transactions = ">=0.1.2"
[[package]] [[package]]
category = "main" category = "main"
...@@ -424,6 +425,18 @@ version = "1.2.1" ...@@ -424,6 +425,18 @@ version = "1.2.1"
[package.dependencies] [package.dependencies]
celery = ">=4.4,<5.0" celery = ">=4.4,<5.0"
[[package]]
category = "main"
description = "Django transaction support for Celery tasks."
name = "django-celery-transactions"
optional = true
python-versions = "*"
version = "0.3.6"
[package.dependencies]
Django = ">=1.2.4"
celery = ">=2.2.7"
[[package]] [[package]]
category = "main" category = "main"
description = "Django admin CKEditor integration." description = "Django admin CKEditor integration."
...@@ -485,7 +498,6 @@ six = "*" ...@@ -485,7 +498,6 @@ six = "*"
reference = "7bee176d6a832c200d255bcd1e9d12c85cb1d4f8" reference = "7bee176d6a832c200d255bcd1e9d12c85cb1d4f8"
type = "git" type = "git"
url = "https://github.com/hansegucker/django-dynamic-preferences" url = "https://github.com/hansegucker/django-dynamic-preferences"
[[package]] [[package]]
category = "main" category = "main"
description = "Yet another Django audit log app, hopefully the simplest one." description = "Yet another Django audit log app, hopefully the simplest one."
...@@ -703,6 +715,10 @@ version = "3.0.1" ...@@ -703,6 +715,10 @@ version = "3.0.1"
Django = ">=1.11.3" Django = ">=1.11.3"
babel = "*" babel = "*"
[package.dependencies.phonenumbers]
optional = true
version = ">=7.0.2"
[package.extras] [package.extras]
phonenumbers = ["phonenumbers (>=7.0.2)"] phonenumbers = ["phonenumbers (>=7.0.2)"]
phonenumberslite = ["phonenumberslite (>=7.0.2)"] phonenumberslite = ["phonenumberslite (>=7.0.2)"]
...@@ -2120,7 +2136,7 @@ celery = ["Celery", "django-celery-results", "django-celery-beat", "django-celer ...@@ -2120,7 +2136,7 @@ celery = ["Celery", "django-celery-results", "django-celery-beat", "django-celer
ldap = ["django-auth-ldap"] ldap = ["django-auth-ldap"]
[metadata] [metadata]
content-hash = "08a5c2dd2f9c67d2148f46157d7ca0b2694aa9e4fe719c5a313a02a14852ee7f" content-hash = "87813ab4f21b0c03f2150f7569c65fd6c8a29297d0585db468fcbcddb2e15a58"
python-versions = "^3.7" python-versions = "^3.7"
[metadata.files] [metadata.files]
...@@ -2186,7 +2202,7 @@ celery = [ ...@@ -2186,7 +2202,7 @@ celery = [
{file = "celery-4.4.2.tar.gz", hash = "sha256:108a0bf9018a871620936c33a3ee9f6336a89f8ef0a0f567a9001f4aa361415f"}, {file = "celery-4.4.2.tar.gz", hash = "sha256:108a0bf9018a871620936c33a3ee9f6336a89f8ef0a0f567a9001f4aa361415f"},
] ]
celery-haystack = [ celery-haystack = [
{file = "celery-haystack-0.3.1.tar.gz", hash = "sha256:49992712e67b1f39afd294dca6ba2820f2d262b3137ad14cb0c57a05fa218725"}, {file = "celery-haystack-0.7.2.tar.gz", hash = "sha256:5ee3dfb9d5c1b0cf13b5a8e38cf3cbbde9009fe4470042f3087485743b6971fb"},
] ]
certifi = [ certifi = [
{file = "certifi-2020.4.5.1-py2.py3-none-any.whl", hash = "sha256:1d987a998c75633c40847cc966fcf5904906c920a7f17ef374f5aa4282abd304"}, {file = "certifi-2020.4.5.1-py2.py3-none-any.whl", hash = "sha256:1d987a998c75633c40847cc966fcf5904906c920a7f17ef374f5aa4282abd304"},
...@@ -2287,6 +2303,9 @@ django-celery-results = [ ...@@ -2287,6 +2303,9 @@ django-celery-results = [
{file = "django_celery_results-1.2.1-py2.py3-none-any.whl", hash = "sha256:a29ab580f0e38c66c39f51cc426bbdbb2a391b8cc0867df9dea748db2c961db2"}, {file = "django_celery_results-1.2.1-py2.py3-none-any.whl", hash = "sha256:a29ab580f0e38c66c39f51cc426bbdbb2a391b8cc0867df9dea748db2c961db2"},
{file = "django_celery_results-1.2.1.tar.gz", hash = "sha256:e390f70cc43bbc2cd7c8e4607dc29ab6211a2ab968f93677583f0160921f670c"}, {file = "django_celery_results-1.2.1.tar.gz", hash = "sha256:e390f70cc43bbc2cd7c8e4607dc29ab6211a2ab968f93677583f0160921f670c"},
] ]
django-celery-transactions = [
{file = "django-celery-transactions-0.3.6.tar.gz", hash = "sha256:cdf966ec461e9ec736a7bedcf47cb219fc79ea86f2b39191cb258082dd4f4b33"},
]
django-ckeditor = [ django-ckeditor = [
{file = "django-ckeditor-5.9.0.tar.gz", hash = "sha256:e4d112851a72c5bf8b586e1c674d34084cab16d28f2553ad15cc770d1e9639c7"}, {file = "django-ckeditor-5.9.0.tar.gz", hash = "sha256:e4d112851a72c5bf8b586e1c674d34084cab16d28f2553ad15cc770d1e9639c7"},
{file = "django_ckeditor-5.9.0-py2.py3-none-any.whl", hash = "sha256:71c3c7bb46b0cbfb9712ef64af0d2a406eab233f44ecd7c42c24bdfa39ae3bde"}, {file = "django_ckeditor-5.9.0-py2.py3-none-any.whl", hash = "sha256:71c3c7bb46b0cbfb9712ef64af0d2a406eab233f44ecd7c42c24bdfa39ae3bde"},
......
...@@ -79,7 +79,7 @@ django-guardian = "^2.2.0" ...@@ -79,7 +79,7 @@ django-guardian = "^2.2.0"
rules = "^2.2" rules = "^2.2"
django-cache-memoize = "^0.1.6" django-cache-memoize = "^0.1.6"
django-haystack = {version="3.0b1", allow-prereleases = true} django-haystack = {version="3.0b1", allow-prereleases = true}
celery-haystack = {version="^0.3.1", optional=true} celery-haystack = {version="^0.7.0", optional=true}
django-dbbackup = "^3.3.0" django-dbbackup = "^3.3.0"
spdx-license-list = "^0.4.0" spdx-license-list = "^0.4.0"
license-expression = "^1.2" license-expression = "^1.2"
......
...@@ -48,7 +48,7 @@ commands = ...@@ -48,7 +48,7 @@ commands =
[flake8] [flake8]
max_line_length = 100 max_line_length = 100
exclude = migrations,tests exclude = migrations,tests
ignore = BLK100,E203,E231,W503,D100,D101,D102,D103,D104,D105,D106,D107,RST215,RST214,F821,F841,S106,T100,T101 ignore = BLK100,E203,E231,W503,D100,D101,D102,D103,D104,D105,D106,D107,RST215,RST214,F821,F841,S106,T100,T101,DJ05
[isort] [isort]
line_length = 100 line_length = 100
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment