Skip to content

Commit d1cb418

Browse files
Merge pull request #1617 from IFRCGo/develop
Fix timeout in Surgealert: Export All
2 parents b26bd90 + 5f5cb77 commit d1cb418

File tree

9 files changed

+250
-855
lines changed

9 files changed

+250
-855
lines changed

CHANGELOG.md

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

77
## Unreleased
88

9+
## 1.1.464
10+
11+
### Added
12+
- Fix timeout in Surgealert: Export All
13+
- Bump up some packages
14+
- Fix some settings
15+
916
## 1.1.463
1017

1118
### Added
@@ -2114,7 +2121,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
21142121

21152122
## 0.1.20
21162123

2117-
[Unreleased]: https://github.com/IFRCGo/go-api/compare/1.1.463...HEAD
2124+
[Unreleased]: https://github.com/IFRCGo/go-api/compare/1.1.464...HEAD
2125+
[1.1.464]: https://github.com/IFRCGo/go-api/compare/1.1.463...1.1.464
21182126
[1.1.463]: https://github.com/IFRCGo/go-api/compare/1.1.462...1.1.463
21192127
[1.1.462]: https://github.com/IFRCGo/go-api/compare/1.1.461...1.1.462
21202128
[1.1.461]: https://github.com/IFRCGo/go-api/compare/1.1.460...1.1.461

