notification system deployment - v2

This commit is contained in:
2025-10-06 14:02:12 +03:30
parent 7fad8b58b9
commit 02d7d40094
8 changed files with 86 additions and 11 deletions

View File

@@ -3,6 +3,7 @@ from apps.core.mixins.soft_delete_mixin import SoftDeleteMixin
from apps.core.mixins.search_mixin import DynamicSearchMixin
from apps.warehouse import models as warehouse_models
from common.helpers import get_organization_by_user
from apps.notification.models import Notification
from common.generics import base64_to_image_file
from common.liara_tools import upload_to_liara
from rest_framework.decorators import action
@@ -56,8 +57,9 @@ class InventoryEntryViewSet(SoftDeleteMixin, viewsets.ModelViewSet, DynamicSearc
# create inventory entry
inventory_balance = request.data['weight']
organization = get_organization_by_user(request.user)
request.data.update({
'organization': (get_organization_by_user(request.user)).id,
'organization': organization.id,
'balance': inventory_balance
})
serializer = self.serializer_class(data=request.data)
@@ -68,6 +70,15 @@ class InventoryEntryViewSet(SoftDeleteMixin, viewsets.ModelViewSet, DynamicSearc
if 'document' in request.data.keys():
self.upload_confirmation_document(request, inventory=inventory_entry.id)
# create notification for organization on pos device
Notification.objects.create(
organization=organization,
title=f" {inventory_entry.distribution.distribution_id} ورودی جدید به انبار از توزیع با کد ", # noqa
message=f' مقدار {inventory_entry.distribution.weight} کیلوگرم' # noqa
f' از توزیع با کد {inventory_entry.distribution.distribution_id} به انبار ورود خورده است ', # noqa
type='inventory',
)
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_403_FORBIDDEN)