
    g%	                         d dl mZ d dlmZ d dlmZ ddlmZmZ d dl	m
Z
 d dl mZ d dlmZ  G d	 d
ej                        Zej                   j#                  ee       ej                   j#                  e       y)    )admin)reverse)format_html   )WalletWalletTransactionredirect)messages)Decimalc                   :     e Zd ZdZ fdZd fd	Zd fd	Z xZS )WalletAdmin)userbalancec                     t         |   |      }|j                  j                  r|S |j	                  |j                        S )z)Allow operators to see only their wallets)r   )superget_querysetr   is_superuserfilter)selfrequestqs	__class__s      (/var/www/skyplay_api_hub/wallet/admin.pyr   zWalletAdmin.get_queryset   s9    W!'*<<$$Iyyglly++    c                 l    |j                   j                  sddlm}  |d      S t        |   ||      S )z=Redirect operators to /wallet/ when they click 'Wallets' menur   r	   /wallet/)r   r   django.shortcutsr
   r   changelist_view)r   r   extra_contextr
   r   s       r   r   zWalletAdmin.changelist_view   s0    ||((1J''w&w>>r   c                    |j                   j                  st        d      S |j                  dk(  r|j                  j                  d      }|j                  j                  d      }|r|s+t        j                  |d       t        |j                        S 	 t        j                  j                  |      }|xj                  t        |      z  c_        |j                          t        j                  |d| d       t        d	      S t         | E  |||      S # t        j                  $ r t        j                  |d
       Y <w xY w)zDInstead of creating a new wallet, update the existing wallet balancer   POSTr   r   zUser and Amount are required.)user_idu   ₹z" added to the wallet successfully!z/admin/wallet/wallet/z8User does not have a wallet. Please create one manually.)r   r   r
   methodr"   getr   errorpathr   objectsr   r   savesuccessDoesNotExistr   add_view)r   r   form_urlr    r#   amountwalletr   s          r   r,   zWalletAdmin.add_view   s   ||((J''>>V#ll&&v.G\\%%i0F&w(GH--d++G+<'&/1  Cx7Y*Z[ 788 w=AA && dw(bcds   A2D )EE)N) N)__name__
__module____qualname__list_displayr   r   r,   __classcell__)r   s   @r   r   r   	   s    &L,?B Br   r   N)django.contribr   django.urlsr   django.utils.htmlr   modelsr   r   r   r
   r   decimalr   
ModelAdminr   siteregister r   r   <module>r?      sX       ) - % # 'B%"" 'BR 

  FK ( 

  % &r   