deployments/snapshots/snap_tests.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
'ns_with_ongoing_activities': 16,
2525
'projects_per_programme_type': [
2626
{
27-
'count': 8,
27+
'count': 7,
2828
'programme_type': 0,
2929
'programme_type_display': 'Bilateral'
3030
},
@@ -34,7 +34,7 @@
3434
'programme_type_display': 'Multilateral'
3535
},
3636
{
37-
'count': 4,
37+
'count': 5,
3838
'programme_type': 2,
3939
'programme_type_display': 'Domestic'
4040
}
@@ -88,12 +88,17 @@
8888
'primary_sector_display': 'CEA'
8989
},
9090
{
91-
'count': 2,
91+
'count': 1,
9292
'primary_sector': 3,
9393
'primary_sector_display': 'Migration'
9494
},
9595
{
9696
'count': 2,
97+
'primary_sector': 4,
98+
'primary_sector_display': 'Health'
99+
},
100+
{
101+
'count': 1,
97102
'primary_sector': 5,
98103
'primary_sector_display': 'DRR'
99104
},
@@ -433,10 +438,10 @@
433438
'target_total': 0
434439
},
435440
{
436-
'budget_amount_total': 5220000,
441+
'budget_amount_total': 4260000,
437442
'id': 33,
438-
'iso3': 'hNK',
439-
'name': 'country-lFoucligTrYZNfzfdSWfMLvoRjfavNEGPtQYlQIfZsPpOuhTPN',
443+
'iso3': 'STh',
444+
'name': 'country-GhslFoucligTrYZNfzfdSWfMLvoRjfavNEGPtQYlQIfZsPpOuh',
440445
'ongoing_projects': 1,
441446
'operation_types': [
442447
1
@@ -447,18 +452,18 @@
447452
'projects_per_sector': [
448453
{
449454
'count': 1,
450-
'primary_sector': 5,
451-
'primary_sector_display': 'DRR'
455+
'primary_sector': 4,
456+
'primary_sector_display': 'Health'
452457
}
453458
],
454-
'society_name': 'society-name-DMYIfFApbQgMPVWggwrZnUhBSCdfQshatRJHibAqQwyjPObObN',
459+
'society_name': 'society-name-NKDMYIfFApbQgMPVWggwrZnUhBSCdfQshatRJHibAqQwyjPObO',
455460
'target_total': 0
456461
},
457462
{
458-
'budget_amount_total': 3510000,
463+
'budget_amount_total': 3040000,
459464
'id': 35,
460-
'iso3': 'Bnz',
461-
'name': 'country-NUBFklsXHvwhvOCcmqmsYKfCZeQddoPOvFOcvIoPoPYtLrpOFs',
465+
'iso3': 'PYt',
466+
'name': 'country-fdGdNQeaEPjKNUBFklsXHvwhvOCcmqmsYKfCZeQddoPOvFOcvI',
462467
'ongoing_projects': 1,
463468
'operation_types': [
464469
1
@@ -469,11 +474,11 @@
469474
'projects_per_sector': [
470475
{
471476
'count': 1,
472-
'primary_sector': 3,
473-
'primary_sector_display': 'Migration'
477+
'primary_sector': 4,
478+
'primary_sector_display': 'Health'
474479
}
475480
],
476-
'society_name': 'society-name-JvnKNSlGzUnyLPRoqRfeZxiwArYgPzwdBsnTobwsdWUzKBxgrG',
481+
'society_name': 'society-name-LrpOFsFxdBnzJvnKNSlGzUnyLPRoqRfeZxiwArYgPzwdBsnTob',
477482
'target_total': 0
478483
}
479484
]

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.463'
6+
__version__ = '1.1.464'

main/settings.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66

77
from django.utils.translation import gettext_lazy as _
88
# from celery.schedules import crontab
9-
from requests.packages.urllib3.util.retry import Retry
9+
from urllib3.util.retry import Retry
1010

1111
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
12-
DEFAULT_AUTO_FIELD='django.db.models.AutoField'
12+
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
1313

1414
env = environ.Env(
1515
# Django
@@ -20,7 +20,7 @@
2020
DJANGO_MEDIA_ROOT=(str, os.path.join(BASE_DIR, 'media')),
2121
DJANGO_STATIC_URL=(str, '/static/'),
2222
DJANGO_STATIC_ROOT=(str, os.path.join(BASE_DIR, 'static')),
23-
DJANGO_ADDITIONAL_ALLOWED_HOSTS=(list, []), # Eg: api.go.ifrc.org,goadmin.ifrc.org,prddsgocdnapi.azureedge.net
23+
DJANGO_ADDITIONAL_ALLOWED_HOSTS=(list, []), # Eg: api.go.ifrc.org, goadmin.ifrc.org, dsgocdnapi.azureedge.net
2424
GO_ENVIRONMENT=(str, 'development'), # staging, production
2525
#
2626
API_FQDN=str, # sub-domain.domain.domain-extension
@@ -193,6 +193,7 @@
193193
'django.contrib.sessions.middleware.SessionMiddleware',
194194
'corsheaders.middleware.CorsMiddleware',
195195
'django.middleware.locale.LocaleMiddleware',
196+
# 'middlewares.middlewares.LocaleMiddleware',
196197
'django.middleware.common.CommonMiddleware',
197198
'django.middleware.csrf.CsrfViewMiddleware',
198199
'django.contrib.auth.middleware.AuthenticationMiddleware',
@@ -247,10 +248,10 @@
247248
}
248249

249250
AUTH_PASSWORD_VALIDATORS = [
250-
{'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', },
251-
{'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', },
252-
{'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', },
253-
{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', },
251+
{'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', },
252+
{'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', },
253+
{'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', },
254+
{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', },
254255
{'NAME': 'main.validators.NumberValidator', },
255256
{'NAME': 'main.validators.UppercaseValidator', },
256257
{'NAME': 'main.validators.LowercaseValidator', },

middlewares/middlewares.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def get_username():
3030

3131

3232
class RequestMiddleware:
33+
3334
def __init__(self, get_response):
3435
self.get_response = get_response
3536
# One-time configuration and initialization.
@@ -51,7 +52,8 @@ def __call__(self, request):
5152
setattr(_threadlocal, "request", request)
5253
return self.get_response(request)
5354

54-
def process_view(self, request, view_function, *args, **kwargs):
55+
@staticmethod
56+
def process_view(request, view_function, *args, **kwargs):
5557
# NOTE: For POST raise error on non default language
5658
request_match = request.resolver_match
5759
reject_the_request = (

notifications/drf_views.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ def get_queryset(self):
4242
limit = 14 # days
4343
cond1 = Q(is_stood_down=True)
4444
cond2 = Q(end__lt=datetime.utcnow().replace(tzinfo=timezone.utc)-timedelta(days=limit))
45-
return SurgeAlert.objects.exclude(cond1 & cond2)
45+
return super().get_queryset().\
46+
select_related('country').\
47+
exclude(cond1 & cond2) # 'event' inclusion ^ to _related needs frontend change, otherwise the Position column shows garbage in /alerts/all
4648

4749

4850
class SubscriptionViewset(viewsets.ModelViewSet):

notifications/serializers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
from rest_framework import serializers
22

3-
from api.serializers import MiniEventSerializer, ListEventSerializer, MiniCountrySerializer
3+
from api.serializers import MiniEventSerializer, SurgeEventSerializer, MiniCountrySerializer
44
from lang.serializers import ModelSerializer
55

66
from .models import SurgeAlert, Subscription
77
from deployments.serializers import MolnixTagSerializer
88

99

1010
class SurgeAlertSerializer(ModelSerializer):
11-
event = ListEventSerializer()
11+
event = SurgeEventSerializer()
1212
country = MiniCountrySerializer()
1313
atype_display = serializers.CharField(source='get_atype_display', read_only=True)
1414
category_display = serializers.CharField(source='get_category_display', read_only=True)

0 commit comments

Comments
 (0)