Skip to content

Commit e00e3fc

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 3a9d5c7 + ff2602c commit e00e3fc

File tree

7 files changed

+56
-17
lines changed

7 files changed

+56
-17
lines changed

.github/workflows/test.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,30 @@ jobs:
88
strategy:
99
fail-fast: false
1010
matrix:
11-
python-version: ['3.10', '3.11', '3.12']
11+
python-version: [3.8, 3.9, '3.10', '3.11', '3.12']
1212
requirements-file: [
1313
django-4.2.txt,
1414
django-5.0.txt,
15+
django-5.1.txt,
1516
django-main.txt,
1617
]
1718
custom-image-model: [false, true]
1819
os: [
1920
ubuntu-20.04,
2021
]
22+
exclude:
23+
- requirements-file: django-5.0.txt
24+
python-version: 3.8
25+
- requirements-file: django-5.0.txt
26+
python-version: 3.9
27+
- requirements-file: django-5.1.txt
28+
python-version: 3.8
29+
- requirements-file: django-5.1.txt
30+
python-version: 3.9
31+
- requirements-file: django-main.txt
32+
python-version: 3.8
33+
- requirements-file: django-main.txt
34+
python-version: 3.9
2135

2236
steps:
2337
- uses: actions/checkout@v1
@@ -34,11 +48,11 @@ jobs:
3448
run: |
3549
python -m pip install --upgrade pip
3650
pip install -r tests/requirements/${{ matrix.requirements-file }}
37-
python setup.py install
51+
pip install -e .
3852
- name: Enable the custom image model
3953
run: echo "CUSTOM_IMAGE=custom_image.Image" >> $GITHUB_ENV
4054
if: ${{ matrix.custom-image-model }}
4155
- name: Run coverage
42-
run: coverage run tests/settings.py
56+
run: coverage run ./tests/settings.py
4357
- name: Upload Coverage to Codecov
4458
uses: codecov/codecov-action@v1

CHANGELOG.rst

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22
CHANGELOG
33
=========
44

5+
3.2.2 (2024-09-09)
6+
==================
7+
8+
* fix: Remove version pin to Django<5.1
9+
10+
3.2.1 (2024-09-05)
11+
==================
12+
13+
* fix: Restore python 3.8 and python 3.9 compatibility
14+
515
3.2.0 (2024-08-23)
616
==================
717

@@ -734,7 +744,7 @@ CHANGELOG
734744

735745

736746
0.5.4a1
737-
=======
747+
========
738748

739749
* Adds description field.
740750

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ for all the details on how to install, configure and use django-filer.
5454
:target: http://badge.fury.io/py/django-filer
5555
.. |coverage| image:: https://codecov.io/gh/django-cms/django-filer/branch/master/graph/badge.svg
5656
:target: https://codecov.io/gh/django-cms/django-filer
57-
.. |python| image:: https://img.shields.io/badge/python-3.8+-blue.svg
57+
.. |python| image:: https://img.shields.io/badge/python-3.10+-blue.svg
5858
:target: https://pypi.org/project/django-filer/
5959
.. |django| image:: https://img.shields.io/badge/django-3.2+-blue.svg
6060
:target: https://www.djangoproject.com/

filer/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
8. Publish the release and it will automatically release to pypi
1414
"""
1515

16-
__version__ = '3.2.0'
16+
__version__ = '3.2.2'

filer/cache.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import typing
22

3-
from django.contrib.auth import get_user_model
3+
from django.db.models import Model
44
from django.core.cache import cache
55

66

7-
User = get_user_model()
7+
UserModel = typing.TypeVar('UserModel', bound=Model)
88

99

10-
def get_folder_perm_cache_key(user: User, permission: str) -> str:
10+
def get_folder_perm_cache_key(user: UserModel, permission: str) -> str:
1111
"""
1212
Generates a unique cache key for a given user and permission.
1313
@@ -18,7 +18,9 @@ def get_folder_perm_cache_key(user: User, permission: str) -> str:
1818
for far more than 1,000 admin users to make the cached unit require less memory.
1919
2020
Parameters:
21-
user (User): The user for whom the cache key is being generated.
21+
user (UserModel): The user for whom the cache key is being generated.
22+
The `user` can be an instance of the default `django.contrib.auth.models.User`
23+
or any custom user model specified by `AUTH_USER_MODEL` in the settings.
2224
permission (str): The permission for which the cache key is being generated.
2325
2426
Returns:
@@ -27,15 +29,17 @@ def get_folder_perm_cache_key(user: User, permission: str) -> str:
2729
return f"filer:perm:{permission}"
2830

