Skip to content

Commit 1f27bb1

Browse files
authored
Merge branch 'main' into PLAT-1907
2 parents 00a0d61 + 0823d9c commit 1f27bb1

31 files changed

+3467
-426
lines changed

.github/workflows/other.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
pull_request:
55
branches:
66
- main
7+
pull_request:
8+
branches:
9+
- main
710

811
jobs:
912
lint:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,6 @@ postgres_data/
168168
rabbitmq_data/
169169
redis_data/
170170

171+
finmars-core.iml
172+
171173
*.sql

poms/api/serializers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def get_help_raw(self, obj):
125125
class SplitDateRangeSerializer(serializers.Serializer):
126126
start_date = serializers.DateField(required=True, format=API_DATE_FORMAT)
127127
end_date = serializers.DateField(required=True, format=API_DATE_FORMAT)
128-
frequency = serializers.CharField(required=True, max_length=1, help_text="D (dayly), W, M, Q, Y, C")
128+
frequency = serializers.CharField(required=True, max_length=1, help_text=f"{', '.join(VALID_FREQUENCY)}")
129129
is_only_bday = serializers.BooleanField(required=True)
130130

131131
def validate(self, data):
@@ -134,7 +134,7 @@ def validate(self, data):
134134
frequency = data.get("frequency")
135135

136136
if start_date > end_date:
137-
raise serializers.ValidationError("Start date cannot be after end date.")
137+
raise serializers.ValidationError("start_date can't be after end_date.")
138138

139139
if frequency not in VALID_FREQUENCY:
140140
raise serializers.ValidationError(
@@ -150,7 +150,7 @@ class PickDatesFromRangeSerializer(SplitDateRangeSerializer):
150150

151151
class CalcPeriodDateSerializer(serializers.Serializer):
152152
date = serializers.DateField(required=True, format=API_DATE_FORMAT)
153-
frequency = serializers.CharField(required=True, max_length=1, help_text="D (dayly), W, M, Q, Y, C")
153+
frequency = serializers.CharField(required=True, max_length=1, help_text=f"{', '.join(VALID_FREQUENCY)}")
154154
is_only_bday = serializers.BooleanField(required=True)
155155
shift = serializers.IntegerField(required=True)
156156
start = serializers.BooleanField(required=True)

poms/api/views.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1448,12 +1448,12 @@ def create(self, request, *args, **kwargs):
14481448
serializer = self.get_serializer(data=request.data)
14491449
serializer.is_valid(raise_exception=True)
14501450

1451-
date = serializer.validated_data["date"]
1451+
input_date = serializer.validated_data["date"]
14521452
frequency = serializer.validated_data["frequency"]
14531453
shift = serializer.validated_data["shift"]
14541454
is_only_bday = serializer.validated_data["is_only_bday"]
14551455
start = serializer.validated_data["start"]
1456-
dates = calculate_period_date(date, frequency, shift, is_only_bday, start)
1456+
dates = calculate_period_date(input_date, frequency, shift, is_only_bday, start)
14571457

14581458
return Response({"result": dates}, status=status.HTTP_200_OK)
14591459

@@ -1481,10 +1481,10 @@ class LastBusinessDayViewSet(AbstractViewSet):
14811481
def create(self, request, *args, **kwargs):
14821482
serializer = self.get_serializer(data=request.data)
14831483
serializer.is_valid(raise_exception=True)
1484-
date = serializer.validated_data["date"]
1485-
date = get_last_business_day(date, True)
1484+
input_date = serializer.validated_data["date"]
1485+
input_date = get_last_business_day(input_date, True)
14861486

1487-
return Response({"result": date}, status=status.HTTP_200_OK)
1487+
return Response({"result": input_date}, status=status.HTTP_200_OK)
14881488

14891489

14901490
class IsBusinessDayViewSet(AbstractViewSet):
@@ -1493,9 +1493,9 @@ class IsBusinessDayViewSet(AbstractViewSet):
14931493
def create(self, request, *args, **kwargs):
14941494
serializer = self.get_serializer(data=request.data)
14951495
serializer.is_valid(raise_exception=True)
1496-
date = serializer.validated_data["date"]
1496+
input_date = serializer.validated_data["date"]
14971497

1498-
return Response({"result": is_business_day(date)}, status=status.HTTP_200_OK)
1498+
return Response({"result": is_business_day(input_date)}, status=status.HTTP_200_OK)
14991499

15001500

15011501
class LastDayOfMonthViewSet(AbstractViewSet):
@@ -1504,7 +1504,7 @@ class LastDayOfMonthViewSet(AbstractViewSet):
15041504
def create(self, request, *args, **kwargs):
15051505
serializer = self.get_serializer(data=request.data)
15061506
serializer.is_valid(raise_exception=True)
1507-
date = serializer.validated_data["date"]
1508-
date = last_day_of_month(date)
1507+
input_date = serializer.validated_data["date"]
1508+
input_date = last_day_of_month(input_date)
15091509

1510-
return Response({"result": date}, status=status.HTTP_200_OK)
1510+
return Response({"result": input_date}, status=status.HTTP_200_OK)

poms/clients/fields.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from poms.clients.models import Client
2+
from poms.common.fields import PrimaryKeyRelatedFilteredField
3+
4+
5+
class ClientField(PrimaryKeyRelatedFilteredField):
6+
queryset = Client.objects

poms/clients/serializers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
)
1717

