
    J{h7                         S SK r S SKrS SKJr  S SKJr  S SKJr  S SK7  S SK	7  S SK
r
 " S S\5      r " S S	\5      r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      rg)    N)JsonResponse)View)Image)*c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
UpdateDepartmentVisibility   c                 j   SnSnUb  UnSnUb  Sn[         R                  R                  US9nUR                  SS9nUR                  5       UR                  5       :X  a  SnUS:X  aG  U H  n	SU	l        U	R                  5         US-   nM!     XgR                  5       :X  a  SnSnX#4$ SnS	n X#4$ SnS
nX#4$ )NFzRequired a Numberr   id__gteT	isVisible   All records have been updated!Not All records have been updated#All the records are already updated)
Departmentobjectsfilter__len__r   save)
selfstartDepartmentId	isSuccessmessageidisSameLengthcountselectedListtempListselecteds
             ڄ/Users/waleedhassanin/Documents/snowflake_co_dev_github/snow_flake_back_end_deploy/snow_flake_api/snow_flake_bulk_operation/views.pyapplyDepartmentVisibility4UpdateDepartmentVisibility.applyDepartmentVisibility   s    	%("B L~)11888D'...>##%)=)=)??#'L5($0-1*  %	 %1
  4 4 66$(	"A !! %*	"E !! !&ICG!!    c                 *   SnSn[         R                  R                  SS9  [         R                  R                  S S9nSnU H  nX@R	                  U5      -   nM     [         R                  R                  SS9R                  5       nXd:X  a  SnSnXU4$ )NFzSub departments not Popular)	isPopulardepartmentIdr   TzSub departments are Popular now)r   r   updater   updatePopularr   )r   isSuccessPopularmessagePopularmainDepartmentListpopularCountir   s          r"   applyDepartmentPopular1UpdateDepartmentVisibility.applyDepartmentPopular,   s     6!!e!4'//66d6K#A'*<*<Q*??L $ ""))d);AAC #>N|;;r%   c                    [         R                  R                  UR                  S9nSnUR	                  5       S:  a  U H  nX0R                  U5      -   nM     U$ SUl        SUl        UR                  5         US-   nU$ )Nr(   r   Tr   )	r   r   r   r   r   r+   r'   isUseItemImageLinkr   )r   mainDepartmentsubDepartmentListr   r0   s        r"   r+   (UpdateDepartmentVisibility.updatePopular>   s    &..55^EVEV5W$$&*& 2 21 55 ' 	 (,N$04N-!AIEr%   c                 *   SnSn[         R                  R                  SS9  [         R                  R                  S S9nSnU H  nX@R	                  U5      -   nM     [         R                  R                  SS9R                  5       nXd:X  a  SnSnXU4$ )NFzSub departments not Selected)
isSelectedr(   r   Tz Sub departments are Selected now)r   r   r*   r   updateSelectedr   )r   isSuccessSelectedmessageSelectedr.   selectedCountr0   r   s          r"   applyDepartmentSelected2UpdateDepartmentVisibility.applyDepartmentSelectedK   s    !8!!u!5'//66d6K#A),?,?,BBM $ ""))t)<BBD! $@O >>r%   c                    [         R                  R                  UR                  S9R	                  S5      nSnUR                  5       S:  a  X0R                  US   5      -   nU$ SUl        UR                  5         US-   nU$ )Nr(   z-createdDater   Tr   )	r   r   r   r   order_byr   r:   r9   r   )r   r5   r6   r   s       r"   r:   )UpdateDepartmentVisibility.updateSelected\   s    &..55^EVEV5W``aop$$&*//0A!0DEEE
  )-N%!AIEr%   c                    S n[         R                  " UR                  5      nUR                  5       S:  a  SU;   a  US   nU R	                  U5      u  pgU R                  5       u  pn
U R                  5       u  pn[        UUUUU	U
UUUS.	SS9$ )Nr   r   )	r   r   r   r,   r-   r/   r;   r<   r=   Fsafe)jsonloadsbodyr   r#   r1   r>   r   )r   requestargskwargsr   jsonDatar   r   r,   r-   r/   r;   r<   r=   s                 r"   postUpdateDepartmentVisibility.postg   s     ::gll+!"h.$,-@$A! ::;LM	7;7R7R7T4:>:V:V:X7-%6&"#3!/+$5"1 -
 
 	
r%    N)__name__
__module____qualname____firstlineno__r#   r1   r+   r>   r:   rM   __static_attributes__rO   r%   r"   r   r      s     "><$?"	
r%   r   c                       \ rS rSrS rSrg)UpdateBrandVisibility   c                 6   S n[         R                  " UR                  5      nUR                  5       S:  a  SU;   a  US   nUb  UnSnUb  Sn[        R
                  R                  US9n	U	R                  SS9n
U
R                  5       U	R                  5       :X  a  SnUS:X  a[  U	 H&  nSUl        SUl        UR                  5         US-   nM(     XR                  5       :X  a  [        USSS	.SS
9$ [        USSS	.SS
9$ [        USSS	.SS
9$ [        USSS	.SS
9$ )Nr   startBrandIdFr   Tr   r   r   )rY   r   r   rD   r   r   zInvalid Number)rF   rG   rH   r   Brandr   r   r   r4   r   r   )r   rI   rJ   rK   rY   rL   r   r   r   r   r    r!   s               r"   rM   UpdateBrandVisibility.post   sj   ::gll+!)'7#B L~$}}33B3?'...>##%)=)=)??#'L5($0-1*6:3  %		 %1  4 4 66+0<-1+J
 "'    ,0<-2+N
 "'   (,8).'L
 #   ,"+
 
 	
r%   rO   NrP   rQ   rR   rS   rM   rT   rO   r%   r"   rV   rV      s    ;
r%   rV   c                       \ rS rSrS rSrg)BulkResetSKU   c                     [         R                  R                  5       R                  SS9n[         R                  R	                  5       nSnSnXE:X  a  SnSn[        UUUUS.SS9$ )	Nr   )amountFzNot All records have been resetTzAll records have been reset)r   totalUpdatedRecordtotalRecordsr   rD   )SKUr   allr*   r   r   )r   rI   rJ   rK   rb   rc   r   r   s           r"   rM   BulkResetSKU.post   sp     [[__.55Q5?{{((*	3-I3G&&8 ,"	 
 	
