Skip to content

Commit cac1e68

Browse files
authored
Merge pull request #2945 from unicef/staging
Staging
2 parents 3274c1e + 36d92a9 commit cac1e68

File tree

105 files changed

+1121
-946
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+1121
-946
lines changed

Pipfile

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -19,69 +19,69 @@ sphinx = "*"
1919
vcrpy = "*"
2020

2121
[packages]
22-
azure-common = "==1.1.23"
22+
azure-common = "==1.1.26"
2323
azure-storage-blob = "==2.1.0"
2424
azure-storage-common = "==2.1.0"
25-
carto = "==1.8.1"
26-
celery = "==4.3"
25+
carto = "==1.11.2"
26+
celery = "==5.0.5"
2727
dj-database-url = "==0.5"
2828
dj-static = "==0.0.6"
29-
Django = "==2.2.7"
30-
django-appconf = "==1.0.3"
31-
django_celery_beat = "==1.5"
32-
django-celery-email = "==2.0.2"
33-
django_celery_results = "==1.1.2"
34-
django-contrib-comments = "==1.9.1"
35-
django-cors-headers = "==3.1.1"
36-
django-debug-toolbar = "==2.1"
37-
django-extensions = "==2.2.5"
38-
django-easy-pdf = "==0.1.1"
39-
django-filter = "==2.2"
40-
django-fsm = "==2.6.1"
41-
django-import-export = "==1.2"
29+
Django = "<3.0"
30+
django-appconf = "==1.0.4"
31+
django_celery_beat = "==2.1"
32+
django-celery-email = "==3.0.0"
33+
django_celery_results = "==2.0.0"
34+
django-contrib-comments = "==2.0.0"
35+
django-cors-headers = "==3.6.0"
36+
django-debug-toolbar = "==3.2"
37+
django-extensions = "==3.1.0"
38+
django-easy-pdf = "==0.1.1" # not maintained dj<3.0
39+
django-filter = "==2.4.0"
40+
django-fsm = "==2.7.1"
41+
django-import-export = "==2.5.0"
4242
django-js-asset = "==1.2.2"
43-
django-leaflet = "==0.25"
44-
django-logentry-admin = "==1.0.5"
45-
django-model-utils = "==3.2"
46-
django-ordered-model = "==3.3"
47-
django-post_office = "==3.2.1"
48-
django-redis-cache = "==2.1"
43+
django-leaflet = "==0.27.1"
44+
django-logentry-admin = "==1.0.6"
45+
django-model-utils = "==4.1.1"
46+
django-ordered-model = "==3.4.1"
47+
django-post_office = "==3.5.3"
48+
django-redis-cache = "==3.0"
4949
django-rest-swagger = "==2.2"
50-
django-storages = {extras = ["azure"],version = "==1.7.2"}
51-
django-tenants = "==2.2.3"
52-
django-timezone-field = "==3.1"
53-
django-waffle = "==0.18"
50+
django-storages = {extras = ["azure"],version = "==1.11.1"}
51+
django-tenants = "==3.2.1"
52+
django-timezone-field = "==4.1.1"
53+
django-waffle = "==2.0.0"
5454
djangorestframework-csv = "==2.1.0"
55-
djangorestframework-gis = "==0.14"
55+
djangorestframework-gis = "==0.16"
5656
djangorestframework-jwt = "==1.11.0"
5757
djangorestframework-recursive = "==0.1.2"
58-
djangorestframework-xml = "==1.4"
59-
djangorestframework = "==3.10.3"
60-
drf-nested-routers = "==0.91"
58+
djangorestframework-xml = "==2.0.0"
59+
djangorestframework = "==3.12.2"
60+
drf-nested-routers = "==0.92.5"
6161
drf-querystringfilter = "==1.0.0"
6262
etools-validator = "==0.3.4"
63-
flower = "==0.9.3"
63+
flower = "==0.9.5" # issue when locking
6464
GDAL = "==3.0.2"
6565
gunicorn = "<20.0"
6666
newrelic = "*"
67-
Pillow = "==6.2.1"
68-
psycopg2-binary = "==2.8.4"
67+
Pillow = "==8.1.0"
68+
psycopg2-binary = "==2.8.6"
6969
sentry-sdk = "*"
70-
requests = "==2.22"
71-
social-auth-app-django = "==3.1"
72-
social-auth-core = {extras = ["azuread"],version = "==3.2"}
73-
tenant-schemas-celery = "==0.2.1"
70+
requests = "==2.25.1"
71+
social-auth-app-django = "==4.0"
72+
social-auth-core = {extras = ["azuread"],version = "==3.3.3"}
73+
tenant-schemas-celery = "==1.0.1"
7474
unicef_attachments = "==0.9.0"
7575
unicef-djangolib = "==0.5.4"
76-
unicef-locations = "==1.8"
76+
unicef-locations = "==1.9"
7777
unicef_notification = "==0.2.1"
78-
unicef_restlib = "==0.5"
78+
unicef_restlib = "==0.6.1"
7979
unicef_snapshot = "==0.2.3"
8080
unicef-rest-export = "==0.5.3"
81-
xhtml2pdf = "==0.2.3"
81+
xhtml2pdf = "==0.2.5"
8282
unicef-vision = "==0.6"
8383
etools-offline = "==0.1.0"
84-
openpyxl = "==3.0.1" # need to be freeze
84+
openpyxl = "==3.0.5"
8585

