1
0
forked from erp-dev/erp

feat: running on docker fully, and added rabbitmq/worker container

This commit is contained in:
2025-11-25 15:56:13 +08:00
parent cd6a2370fc
commit d90917e764
34 changed files with 2474 additions and 74 deletions

View File

@@ -1,6 +1,8 @@
from rest_framework import viewsets
from rest_framework.exceptions import PermissionDenied
from rest_framework.pagination import LimitOffsetPagination
from rest_framework.permissions import IsAuthenticated, DjangoModelPermissions
from django.contrib.auth.models import Permission
from . import serializers
@@ -68,17 +70,28 @@ class EmployeeTypeViewSet(BaseViewSet):
class CustomerViewSet(BaseViewSet):
queryset = serializers.basic_models.Customer.objects
serializer_class = serializers.CustomerSerializer
permission_classes = [IsAuthenticated, DjangoModelPermissions]
def perform_create(self, serializer):
merchant = self.request.user.employee.merchant
employee = self.request.user.employee
serializer.save(merchant=merchant, created_by=employee)
def can_view_all(self) -> bool:
return self.request.user.is_superuser or self.request.user.has_perm('basic_info.view_all_customers')
def get_queryset(self):
qs = super().get_queryset()
# 应用可见性过滤
from basic_info.services import CustomerVisibilityService
if self.can_view_all():
return qs.filter(merchant=self.request.user.employee.merchant)
return CustomerVisibilityService.filter_customers_for_employee(qs, self.request.user)
def has_permission(self, request, view):
if request.user.is_superuser or request.user.has_perm('basic_info.view_all_customer'):
return True
return super().has_permission(request, view)
class VehicleTypeViewSet(BaseViewSet):