2931

30-
def get_folder_permission_cache(user: User, permission: str) -> typing.Optional[dict]:
32+
def get_folder_permission_cache(user: UserModel, permission: str) -> typing.Optional[dict]:
3133
"""
3234
Retrieves the cached folder permissions for a given user and permission.
3335
3436
If the cache value exists, it returns the permissions for the user.
3537
If the cache value does not exist, it returns None.
3638
3739
Parameters:
38-
user (User): The user for whom the permissions are being retrieved.
40+
user (UserModel): The user for whom the permissions are being retrieved.
41+
The `user` can be an instance of the default `django.contrib.auth.models.User`
42+
or any custom user model specified by `AUTH_USER_MODEL` in the settings.
3943
permission (str): The permission for which the permissions are being retrieved.
4044
4145
Returns:
@@ -47,15 +51,17 @@ def get_folder_permission_cache(user: User, permission: str) -> typing.Optional[
4751
return None
4852

4953

50-
def clear_folder_permission_cache(user: User, permission: typing.Optional[str] = None) -> None:
54+
def clear_folder_permission_cache(user: UserModel, permission: typing.Optional[str] = None) -> None:
5155
"""
5256
Clears the cached folder permissions for a given user.
5357
5458
If a specific permission is provided, it clears the cache for that permission only.
5559
If no specific permission is provided, it clears the cache for all permissions.
5660
5761
Parameters:
58-
user (User): The user for whom the permissions are being cleared.
62+
user (UserModel): The user for whom the permissions are being cleared.
63+
The `user` can be an instance of the default `django.contrib.auth.models.User`
64+
or any custom user model specified by `AUTH_USER_MODEL` in the settings.
5965
permission (str, optional): The specific permission to clear. Defaults to None.
6066
"""
6167
if permission is None:
@@ -65,7 +71,7 @@ def clear_folder_permission_cache(user: User, permission: typing.Optional[str] =
6571
cache.delete(get_folder_perm_cache_key(user, permission))
6672

6773

68-
def update_folder_permission_cache(user: User, permission: str, id_list: list[int]) -> None:
74+
def update_folder_permission_cache(user: UserModel, permission: str, id_list: typing.List[int]) -> None:
6975
"""
7076
Updates the cached folder permissions for a given user and permission.
7177
@@ -74,7 +80,9 @@ def update_folder_permission_cache(user: User, permission: str, id_list: list[in
7480
Finally, it sets the updated permissions back into the cache.
7581
7682
Parameters:
77-
user (User): The user for whom the permissions are being updated.
83+
user (UserModel): The user for whom the permissions are being updated.
84+
The `user` can be an instance of the default `django.contrib.auth.models.User`
85+
or any custom user model specified by `AUTH_USER_MODEL` in the settings.
7886
permission (str): The permission to update.
7987
id_list (list): The list of IDs to set as the new permissions.
8088
"""

setup.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66

77
REQUIREMENTS = [
8-
'django>=3.2,<5.1',
8+
'django>=3.2',
99
'django-polymorphic',
1010
'easy-thumbnails[svg]',
1111
]
@@ -30,11 +30,14 @@
3030
'Programming Language :: Python :: 3.9',
3131
'Programming Language :: Python :: 3.10',
3232
'Programming Language :: Python :: 3.11',
33+
'Programming Language :: Python :: 3.12',
3334
'Framework :: Django',
3435
'Framework :: Django :: 3.2',
3536
'Framework :: Django :: 4.0',
3637
'Framework :: Django :: 4.1',
3738
'Framework :: Django :: 4.2',
39+
'Framework :: Django :: 5.0',
40+
'Framework :: Django :: 5.1',
3841
'Framework :: Django CMS',
3942
'Framework :: Django CMS :: 3.8',
4043
'Framework :: Django CMS :: 3.9',

tests/requirements/django-5.1.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-r base.txt
2+
3+
django>=5.1a1,<5.2
4+
django_polymorphic>=3.1

0 commit comments

Comments
 (0)