8686
[requires]
8787
python_version = "3.7"

Pipfile.lock

Lines changed: 726 additions & 654 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/etools/applications/action_points/categories/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.db import models
2-
from django.utils.translation import ugettext_lazy as _
2+
from django.utils.translation import gettext_lazy as _
33

44
from model_utils import Choices
55
from model_utils.models import TimeStampedModel

src/etools/applications/action_points/export/renderers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from django.utils.translation import ugettext_lazy as _
1+
from django.utils.translation import gettext_lazy as _
22

33
from etools.applications.core.renderers import FriendlyCSVRenderer, ListSeperatorCSVRenderMixin
44

src/etools/applications/action_points/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from django.contrib.auth import get_user_model
33
from django.contrib.contenttypes.fields import GenericRelation
44
from django.db import connection, models
5-
from django.utils.translation import ugettext_lazy as _
5+
from django.utils.translation import gettext_lazy as _
66

77
from django_fsm import FSMField, transition
88
from model_utils import Choices, FieldTracker

src/etools/applications/action_points/serializers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.utils import timezone
2-
from django.utils.translation import ugettext_lazy as _
2+
from django.utils.translation import gettext_lazy as _
33

44
from django_comments.models import Comment
55
from rest_framework import serializers

src/etools/applications/action_points/transitions/conditions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from django.utils.translation import ugettext_lazy as _
1+
from django.utils.translation import gettext_lazy as _
22

33
from etools.applications.audit.transitions.conditions import BaseTransitionCheck
44

src/etools/applications/activities/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
from django.core.exceptions import ValidationError
33
from django.db import models
4-
from django.utils.translation import ugettext_lazy as _
4+
from django.utils.translation import gettext_lazy as _
55

66
from model_utils.managers import InheritanceManager
77

src/etools/applications/attachments/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.db import models
2-
from django.utils.translation import ugettext as _
2+
from django.utils.translation import gettext as _
33

44
from unicef_attachments.models import Attachment as NewAttachment
55

src/etools/applications/audit/management/commands/update_audit_permissions.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -367,11 +367,11 @@ def assign_permissions(self):
367367
self.follow_up_page,
368368
condition=final_engagement_condition
369369
)
370-
# self.add_permissions(
371-
# self.focal_point, 'edit',
372-
# self.follow_up_editable_page,
373-
# condition=final_engagement_condition
374-
# )
370+
self.add_permissions(
371+
self.focal_point, 'edit',
372+
self.follow_up_editable_page,
373+
condition=final_engagement_condition
374+
)
375375

376376
# action points related permissions. editable by focal point, author, assignee and assigner
377377
opened_action_point_condition = self.action_point_status(EngagementActionPoint.STATUSES.open)

src/etools/applications/audit/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from django.db.transaction import atomic
88
from django.utils import timezone
99
from django.utils.encoding import force_text
10-
from django.utils.translation import ugettext_lazy as _
10+
from django.utils.translation import gettext_lazy as _
1111

1212
from django_fsm import FSMField, transition
1313
from model_utils import Choices, FieldTracker

src/etools/applications/audit/purchase_order/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.db import models
2-
from django.utils.translation import ugettext_lazy as _
2+
from django.utils.translation import gettext_lazy as _
33

44
from model_utils.models import TimeStampedModel
55
from unicef_notification.utils import send_notification_with_template

src/etools/applications/audit/serializers/auditor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.contrib.auth import get_user_model
2-
from django.utils.translation import ugettext_lazy as _
2+
from django.utils.translation import gettext_lazy as _
33

44
from rest_framework import serializers
55
from unicef_restlib.fields import SeparatedReadWriteField

src/etools/applications/audit/serializers/engagement.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from copy import copy
22

3-
from django.utils.translation import ugettext as _
3+
from django.utils.translation import gettext as _
44

55
from rest_framework import serializers
66
from unicef_attachments.fields import AttachmentSingleFileField, FileTypeModelChoiceField

src/etools/applications/audit/serializers/export.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import itertools
22
from collections import OrderedDict
33

4-
from django.utils.translation import ugettext_lazy as _
4+
from django.utils.translation import gettext_lazy as _
55

66
from rest_framework import serializers
77
from unicef_attachments.serializers import AttachmentPDFSerializer

src/etools/applications/audit/serializers/mixins.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
from django.utils import timezone
3-
from django.utils.translation import ugettext_lazy as _
3+
from django.utils.translation import gettext_lazy as _
44

