o
    Ej5                     @   sp  d dl mZ ddlT ddlT d dlmZmZmZmZ d dl	m
Z
 d dlmZ d dl mZ d dl mZ d d	lm Z d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ G dd dejZG dd dejZG dd dejZ G dd dejZ!G dd dejZ"G dd dejZ#G dd dej$Z%G dd dejZ&G dd  d ejZ'G d!d" d"ejZ(G d#d$ d$ejZ)G d%d& d&ej$Z*G d'd( d(ejZ+G d)d* d*ejZ,G d+d, d,ejZ-G d-d. d.ejZ.G d/d0 d0ejZ/G d1d2 d2ejZ0G d3d4 d4ejZ1G d5d6 d6ejZ2G d7d8 d8ejZ3G d9d: d:ejZ4G d;d< d<ejZ5G d=d> d>ejZ6G d?d@ d@ejZ7G dAdB dBej$Z8G dCdD dDejZ9G dEdF dFejZ:G dGdH dHejZ;G dIdJ dJejZ<G dKdL dLej$Z=G dMdN dNejZ>G dOdP dPejZ?G dQdR dRejZ@G dSdT dTejZAG dUdV dVejZBG dWdX dXejZCG dYdZ dZejDZEG d[d\ d\ejZFG d]d^ d^ejZGG d_d` d`ejZHG dadb dbejZIG dcdd ddeZJG dedf dfejKZLG dgdh dhej$ZMG didj djejZNG dkdl dlejZOG dmdn dnejZPG dodp dpejZQG dqdr drejZRG dsdt dtejZSG dudv dvejZTG dwdx dxejZUG dydz dzejZVG d{d| d|ejZWG d}d~ d~ejZXG dd dejZYG dd dejZZG dd dejZ[G dd dejZ\G dd dejZ]G dd dejZ^G dd dejZ_G dd deZ`G dd dZaG dd deaejZbG dd deaejZcG dd dejZdG dd dejZeG dd dejZfG dd dejZgG dd dejZhG dd dejZiG dd dejZjG dd dejZkG dd dejZlG dd dejZmG dd dejZnG dd dejZoG dd dejZpG dd dejZqG dd dejZrdS )    )generics   )*)APIKeyAuthenticationMobileTokenAuthenticationStandardSetPaginationDashboardTokenAuthentication)DjangoFilterBackend)JsonResponse)filtersstatus)rest_framework)Sum)Coalesce)timezone)APIView)Responsec                   @   s    e Zd Zg Zdd Zdd ZdS )GetCallBackInfoc                 O       t d|  t |j ti S NzURL:printbuild_absolute_uribodyr
   selfrequestargskwargs r    W/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/mama_care_api/shop/views.pyget      
