diff --git a/core/apps/counterparty/serializers/counterparty.py b/core/apps/counterparty/serializers/counterparty.py index 98d5624..1e36205 100644 --- a/core/apps/counterparty/serializers/counterparty.py +++ b/core/apps/counterparty/serializers/counterparty.py @@ -66,3 +66,23 @@ class CounterpartyCreateSerializer(serializers.Serializer): balance_date=validated_data.get('balance_date'), comment=validated_data.get('comment'), ) + + +class CounterpartyUpdateSerializer(serializers.ModelSerializer): + class Meta: + model = Counterparty + fields = [ + 'inn', 'name', 'phone', 'type', 'folder', 'region', 'district', 'balance', + 'balance_currency', 'balance_date', 'comment' + ] + extra_kwargs = { + 'name': {'required': False}, + 'type': {'required': False}, + 'folder': {'required': False}, + 'region': {'required': False}, + 'district': {'required': False}, + 'balance': {'required': False}, + 'balance_currency': {'required': False}, + 'balance_date': {'required': False}, + 'comment': {'required': False} + } \ No newline at end of file diff --git a/core/apps/counterparty/urls.py b/core/apps/counterparty/urls.py index b5cdc20..63a7826 100644 --- a/core/apps/counterparty/urls.py +++ b/core/apps/counterparty/urls.py @@ -12,6 +12,7 @@ urlpatterns = [ path('/archive/', cp_views.ArchiveCounterpartyApiView.as_view()), path('archived/list/', cp_views.ArchivedCounterpartyListApiView.as_view()), path('/delete/', cp_views.CounterpartyDeleteApiView.as_view()), + path('/update/', cp_views.CounterpartyUpdateApiView.as_view()), ] )), path('counterparty_folder/', include( diff --git a/core/apps/counterparty/views/counterparty.py b/core/apps/counterparty/views/counterparty.py index ff2d863..6934050 100644 --- a/core/apps/counterparty/views/counterparty.py +++ b/core/apps/counterparty/views/counterparty.py @@ -69,4 +69,12 @@ class CounterpartyDeleteApiView(views.APIView): return Response( {'success': True, 'message': 'counterparty deleted'}, status=204 - ) \ No newline at end of file + ) + + +class CounterpartyUpdateApiView(generics.UpdateAPIView): + permission_classes = [HasRolePermission] + required_permissions = [] + lookup_field = 'id' + serializer_class = serializers.CounterpartyUpdateSerializer + queryset = Counterparty.objects.all()