55
from rest_framework import serializers
66

src/etools/applications/audit/serializers/risks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import itertools
22

33
from django.db import models
4-
from django.utils.translation import ugettext_lazy as _
4+
from django.utils.translation import gettext_lazy as _
55

66
from rest_framework import serializers
77
from unicef_restlib.fields import WriteListSerializeFriendlyRecursiveField

src/etools/applications/audit/transitions/conditions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from django.core.exceptions import FieldDoesNotExist
55
from django.db import models
66
from django.utils.decorators import classonlymethod
7-
from django.utils.translation import ugettext as _
7+
from django.utils.translation import gettext as _
88

99
from rest_framework.serializers import ValidationError
1010

src/etools/applications/audit/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from django.db.models import Prefetch
44
from django.http import Http404
55
from django.utils import timezone
6-
from django.utils.translation import ugettext_lazy as _
6+
from django.utils.translation import gettext_lazy as _
77

88
from django_filters.rest_framework import DjangoFilterBackend
99
from easy_pdf.rendering import render_to_pdf_response

src/etools/applications/core/auth.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def create_user(strategy, details, backend, user=None, *args, **kwargs):
7070
}
7171

7272

73-
def user_details(strategy, details, user=None, *args, **kwargs):
73+
def user_details(strategy, details, backend, user=None, *args, **kwargs):
7474
# This is where we update the user
7575
# see what the property to map by is here
7676
if user:
@@ -97,7 +97,7 @@ def user_details(strategy, details, user=None, *args, **kwargs):
9797
# user.profile.country = country
9898
# user.profile.save()
9999

100-
return social_core_user.user_details(strategy, details, user, *args, **kwargs)
100+
return social_core_user.user_details(strategy, details, backend, user, *args, **kwargs)
101101

102102

103103
class CustomAzureADBBCOAuth2(AzureADB2COAuth2):

src/etools/applications/core/tests/test_auth.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,12 @@ def setUp(self):
8181

8282
def test_no_user(self):
8383
with patch(SOCIAL_USER_PATH, self.mock_social):
84-
r = auth.user_details("strategy", self.details, None)
84+
r = auth.user_details("strategy", self.details, None, None)
8585
self.assertEqual(r, "Returned")
8686
self.mock_social.user_details.assert_called_with(
8787
"strategy",
8888
self.details,
89+
None,
8990
None
9091
)
9192

@@ -96,11 +97,12 @@ def test_no_update(self):
9697
)
9798
self.details["business_area_code"] = user.profile.country.business_area_code
9899
with patch(SOCIAL_USER_PATH, self.mock_social):
99-
r = auth.user_details("strategy", self.details, user)
100+
r = auth.user_details("strategy", self.details, None, user)
100101
self.assertEqual(r, "Returned")
101102
self.mock_social.user_details.assert_called_with(
102103
"strategy",
103104
self.details,
105+
None,
104106
user
105107
)
106108

@@ -115,11 +117,12 @@ def test_no_profile_country(self):
115117
user.profile.save()
116118
self.assertIsNone(user.profile.country)
117119
with patch(SOCIAL_USER_PATH, self.mock_social):
118-
r = auth.user_details("strategy", self.details, user)
120+
r = auth.user_details("strategy", self.details, None, user)
119121
self.assertEqual(r, "Returned")
120122
self.mock_social.user_details.assert_called_with(
121123
"strategy",
122124
self.details,
125+
None,
123126
user
124127
)
125128
user_updated = get_user_model().objects.get(pk=user.pk)
@@ -137,11 +140,12 @@ def test_is_staff_update(self):
137140
self.details["idp"] = "UNICEF Azure AD"
138141
self.assertFalse(user.is_staff)
139142
with patch(SOCIAL_USER_PATH, self.mock_social):
140-
r = auth.user_details("strategy", self.details, user)
143+
r = auth.user_details("strategy", self.details, None, user)
141144
self.assertEqual(r, "Returned")
142145
self.mock_social.user_details.assert_called_with(
143146
"strategy",
144147
self.details,
148+
None,
145149
user
146150
)
147151
user_updated = get_user_model().objects.get(pk=user.pk)

src/etools/applications/environment/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from django.contrib.auth.models import Group
66
from django.db import connection, models
77
from django.utils import timezone
8-
from django.utils.translation import ugettext as _
8+
from django.utils.translation import gettext as _
99

1010
from waffle import managers
1111
from waffle.models import BaseModel, CACHE_EMPTY, set_flag

src/etools/applications/field_monitoring/analyze/serializers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class Meta:
3737
]
3838

3939
def get_planned_visits(self, obj):
40-
return 0
40+
return obj.hact_values["programmatic_visits"]["planned"]["total"] or 0
4141

4242
def get_days_since_visit(self, obj):
4343
return get_days_since_last_visit(obj)

0 commit comments

Comments
 (0)