zGetCallBackInfo.getc                 O   r   r   r   r   r    r    r!   post   r#   zGetCallBackInfo.postN)__name__
__module____qualname__querysetr"   r$   r    r    r    r!   r      s    r   c                   @   0   e Zd ZeegZegZg ZdZ	e
j ZeZdS )CurrencyDetailMobileViewidN)r%   r&   r'   r   r   authentication_classesr	   filter_backendsfilterset_fieldslookup_fieldCurrencyobjectsallr(   CurrencySerializerserializer_classr    r    r    r!   r*       s    
r*   c                   @   6   e Zd ZeegZegZg Ze	Z
ej dZeZdS )CurrencyListDashboardViewcreatedDateN)r%   r&   r'   r   r   r,   r	   r-   r.   r   pagination_classr0   r1   r2   order_byr(   r3   r4   r    r    r    r!   r6   -       r6   c                   @   r)   )CurrencyDetailDashboardViewr+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r0   r1   r2   r(   r3   r4   r    r    r    r!   r;   5       
r;   c                   @   :   e Zd ZeegZegZddgZe	Z
ej dZeZdS )!CurrencyLanguageListDashboardView
languageId
currencyIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   CurrencyLanguager1   r2   r9   r(   CurrencyLanguageSerializerr4   r    r    r    r!   r>   >       r>   c                   @   4   e Zd ZeegZegZddgZdZ	e
j ZeZdS )#CurrencyLanguageDetailDashboardViewr?   r@   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   rA   r1   r2   r(   rB   r4   r    r    r    r!   rE   F       
rE   c                   @   s4   e Zd ZeegZegZg Ze	Z
ejjddZeZdS )PaymentMethodListMobileViewT)	isEnabledN)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   PaymentMethodr1   filterr(   PaymentMethodSerializerr4   r    r    r    r!   rG   O   s    rG   c                   @   s0   e Zd ZeegZegZg Ze	Z
ej ZeZdS )PaymentMethodListDashboardViewN)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   rI   r1   r2   r(   rK   r4   r    r    r    r!   rL   Z   r<   rL   c                   @   r)   ) PaymentMethodDetailDashboardViewr+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   rI   r1   r2   r(   rK   r4   r    r    r    r!   rM   b   r<   rM   c                   @   r=   )&PaymentMethodLanguageListDashboardViewr?   paymentMethodIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   PaymentMethodLanguager1   r2   r9   r(   PaymentMethodLanguageSerializerr4   r    r    r    r!   rN   k   rC   rN   c                   @   rD   )(PaymentMethodLanguageDetailDashboardViewr?   rO   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   rP   r1   r2   r(   rQ   r4   r    r    r    r!   rR   s   rF   rR   c                   @   r5   )StoreListMobileViewr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   Storer1   r2   r9   r(   StoreSerializerr4   r    r    r    r!   rS   |   s    rS   c                   @   r5   )StoreListDashboardViewr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   rT   r1   r2   r9   r(   rU   r4   r    r    r    r!   rV      r:   rV   c                   @   r)   )StoreDetailDashboardViewr+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   rT   r1   r2   r(   rU   r4   r    r    r    r!   rW      r<   rW   c                   @   r=   )StoreLanguageListDashboardViewr?   storeIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   StoreLanguager1   r2   r9   r(   StoreLanguageSerializerr4   r    r    r    r!   rX      rC   rX   c                   @   rD   ) StoreLanguageDetailDashboardViewr?   rY   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   rZ   r1   r2   r(   r[   r4   r    r    r    r!   r\      rF   r\   c                   @   :   e Zd ZeegZegZg dZe	Z
ej dZeZdS )ShoppingAccountListMobileView)parentIdrY   
isSelectedr_   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   ShoppingAccountr1   r2   r9   r(   ShoppingAccountSerializerr4   r    r    r    r!   r^          r^   c                   @   rD   )ShoppingAccountDetailMobileViewr_   rY   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   ra   r1   r2   r(   rb   r4   r    r    r    r!   rd          
rd   c                   @   r=   ) ShoppingAccountListDashboardViewr_   rY   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   ra   r1   r2   r9   r(   rb   r4   r    r    r    r!   rf      rC   rf   c                   @   rD   )"ShoppingAccountDetailDashboardViewr_   rY   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   ra   r1   r2   r(   rb   r4   r    r    r    r!   rg      rF   rg   c                   @   s    e Zd ZeegZg Zdd ZdS )SetAddressBookDefaultViewc                 O   s   |j dd }|j dd }|d krtddi|d kr$tdditjj|d}| dkr8tdditjj|dj	d	d
 tjj|dj	dd
 t