r%   rO   Nr\   rO   r%   r"   r^   r^      s    
r%   r^   c                       \ rS rSrS rSrg)SetDiscount   c                    [         R                  " UR                  5      nSnSnUS    H  nUS   nUS   n	US:X  a9  [        R                  R                  SS9R                  SS9R                  U	S	9nML  US
:X  d  MT  [        R                  R                  SS9R                  SS9R                  U	S	9nM     [        SUUS.SS9$ )Nr   discountListnamediscounttopProductsT)itemId__isApproved)itemId__isTop)rm   favoriteProducts)itemId__isFavorite)r   totalTopSKUstotalFavoriteSKUsFrD   )rF   rG   rH   rd   r   r   r*   r   )
r   rI   rJ   rK   rL   rs   rt   xrl   discountVals
             r"   rM   SetDiscount.post   s    ::gll+.)AV9DJ-K}$KK&&$&?V$V/V[V1 
 ++KK&&$&?VtV4V[V1 " *" ! ,%6
 
 	
r%   rO   Nr\   rO   r%   r"   rh   rh      s    
r%   rh   c                       \ rS rSrS rSrg)BulkUpdateProductSelection   c                    [         R                  R                  SSSSSS9  [        R                  R                  SSSSSS9  [         R                  R	                  5       n[
        R                  " US-  5      n[        SSS.SS9$ )NF)isTop
isFavoriteisMostDiscountisMostViewedisNewArrival   Successr   r   rD   )Itemr   r*   rd   r   mathfloorr   )r   rI   rJ   rK   r   
splitCounts         r"   rM   BulkUpdateProductSelection.post   s    %5%_drwx%^cqvw""$jj%!),
z "$ 
 	
r%   rO   Nr\   rO   r%   r"   ry   ry      s    J
r%   ry   c                        \ rS rSrS rS rSrg)DownloadSKUImageViewiG  c                 N   UR                  S5      n/ nSnUR                  5       S:  a-  US   R                  S5      nUR                  5       S:  a  US   nSnUSS  H
  nXV-   S-   nM     US:w  a  XT-   S-   n[        R                  " U5      nSnUR	                  S5      nUR
                  S	;   aS  [        R                  " UR
                  S S UR                  U5      n	U	R                  XwR                  5       S   5        U	nUR	                  S
5      R                  U5        U$ )N/ r   .z.jpg)   r   r   RGBA)r   LARGB)
splitr   r   openconvertmodenewsizepaster   )
r   	imagePathpathList
newNamList	imageNamenewPathpim
fill_color
backgrounds
             r"   changeBackground%DownloadSKUImageView.changeBackgroundI  s   ??3'
	!!"++C0J!!#a'&qM	!BAkC'G   ?)F2GI&B(JF#Bww.("YYrwws|RWWjI
  XXZ^4JJu""7+r%   c                 .   S n[         R                  " UR                  5      nUR                  5       S:  a  SU;   a  US   nUb  Un[        R
                  R                  US9nUb  UR                  R                  nU R                  U5      n	[        U	S5       n
[        R                  " U
R                  5       5      nS S S 5        [        R                  U	5        [!        WR#                  S5      SSS.S	S
9$ [!        S	SS.S	S
9$ ! , (       d  f       NM= f)Nr   skuId)r   rbzutf-8Tzimage is downloaded)imager   r   FrD   r   )rF   rG   rH   r   rd   r   getr   pathr   r   base64	b64encodereadosremover   decode)r   rI   rJ   rK   r   rL   r   selectedSKUr   r   img_file	my_strings               r"   rM   DownloadSKUImageView.poste  s   ::gll+!(" )B++//R/0K&'--22	//	:'4(H & 0 0 AI )		'"#!*!1!1'!:%)#8
   "0 
 	
 )(s   %D
DrO   N)rP   rQ   rR   rS   r   rM   rT   rO   r%   r"   r   r   G  s    8
r%   r   )r   rF   django.httpr   django.viewsr   PILr   snow_flake.modelsdjango.db.modelsr   r   rV   r^   rh   ry   r   rO   r%   r"   <module>r      sm      $     w
 w
t<
D <
~
4 
(
$ 
@L
 L
^<
4 <
r%   