diff --git a/aleksis/core/mixins.py b/aleksis/core/mixins.py index c034717c5bc217a412aadbcb1d201b26dbb74ccb..12dfa55eccbdf2ddead0d2440ca5f797bebda7eb 100644 --- a/aleksis/core/mixins.py +++ b/aleksis/core/mixins.py @@ -143,6 +143,12 @@ class ExtensibleModel(CRUDMixin): cls._safe_add(func, func.__name__) + @classmethod + def class_method(cls, func: Callable[[], Any], name: Optional[str] = None) -> None: + """ Adds the passed callable as a classmethod. """ + + cls._safe_add(classmethod(func), func.__name__) + @classmethod def field(cls, **kwargs) -> None: """ Adds the passed jsonstore field. Must be one of the fields in diff --git a/apps/official/AlekSIS-App-Alsijil b/apps/official/AlekSIS-App-Alsijil index bd516e09a6e651b7171a6d7b31f79c3e4a22892e..30e3f7163be7591d4770fc9621c75ded2108ee79 160000 --- a/apps/official/AlekSIS-App-Alsijil +++ b/apps/official/AlekSIS-App-Alsijil @@ -1 +1 @@ -Subproject commit bd516e09a6e651b7171a6d7b31f79c3e4a22892e +Subproject commit 30e3f7163be7591d4770fc9621c75ded2108ee79 diff --git a/apps/official/AlekSIS-App-Chronos b/apps/official/AlekSIS-App-Chronos index 455c9d1bb74ae0d727b654a54d8f7c0278308a4e..f899554d32d7948786522d8f66565d97aaeb5021 160000 --- a/apps/official/AlekSIS-App-Chronos +++ b/apps/official/AlekSIS-App-Chronos @@ -1 +1 @@ -Subproject commit 455c9d1bb74ae0d727b654a54d8f7c0278308a4e +Subproject commit f899554d32d7948786522d8f66565d97aaeb5021 diff --git a/apps/official/AlekSIS-App-DashboardFeeds b/apps/official/AlekSIS-App-DashboardFeeds index b89287de8e16e4f87691457a2569e3c16d728935..dd958dd14e76226516463a568d6a8db3c3c590de 160000 --- a/apps/official/AlekSIS-App-DashboardFeeds +++ b/apps/official/AlekSIS-App-DashboardFeeds @@ -1 +1 @@ -Subproject commit b89287de8e16e4f87691457a2569e3c16d728935 +Subproject commit dd958dd14e76226516463a568d6a8db3c3c590de diff --git a/apps/official/AlekSIS-App-Exlibris b/apps/official/AlekSIS-App-Exlibris index f1304db3bb4b8905269eb5f5079f3fe4630c4312..8cac01059cfdd9f89e0e8f020e9cccaf575bf534 160000 --- a/apps/official/AlekSIS-App-Exlibris +++ b/apps/official/AlekSIS-App-Exlibris @@ -1 +1 @@ -Subproject commit f1304db3bb4b8905269eb5f5079f3fe4630c4312 +Subproject commit 8cac01059cfdd9f89e0e8f020e9cccaf575bf534 diff --git a/poetry.lock b/poetry.lock index 3cd63a6623ce450777912eb7b931eaa985778452..8dc3741ef2061bec976601d225826ba65ac368d2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -318,17 +318,6 @@ version = "2.1.0" Django = ">=1.11" python-ldap = ">=3.1" -[[package]] -category = "main" -description = "Bootstrap support for Django projects" -name = "django-bootstrap4" -optional = false -python-versions = "*" -version = "1.1.1" - -[package.dependencies] -beautifulsoup4 = "*" - [[package]] category = "main" description = "Bulk update using one query over Django ORM." @@ -2118,10 +2107,6 @@ django-auth-ldap = [ {file = "django-auth-ldap-2.1.0.tar.gz", hash = "sha256:5f48232c85ddfa33e3573153e6080526ac2eef5e7ec9cf42b5c4ba3c62afb96d"}, {file = "django_auth_ldap-2.1.0-py3-none-any.whl", hash = "sha256:4d68d21058bd57a316a9e1fcd7a36d0f25d054d4d9d9ec85f766a4991176b454"}, ] -django-bootstrap4 = [ - {file = "django-bootstrap4-1.1.1.tar.gz", hash = "sha256:39f97cbce85eb66f6d76be2029bae171bd3863d0c6932b1c2dae7f299c569b90"}, - {file = "django_bootstrap4-1.1.1-py3-none-any.whl", hash = "sha256:0fcd84f8414a58b43df0b331c00c8b2f1786ae28f75f419b4d33b06fca43e0d1"}, -] django-bulk-update = [ {file = "django-bulk-update-2.2.0.tar.gz", hash = "sha256:5ab7ce8a65eac26d19143cc189c0f041d5c03b9d1b290ca240dc4f3d6aaeb337"}, {file = "django_bulk_update-2.2.0-py2.py3-none-any.whl", hash = "sha256:49a403392ae05ea872494d74fb3dfa3515f8df5c07cc277c3dc94724c0ee6985"}, diff --git a/pyproject.toml b/pyproject.toml index 33df6f829b2f78fa42be8264d1df04e4d5218ed5..0bfbed2a18deb1643c9cefb51012603d1d504815 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,6 @@ classifiers = [ python = "^3.7" Django = "^3.0" django-any-js = "^1.0" -django-bootstrap4 = "^1.0" django-debug-toolbar = "^2.0" django-easy-audit = {version ="^1.2rc1", allow-prereleases = true} django-middleware-global-request = "^0.1.2"