1818

19-
class ClientsSerializer(ModelWithUserCodeSerializer):
19+
class ClientSerializer(ModelWithUserCodeSerializer):
2020
master_user = MasterUserField()
2121

2222
portfolios = serializers.PrimaryKeyRelatedField(queryset=Portfolio.objects.all(), many=True, required=False)
@@ -180,7 +180,7 @@ def __init__(self, *args, **kwargs):
180180
super().__init__(*args, **kwargs)
181181
self.fields["user_code"] = UserCodeField()
182182
self.fields["deleted_user_code"] = UserCodeField(read_only=True)
183-
self.fields["client_object"] = ClientsSerializer(source="client", many=False, read_only=True)
183+
self.fields["client_object"] = ClientSerializer(source="client", many=False, read_only=True)
184184

185185
def create(self, validated_data):
186186
instance = super().create(validated_data)

poms/clients/views.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from poms.clients.filters import ClientSecretFilterSet, ClientsFilterSet
44
from poms.clients.models import Client, ClientSecret
5-
from poms.clients.serializers import ClientSecretSerializer, ClientsSerializer
5+
from poms.clients.serializers import ClientSecretSerializer, ClientSerializer
66
from poms.common.views import AbstractModelViewSet
77
from poms.users.filters import OwnerByMasterUserFilter
88

@@ -15,7 +15,7 @@ class ClientsViewSet(AbstractModelViewSet):
1515
OwnerByMasterUserFilter,
1616
]
1717
filterset_class = ClientsFilterSet
18-
serializer_class = ClientsSerializer
18+
serializer_class = ClientSerializer
1919
ordering_fields = [
2020
"user_code",
2121
"name",
@@ -27,7 +27,7 @@ class ClientsViewSet(AbstractModelViewSet):
2727
detail=False,
2828
methods=["get"],
2929
url_path="light",
30-
serializer_class=ClientsSerializer,
30+
serializer_class=ClientSerializer,
3131
)
3232
def list_light(self, request, *args, **kwargs):
3333
queryset = self.filter_queryset(self.get_queryset())

poms/common/authentication.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def authenticate_credentials(self, key, request=None):
111111
# raise exceptions.AuthenticationFailed(msg)
112112
try:
113113
userinfo = self.keycloak.userinfo(key)
114-
except Exception:
114+
except Exception as e:
115115
msg = _("Invalid or expired token.")
116116
raise exceptions.AuthenticationFailed(msg) from e # noqa: F821
117117

0 commit comments

Comments
 (0)