diff --git a/panel/ProvinceOperator/serializers.py b/panel/ProvinceOperator/serializers.py index 5c1d1d9..915bf72 100644 --- a/panel/ProvinceOperator/serializers.py +++ b/panel/ProvinceOperator/serializers.py @@ -78,7 +78,8 @@ from panel.models import ( GuildsGeneralConfigs, StewardAppLogin, StewardRequest, RestrictionCarcassDistribution, AllowRegisterCodeForKillHouseFreeSaleBarInformation, AllowRegisterCodeForStewardFreeSaleBarInformation, LimitationForDirectPurchaseAndBarInformation, WarehouseArchive, SmsRecipient, MarketDailyLimitation, - HatchingArchivePercent, Representative, POSAccessLevel, DispenserInformation, KillHousePercentage + HatchingArchivePercent, Representative, POSAccessLevel, DispenserInformation, KillHousePercentage, + AllowRegisterCodeForStewardAllocation ) from panel.poultry.helpers import market_daily_limitation_info from panel.poultry.serializers import PoultryRequestSerializer, PoultrySerializer, \ @@ -6912,3 +6913,9 @@ class UserPOSMachineSerializer(serializers.ModelSerializer): class Meta: model = POSMachine fields = '__all__' + + +class AllowRegisterCodeForStewardAllocationSerializer(serializers.ModelSerializer): + class Meta: + model = AllowRegisterCodeForStewardAllocation + fields = ['id','key', 'active', 'time'] diff --git a/panel/ProvinceOperator/views.py b/panel/ProvinceOperator/views.py index 92cb782..ba1832d 100644 --- a/panel/ProvinceOperator/views.py +++ b/panel/ProvinceOperator/views.py @@ -137,7 +137,7 @@ from panel.ProvinceOperator.serializers import ( NewPOSMachineSerializer, TotalStewardRemainWeightSerializer, TotalGuildStewardWarehouseArchiveDashboardSerializer, MarketDailyLimitationSerializer, HatchingArchivePercentSerializer, POSMachineReadSerializer, POSMachineTransferSerializer, UserPOSMachineSerializer, DispenserInformationSerializer, NewDispenserSerializer, - RepresentativeSerializer, NewCombinedPosProductSerializer) + RepresentativeSerializer, NewCombinedPosProductSerializer, AllowRegisterCodeForStewardAllocationSerializer) from panel.ProvinceOperator.services.pos_transfer_service import POSTransferService from panel.ReportingPanel.views import get_gid from panel.admin import PROJECT_API_KEY @@ -27803,3 +27803,27 @@ def get_dispenser_user_info(request): ) person_data = person_response.json() return Response(person_data, status=status.HTTP_200_OK) + + + +class AllowRegisterCodeForStewardAllocationViewset(viewsets.ModelViewSet): + queryset = AllowRegisterCodeForStewardAllocation.objects.filter(trash=False) + permission_classes = [TokenHasReadWriteScope] + serializer_class = AllowRegisterCodeForStewardAllocationSerializer + + def get_object(self): + instance, created = AllowRegisterCodeForStewardAllocation.objects.get_or_create( + trash=False) + return instance + + def list(self, request, *args, **kwargs): + instance = self.get_object() + serializer = self.get_serializer(instance) + return Response(serializer.data, status=status.HTTP_200_OK) + + def update(self, request, *args, **kwargs): + instance = self.get_object() + serializer = self.get_serializer(instance, data=request.data, partial=True) + serializer.is_valid(raise_exception=True) + serializer.save() + return Response(serializer.data, status=status.HTTP_200_OK) \ No newline at end of file diff --git a/panel/urls.py b/panel/urls.py index 5498cdd..0564232 100644 --- a/panel/urls.py +++ b/panel/urls.py @@ -758,6 +758,8 @@ router.register(r'market-daily-limitation', province_views.MarketDailyLimitation basename="market-daily-limitation") router.register(r'hatching-archive-percent', province_views.HatchingArchivePercentViewset, basename="hatching-archive-percent") +router.register(r'allocations-register-code', province_views.AllowRegisterCodeForStewardAllocationViewset, + basename="allocations-register-code") router.register(r'index-weight-category', province_views.IndexWeightCategoryViewSet, basename="index-weight-category") router.register(r'drop-limit', province_views.PercentageDropLimitationViewset,