* Updated field naming in some serializers

* Admin tweaks
* Settings editing only for admin
This commit is contained in:
Phil Zhitnikov 2024-05-30 21:01:30 +04:00
parent 8fb4e461e9
commit c37b0ed4b2
4 changed files with 10 additions and 9 deletions

View File

@ -7,13 +7,14 @@ from poizonstore.utils import PriceField
class GlobalSettingsSerializer(serializers.ModelSerializer): class GlobalSettingsSerializer(serializers.ModelSerializer):
yuan_rate = PriceField(source='full_yuan_rate', read_only=True) yuan_rate = PriceField(source='full_yuan_rate', read_only=True)
yuan_rate_commission = PriceField() yuan_rate_commission = PriceField()
chinadelivery = PriceField(source='delivery_price_CN') delivery_price_CN = PriceField()
commission = PriceField(source='commission_rub') commission_rub = PriceField()
pickup = serializers.CharField(source='pickup_address') pickup_address = serializers.CharField()
class Meta: class Meta:
model = GlobalSettings model = GlobalSettings
fields = ('yuan_rate', 'yuan_rate_last_updated', 'yuan_rate_commission', 'commission', 'chinadelivery', 'pickup', 'time_to_buy') fields = ('yuan_rate', 'yuan_rate_last_updated', 'yuan_rate_commission',
'commission_rub', 'delivery_price_CN', 'pickup_address', 'time_to_buy')
read_only_fields = ('yuan_rate_last_updated',) read_only_fields = ('yuan_rate_last_updated',)

View File

@ -1,13 +1,13 @@
from rest_framework import generics from rest_framework import generics
from account.permissions import IsManager, ReadOnly from account.permissions import ReadOnly, IsAdmin
from core.models import GlobalSettings from core.models import GlobalSettings
from core.serializers import GlobalSettingsSerializer, AnonymousGlobalSettingsSerializer from core.serializers import GlobalSettingsSerializer, AnonymousGlobalSettingsSerializer
class GlobalSettingsAPI(generics.RetrieveUpdateAPIView): class GlobalSettingsAPI(generics.RetrieveUpdateAPIView):
serializer_class = GlobalSettingsSerializer serializer_class = GlobalSettingsSerializer
permission_classes = [IsManager | ReadOnly] permission_classes = [IsAdmin | ReadOnly]
def get_serializer_class(self): def get_serializer_class(self):
if getattr(self.request.user, 'is_manager', False): if getattr(self.request.user, 'is_manager', False):

View File

@ -18,7 +18,7 @@ class ImageAdmin(admin.ModelAdmin):
@admin.register(Checklist) @admin.register(Checklist)
class ChecklistAdmin(admin.ModelAdmin): class ChecklistAdmin(admin.ModelAdmin):
list_display = ('id', 'brand', 'model', 'price_rub', 'commission_rub', 'full_price', 'date', 'status_display') list_display = ('id', 'brand', 'model', 'price_rub', 'commission_rub', 'full_price', 'date', 'status_display', 'customer')
ordering = ('-status_updated_at', '-created_at') ordering = ('-status_updated_at', '-created_at')
@display(description='Статус') @display(description='Статус')

View File

@ -38,11 +38,11 @@ class CategoryChecklistSerializer(serializers.ModelSerializer):
class CategorySerializer(serializers.ModelSerializer): class CategorySerializer(serializers.ModelSerializer):
chinarush = PriceField(source='delivery_price_CN_RU') delivery_price_CN_RU = PriceField()
class Meta: class Meta:
model = Category model = Category
fields = ('id', 'name', 'chinarush', 'commission') fields = ('id', 'name', 'delivery_price_CN_RU', 'commission')
class CategoryFullSerializer(CategorySerializer): class CategoryFullSerializer(CategorySerializer):