ddid	dS )Nr_   addressBookIderrorzParent Id is requiredzAddress Book Id is requiredr+   r   No Records FoundF)r`   T	isSuccess)safe)query_paramsr"   serializersValidationErrorAddressBookr1   rJ   __len__excludeupdater
   )r   r   r   r   parentIdRequestri   dataListr    r    r!   r$      s   zSetAddressBookDefaultView.postN)r%   r&   r'   r   r   r,   r(   r$   r    r    r    r!   rh      s    rh   c                   @   6   e Zd ZeegZegZdgZdZ	e
Zej ZeZdS )AddressBookListMobileViewshoppingAccountIdr+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r8   rr   r1   r2   r(   AddressBookSerializerr4   r    r    r    r!   ry          
ry   c                   @   2   e Zd ZeegZegZdgZdZ	e
j ZeZdS )AddressBookDetailMobileViewrz   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   rr   r1   r2   r(   r{   r4   r    r    r    r!   r~          
r~   c                   @   rx   )AddressBookListDashboardViewrz   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r8   rr   r1   r2   r(   r{   r4   r    r    r    r!   r     r|   r   c                   @   r}   )AddressBookDetailDashboardViewrz   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   rr   r1   r2   r(   r{   r4   r    r    r    r!   r     r   r   c                   @   8   e Zd ZeegZegZdgZe	Z
ej dZeZdS )CollectionListMobileViewcollectionIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   
Collectionr1   r2   r9   r(   CollectionSerializerr4   r    r    r    r!   r   $  s    r   c                   @   r5   )CollectionListDashboardViewr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   r   r1   r2   r9   r(   r   r4   r    r    r    r!   r   /  r:   r   c                   @   r)   )CollectionDetailDashboardViewr+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   7  r<   r   c                   @   r=   )#CollectionLanguageListDashboardViewr?   r   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   CollectionLanguager1   r2   r9   r(   CollectionLanguageSerializerr4   r    r    r    r!   r   @  rC   r   c                   @   rD   )%CollectionLanguageDetailDashboardViewr?   r   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   H  rF   r   c                   @   s:   e Zd ZeegZegZddgZe	Z
ej dZeZdS )StoreCollectionListMobileViewr   rY   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   StoreCollectionr1   r2   r9   r(   StoreCollectionSerializerr4   r    r    r    r!   r   Q  rc   r   c                   @   s8   e Zd ZeegZegZddgZe	Z
ej  ZeZdS ) StoreCollectionListDashboardViewr   rY   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   r   r1   r2   r9   r(   r   r4   r    r    r    r!   r   \  s    r   c                   @   rD   )"StoreCollectionDetailDashboardViewr   rY   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   d  rF   r   c                   @   r5   )#SellerShippingCostListDashboardViewr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   SellerShippingCostr1   r2   r9   r(   SellerShippingCostSerializerr4   r    r    r    r!   r   m  r:   r   c                   @   r)   )%SellerShippingCostDetailDashboardViewr+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   u  r<   r   c                   @   s>   e Zd ZeegZegZddgZdZ	e
Zej dZeZdS )ShippingCostListDashboardView
skuPriceIdsellerShippingCostIdr+   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r8   ShippingCostr1   r2   r9   r(   ShippingCostSerializerr4   r    r    r    r!   r   ~  s    r   c                   @   rD   )ShippingCostDetailDashboardViewr   r   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r     re   r   c                   @   s:   e Zd ZeegZegZg Ze	Z
dZej dZeZdS )ProductDetailMobileViewr+   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   r/   Productr1   r2   r9   r(   ProductSerializerr4   r    r    r    r!   r     s    r   c                   @   r5   )ProductListDashboardViewr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   r   r1   r2   r9   r(   r   r4   r    r    r    r!   r     r:   r   c                   @   r)   )ProductDetailDashboardViewr+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r     r<   r   c                   @   r=   ) ProductLanguageListDashboardViewr?   	productIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   ProductLanguager1   r2   r9   r(   ProductLanguageSerializerr4   r    r    r    r!   r     rC   r   c                   @   rD   )"ProductLanguageDetailDashboardViewr?   r   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r     rF   r   c                   @      e Zd ZeegZdd ZdS )ProductFilterViewc                 C   s   |j t}|j t}|stdditjdS tjj	|d
 }|s+tdditjdS tjj	dd}tjj	dd}tt|t|idd	jt|t|idd	jd
gS )NmessagezCurrency header is requiredr   rk   zInvalid currencyT)collectionId__isnullF)contextmany)collectionssubCollections)headersr"   currencyKeylanguageKeyr   r   HTTP_400_BAD_REQUESTr0   r1   rJ   firstr   r   data)r   r   r@   r?   currencyr   r   r    r    r!   r"     sJ   zProductFilterView.getNr%   r&   r'   r   r   r,   r"   r    r    r    r!   r     s    r   c                   @   sJ   e Zd ZejddZejddZejddZejddZG dd dZ	dS )	ProductCollectionFilterr   )
field_namer   collectionId__collectionIdBcollectionId__collectionId__collection_storecollection__storeId_idc                   @   s   e Zd ZeZg dZdS )zProductCollectionFilter.Meta)r   r   mainCollectionIdrY   N)r%   r&   r'   ProductCollectionmodelfieldsr    r    r    r!   Meta  s    r   N)
r%   r&   r'   r   NumberFilterr   r   r   rY   r   r    r    r    r!   r     s    r   c                   @   sD   e Zd ZeegZeejgZ	e
ZdgZeZejjdddZeZdS )ProductCollectionListMobileView(productId__product_productlanguage__nameT)productId__isVisiblez-createdDateN)r%   r&   r'   r   r   r,   r	   searchfilterSearchFilterr-   r   filterset_classsearch_fieldsr   r8   r   r1   rJ   r9   r(   ProductCollectionSerializerr4   r    r    r    r!   r   
  s    
r   c                   @   s4   e Zd ZeegZegZddgZe	Z
ej ZeZdS )"ProductCollectionListDashboardViewr   r   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   r   r1   r2   r(   r   r4   r    r    r    r!   r     rF   r   c                   @   rD   )$ProductCollectionDetailDashboardViewr   r   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   !  rF   r   c                   @   r   )ProductOptionListDashboardViewr   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   ProductOptionr1   r2   r9   r(   ProductOptionSerializerr4   r    r    r    r!   r   *      r   c                   @   r}   ) ProductOptionDetailDashboardViewr   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   2      
r   c                   @   r=   )&ProductOptionLanguageListDashboardViewr?   productOptionIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   ProductOptionLanguager1   r2   r9   r(   ProductOptionLanguageSerializerr4   r    r    r    r!   r   ;  rC   r   c                   @   rD   )(ProductOptionLanguageDetailDashboardViewr?   r   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   C  rF   r   c                   @   r   )#ProductOptionValueListDashboardViewr   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   ProductOptionValuer1   r2   r9   r(   ProductOptionValueSerializerr4   r    r    r    r!   r   L  r   r   c                   @   r}   )%ProductOptionValueDetailDashboardViewr   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   T  r   r   c                   @   r=   )+ProductOptionValueLanguageListDashboardViewr?   productOptionValueIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   ProductOptionValueLanguager1   r2   r9   r(   $ProductOptionValueLanguageSerializerr4   r    r    r    r!   r   ]  rC   r   c                   @   rD   )-ProductOptionValueLanguageDetailDashboardViewr?   r   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   e  rF   r   c                   @   r   )SKUListDashboardViewr   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   SKUr1   r2   r9   r(   SKUSerializerr4   r    r    r    r!   r   n  r   r   c                   @   r}   )SKUDetailDashboardViewr   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r   v  r   r   c                   @   r=   )SKUOptionValueListDashboardViewoptionIdskuIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   SKUOptionValuer1   r2   r9   r(   SKUOptionValueSerializerr4   r    r    r    r!   r     rC   r   c                   @   rD   )!SKUOptionValueDetailDashboardViewr   r   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r     rF   r   c                   @   s<   e Zd ZeegZegZdgZdZ	e
Zej dZeZdS )SKUImageListDashboardViewr   r+   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r8   SKUImager1   r2   r9   r(   SKUImageSerializerr4   r    r    r    r!   r     s    r   c                   @   r}   )SKUImageDetailDashboardViewr   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r     r   r   c                   @   r]   )SKUPriceListDashboardViewr@   r   shippingCostIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   SKUPricer1   r2   r9   r(   SKUPriceSerializerr4   r    r    r    r!   r     rC   r   c                   @   4   e Zd ZeegZegZg dZdZ	e
j ZeZdS )SKUPriceDetailDashboardViewr   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r   r1   r2   r(   r   r4   r    r    r    r!   r     rF   r   c                   @   r   )GetSummaryMobileViewc                 C   s  |j dd }|j dd }|j dd }|d urt|}|d ur&t|}ntdditjj|d}d }|	 dkrA|d }ntddid }|d urS|j
j}ntdd	itjj|jd
}d}	d}
d}d}|D ]_}t||||jdddj}|	|d d d d |d d d d  |j 7 }	||d d d d |d d d d  |j 7 }||d d d d |d d d d  |j 7 }|
|j7 }
ql|rd}|| }||
||||	| dg}t|S ||
|	dg}t|S )N
isCheckoutrz   r_   rj   Shopping Account Id is requiredrk   r   zShopping Account not foundzCurrency not foundrz   g        1)r_   rz   r@   isDetail)r   sku	priceList	salePriceshippingCostoriginalPrice)rz   	cartCountsubTotaldeliverydiscount
grandTotal)rz   r   r   )ro   r"   boolintrp   rq   ra   r1   rJ   rs   rY   r@   Cartr+   CartSerializerr   quantityr   )r   r   r   rz   r_   selectShoppingAccountListselectedr   cartListr   countsalePriceTotaloriginalPriceTotalcartserr   r  dataMapr    r    r!   r"     sd   


222zGetSummaryMobileView.getNr   r    r    r    r!   r     s
    r   c                       sH   e Zd Zdd Zdd Zdd Zdd Z fd	d
Z fddZ  Z	S )CartValidationc                 C   s   dd|giiS )N	cartErrorrj   r    )r   errorMessager    r    r!   getError  s   zCartValidation.getErrorc                 C   s4   | j jdd }|d u rt| dt|}|S )Nrz   r   )r   ro   r"   rp   rq   r  r  )r   rz   r    r    r!   validateShoppingAccountId  s
   z(CartValidation.validateShoppingAccountIdc                 C   s(   t jj|djttddd}|d S )Nr   r  r   )
cart_countr  )r  r1   rJ   	aggregater   r   )r   rz   r  r    r    r!   getCartCount  s    zCartValidation.getCartCountc                 C   s   |dk rdS t | d)N   TzMaximum amount in cart is 20)rp   rq   r  )r   r   r    r    r!   validateCart  s   zCartValidation.validateCartc                    s(   |   }| |}| | t |S )N)r  r  r  superperform_create)r   
serializerrz   r   	__class__r    r!   r    s   

zCartValidation.perform_createc                    s   | j jdd }|d urt|}|  }| |}|rJ|jd }tjj	|j
|d}| dkrB|jd |d jk r:nt| dt| d| | t |S )NisRemover   )r   rz   r   r  z7The new quantity must be less than the current quantityrl   )r   ro   r"   r  r  r  validated_datar  r1   rJ   r+   rs   r  rp   rq   r  r  r  perform_update)r   r  r   rz   r   r   currentListr  r    r!   r"  $  s   


zCartValidation.perform_update)
r%   r&   r'   r  r  r  r  r  r"  __classcell__r    r    r  r!   r    s    r  c                   @   r=   )CartListMobileViewr   rz   z-idN)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   r  r1   r2   r9   r(   r  r4   r    r    r    r!   r%  :  rc   r%  c                   @   rD   )CartDetailMobileViewr   rz   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r  r1   r2   r(   r  r4   r    r    r    r!   r&  E  re   r&  c                   @   r=   )CartListDashboardViewr   rz   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   r  r1   r2   r9   r(   r  r4   r    r    r    r!   r'  R  rC   r'  c                   @   rD   )CartDetailDashboardViewr   rz   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r  r1   r2   r(   r  r4   r    r    r    r!   r(  Z  rF   r(  c                   @   r5   )OrderStatusListDashboardViewr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   OrderStatusr1   r2   r9   r(   OrderStatusSerializerr4   r    r    r    r!   r)  c  r:   r)  c                   @   r)   )OrderStatusDetailDashboardViewr+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r*  r1   r2   r(   r+  r4   r    r    r    r!   r,  k  r<   r,  c                   @   r=   )$OrderStatusLanguageListDashboardViewr?   orderStatusIdr7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   OrderStatusLanguager1   r2   r9   r(   OrderStatusLanguageSerializerr4   r    r    r    r!   r-  t  rC   r-  c                   @   rD   )&OrderStatusLanguageDetailDashboardViewr?   r.  r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r/  r1   r2   r(   r0  r4   r    r    r    r!   r1  |  rF   r1  c                   @   s$   e Zd ZeegZeZg Zdd Z	dS )PlaceOrderMobileViewc                 O   s&   | j |jd}|jdd | }|S )N)r   T)raise_exception)get_serializerr   is_validsave)r   r   r   r   r  resultr    r    r!   r$     s   zPlaceOrderMobileView.postN)
r%   r&   r'   r   r   r,   PlaceOrderSerializerr4   r(   r$   r    r    r    r!   r2    s    r2  c                   @   s4   e Zd ZeegZegZg dZe	Z
ej ZeZdS )OrderListMobileView)r.  rO   rY   rz   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   Orderr1   r2   r(   OrderSerializerr4   r    r    r    r!   r9    s    
r9  c                   @   r   )OrderDetailMobileViewrO   rY   rz   r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r:  r1   r2   r(   r;  r4   r    r    r    r!   r<    re   r<  c                   @   r]   )OrderListDashboardViewr=  r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   r:  r1   r2   r9   r(   r;  r4   r    r    r    r!   r>    rC   r>  c                   @   r   )OrderDetailDashboardViewr=  r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   r:  r1   r2   r(   r;  r4   r    r    r    r!   r?    rF   r?  c                   @   r]   )OrderItemListDashboardVieworderIdr   r@   r   r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   	OrderItemr1   r2   r9   r(   OrderItemSerializerr4   r    r    r    r!   r@    rC   r@  c                   @   r   )OrderItemDetailDashboardViewrA  r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   rC  r1   r2   r(   rD  r4   r    r    r    r!   rE    rF   rE  c                   @   r   ) ShippingAddressListDashboardViewrB  r7   N)r%   r&   r'   r   r   r,   r	   r-   r.   r   r8   ShippingAddressr1   r2   r9   r(   ShippingAddressSerializerr4   r    r    r    r!   rF    r   rF  c                   @   r}   )"ShippingAddressDetailDashboardViewrB  r+   N)r%   r&   r'   r   r   r,   r	   r-   r.   r/   rG  r1   r2   r(   rH  r4   r    r    r    r!   rI    r   rI  N)sr   r   modelsrp   common.viewsr   r   r   r   django_filters.rest_frameworkr	   django.httpr
   r   r   r   django_filtersdjango.db.modelsr   django.db.models.functionsr   django.utilsr   rest_framework.viewsr   rest_framework.responser   GenericAPIViewr   RetrieveUpdateDestroyAPIViewr*   ListCreateAPIViewr6   r;   r>   rE   ListAPIViewrG   rL   rM   rN   rR   rS   rV   rW   rX   r\   r^   rd   rf   rg   rh   ry   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   RetrieveAPIViewr   r   r   r   r   r   	FilterSetr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r%  r&  r'  r(  r)  r,  r-  r1  r2  r9  r<  r>  r?  r@  rE  rF  rI  r    r    r    r!   <module>   s    
						





			
	
		5						
	
	E5		
		