Compare commits
3 Commits
a3be30ab4c
...
bad6bfb4c0
| Author | SHA1 | Date | |
|---|---|---|---|
| bad6bfb4c0 | |||
| 849457a051 | |||
| 8f0096946f |
|
|
@ -1,9 +1,9 @@
|
|||
from django.urls import path, include
|
||||
from rest_framework.routers import DefaultRouter
|
||||
|
||||
from account import views
|
||||
from poizonstore.utils import get_drf_router
|
||||
|
||||
router = DefaultRouter()
|
||||
router = get_drf_router()
|
||||
router.register("users", views.UserViewSet)
|
||||
|
||||
urlpatterns = [
|
||||
|
|
|
|||
|
|
@ -7,13 +7,14 @@ from poizonstore.utils import PriceField
|
|||
class GlobalSettingsSerializer(serializers.ModelSerializer):
|
||||
yuan_rate = PriceField(source='full_yuan_rate', read_only=True)
|
||||
yuan_rate_commission = PriceField()
|
||||
chinadelivery = PriceField(source='delivery_price_CN')
|
||||
commission = PriceField(source='commission_rub')
|
||||
pickup = serializers.CharField(source='pickup_address')
|
||||
delivery_price_CN = PriceField()
|
||||
commission_rub = PriceField()
|
||||
pickup_address = serializers.CharField()
|
||||
|
||||
class Meta:
|
||||
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',)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
from django.urls import path
|
||||
from rest_framework.routers import DefaultRouter
|
||||
|
||||
from poizonstore.utils import get_drf_router
|
||||
from . import views
|
||||
|
||||
router = DefaultRouter()
|
||||
router = get_drf_router()
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
from rest_framework import generics
|
||||
|
||||
from account.permissions import IsManager, ReadOnly
|
||||
from account.permissions import ReadOnly, IsAdmin
|
||||
from core.models import GlobalSettings
|
||||
from core.serializers import GlobalSettingsSerializer, AnonymousGlobalSettingsSerializer
|
||||
|
||||
|
||||
class GlobalSettingsAPI(generics.RetrieveUpdateAPIView):
|
||||
serializer_class = GlobalSettingsSerializer
|
||||
permission_classes = [IsManager | ReadOnly]
|
||||
permission_classes = [IsAdmin | ReadOnly]
|
||||
|
||||
def get_serializer_class(self):
|
||||
if getattr(self.request.user, 'is_manager', False):
|
||||
|
|
|
|||
|
|
@ -17,9 +17,11 @@ Including another URLconf
|
|||
from django.conf import settings
|
||||
from django.conf.urls.static import static
|
||||
from django.contrib import admin
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.urls import path, include
|
||||
from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView
|
||||
|
||||
from account.permissions import IsAdmin
|
||||
|
||||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
|
|
@ -31,8 +33,7 @@ urlpatterns = [
|
|||
+ static(settings.STATIC_URL)
|
||||
|
||||
# API schema
|
||||
if settings.DEBUG:
|
||||
urlpatterns += [
|
||||
path('api/schema/', SpectacularAPIView.as_view(), name='schema'),
|
||||
path('api/redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'),
|
||||
path('api/schema/', permission_required([IsAdmin])(SpectacularAPIView.as_view()), name='schema'),
|
||||
path('api/redoc/', permission_required([IsAdmin])(SpectacularRedocView.as_view(url_name='schema')), name='redoc'),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
from functools import reduce
|
||||
|
||||
from django.conf import settings
|
||||
from django_filters import DateFromToRangeFilter as _DateFromToRangeFilter
|
||||
from rest_framework.fields import DecimalField
|
||||
from rest_framework.routers import SimpleRouter, DefaultRouter
|
||||
|
||||
|
||||
class PriceField(DecimalField):
|
||||
|
|
@ -20,3 +22,7 @@ class DateFromToRangeFilter(_DateFromToRangeFilter):
|
|||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.field.widget.suffixes = ['from', 'to']
|
||||
|
||||
|
||||
def get_drf_router():
|
||||
return DefaultRouter() if settings.DEBUG else SimpleRouter()
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ class ImageAdmin(admin.ModelAdmin):
|
|||
|
||||
@admin.register(Checklist)
|
||||
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')
|
||||
|
||||
@display(description='Статус')
|
||||
|
|
|
|||
|
|
@ -38,11 +38,11 @@ class CategoryChecklistSerializer(serializers.ModelSerializer):
|
|||
|
||||
|
||||
class CategorySerializer(serializers.ModelSerializer):
|
||||
chinarush = PriceField(source='delivery_price_CN_RU')
|
||||
delivery_price_CN_RU = PriceField()
|
||||
|
||||
class Meta:
|
||||
model = Category
|
||||
fields = ('id', 'name', 'chinarush', 'commission')
|
||||
fields = ('id', 'name', 'delivery_price_CN_RU', 'commission')
|
||||
|
||||
|
||||
class CategoryFullSerializer(CategorySerializer):
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
from django.urls import path
|
||||
from rest_framework.routers import DefaultRouter
|
||||
|
||||
from poizonstore.utils import get_drf_router
|
||||
from store import views
|
||||
|
||||
router = DefaultRouter()
|
||||
router = get_drf_router()
|
||||
|
||||
|
||||
router.register(r'checklist', views.ChecklistAPI, basename='checklist')
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user