Skip to content

Commit 3603f77

Browse files
Merge pull request #1825 from IFRCGo/develop
Small backend-release before big changes
2 parents f17392e + 661fe9d commit 3603f77

File tree

8 files changed

+262
-90
lines changed

8 files changed

+262
-90
lines changed

CHANGELOG.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
66

77
## Unreleased
88

9+
## 1.1.481
10+
11+
### Added
12+
- Put back caching
13+
- DREF regional permission views
14+
- DREF account page and users behaviour
15+
- Add more columns to AppealDocument Admin list
16+
917
## 1.1.480
1018

1119
### Added
@@ -2242,7 +2250,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
22422250

22432251
## 0.1.20
22442252

2245-
[Unreleased]: https://github.com/IFRCGo/go-api/compare/1.1.480...HEAD
2253+
[Unreleased]: https://github.com/IFRCGo/go-api/compare/1.1.481...HEAD
2254+
[1.1.481]: https://github.com/IFRCGo/go-api/compare/1.1.480...1.1.481
22462255
[1.1.480]: https://github.com/IFRCGo/go-api/compare/1.1.479...1.1.480
22472256
[1.1.479]: https://github.com/IFRCGo/go-api/compare/1.1.478...1.1.479
22482257
[1.1.478]: https://github.com/IFRCGo/go-api/compare/1.1.477...1.1.478

api/admin.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,9 +402,13 @@ def save_model(self, request, obj, form, change):
402402

403403

404404
class AppealDocumentAdmin(CompareVersionAdmin, RegionRestrictedAdmin, TranslationAdmin):
405+
def appeal_document_label(self, obj):
406+
return '%s - %s' % (obj.appeal, obj.name)
407+
405408
country_in = 'appeal__country__in'
406409
region_in = 'appeal__region__in'
407-
search_fields = ('name', 'appeal__code', 'appeal__name')
410+
list_display = ('appeal_document_label', 'description', 'iso', 'created_at')
411+
search_fields = ('name', 'appeal__code', 'appeal__name', 'description', 'iso__name')
408412

409413
def get_queryset(self, request):
410414
return super().get_queryset(request).select_related('appeal')

api/drf_views.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
from django.db.models import Prefetch, Count, Q, OuterRef
1515
from django.utils import timezone
1616

17-
# ¤ from django.utils.decorators import method_decorator
18-
# ¤ from django.views.decorators.cache import cache_page
19-
2017
from main.utils import is_tableau
2118
from deployments.models import Personnel
2219
from databank.serializers import CountryOverviewSerializer
@@ -683,7 +680,6 @@ def remove_unconfirmed_events(self, objs):
683680
return [self.remove_unconfirmed_event(obj) for obj in objs]
684681

685682
# Overwrite to exclude the events which require confirmation
686-
# ¤ @method_decorator(cache_page(1200))
687683
def list(self, request, *args, **kwargs):
688684
now = timezone.now()
689685
date = request.GET.get("date", now)

dref/serializers.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -179,17 +179,11 @@ class Meta:
179179
]
180180

181181
def get_operational_update_details(self, obj):
182-
type_of_dref = self.context['view'].kwargs.get('type_of_dref')
183-
queryset = DrefOperationalUpdate.objects.filter(dref_id=obj.id)
184-
if type_of_dref:
185-
queryset = queryset.filter(type_of_dref=type_of_dref)
182+
queryset = DrefOperationalUpdate.objects.filter(dref_id=obj.id).order_by('-created_at')
186183
return MiniOperationalUpdateSerializer(queryset, many=True).data
187184

188185
def get_final_report_details(self, obj):
189-
type_of_dref = self.context['view'].kwargs.get('type_of_dref')
190186
queryset = DrefFinalReport.objects.filter(dref_id=obj.id)
191-
if type_of_dref:
192-
queryset = queryset.filter(type_of_dref=type_of_dref)
193187
return MiniDrefFinalReportSerializer(queryset, many=True).data
194188

195189
def get_has_ops_update(self, obj):

dref/views.py

Lines changed: 233 additions & 61 deletions
Large diffs are not rendered by default.

main/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
from .celery import app as celery_app
44

55
__all__ = ['celery_app']
6-
__version__ = '1.1.480'
6+
__version__ = '1.1.481'

main/settings.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,9 @@
213213
'django.middleware.locale.LocaleMiddleware',
214214
# 'middlewares.middlewares.LocaleMiddleware',
215215
'django.contrib.auth.middleware.AuthenticationMiddleware',
216-
# ¤ 'middlewares.cache.UpdateCacheForUserMiddleware',
216+
'middlewares.cache.UpdateCacheForUserMiddleware',
217217
'django.middleware.common.CommonMiddleware',
218-
# ¤ 'middlewares.cache.FetchFromCacheForUserMiddleware',
218+
'middlewares.cache.FetchFromCacheForUserMiddleware',
219219
'django.middleware.csrf.CsrfViewMiddleware',
220220
'django.contrib.messages.middleware.MessageMiddleware',
221221
'django.middleware.clickjacking.XFrameOptionsMiddleware',

middlewares/cache.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
from re import sub
21
from django.conf import settings
32
from django.middleware.cache import FetchFromCacheMiddleware, UpdateCacheMiddleware
4-
from django.utils.cache import get_cache_key
53
from rest_framework.views import APIView
64

75

@@ -10,20 +8,19 @@ def get_cache_key_prefix(request):
108
drf_request = APIView().initialize_request(request)
119

1210
if drf_request.user.is_anonymous:
13-
user_id = 'anonymous'
14-
else:
15-
user_id = drf_request.user.id
16-
if not cache_prefix:
17-
return f'user_{user_id}'
18-
19-
return f'{cache_prefix}_user_{user_id}'
11+
return f'{cache_prefix}_anonymous'
12+
2013

2114
class UpdateCacheForUserMiddleware(UpdateCacheMiddleware):
2215
def process_response(self, request, response):
23-
self.key_prefix = get_cache_key_prefix(request)
24-
return super().process_response(request, response)
16+
if key_prefix := get_cache_key_prefix(request):
17+
self.key_prefix = key_prefix
18+
return super().process_response(request, response)
19+
return response
20+
2521

2622
class FetchFromCacheForUserMiddleware(FetchFromCacheMiddleware):
2723
def process_request(self, request):
28-
self.key_prefix = get_cache_key_prefix(request)
29-
return super().process_request(request)
24+
if key_prefix := get_cache_key_prefix(request):
25+
self.key_prefix = key_prefix
26+
return super().process_request(request)

0 commit comments

Comments
 (0)