a
    Uf                     @   sL  d dl mZ d dlT 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
mZ d dlmZ d dlmZ eeG d	d
 d
ejZeeG dd dejZeeG dd dejZeeG dd dejZeeG dd dejZeeG dd dejZeeG dd dejZeeG dd dejZ ee!G dd dejZ"ee#G dd dejZ$ee%G dd dejZ&ee'G dd  d ejZ(ee)G d!d" d"ejZ*ee+G d#d$ d$ejZ,ee-G d%d& d&ejZ.ee/G d'd( d(ejZ0ee1G d)d* d*ejZ2d+S ),    )admin)*)	UserAdmin)Sum)
TruncMonth)pathreverse)TemplateResponse)format_htmlc                   @   s   e Zd ZdZdZdZdS )r   )walletAddressemailphoneNumbertimezone)accountLockedisOrganizer	maticSentsubscription)groupsuser_permissionsN)__name__
__module____qualname__list_displaylist_filterraw_id_fields r   r   /Users/christophesurbier/Dropbox/Mon Mac (MacBook-Air-de-christophe.local)/Documents/Programmation/SellTix/tixsellbackend/backoffice/admin.pyr      s   r   c                   @   s   e Zd ZdZdS )SellerAdmin)userstripe_user_idstripe_charges_enabledNr   r   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd ZdZdZdS )CategoryAdminnameNr   r   r   r   orderingr   r   r   r   r"   "   s   r"   c                   @   s   e Zd ZdZdZdZdS )NotificationAdmin)refOrganizerrefEventtypesuccess)r(   r)   r+   
-createdAtN)r   r   r   r   r   r&   r   r   r   r   r'   +   s   r'   c                   @   s   e Zd ZdZdZdZdZdS )
EventAdmin)r$   	eventDate	eventTyper   currency)statusr0   streamWithSelltixstreamingQuality	isPrivateisConferencemailRappelSentendedr#   )refOrganiserrefCategoryrefEventPageTemplateNr   r   r   r   r   r&   list_select_relatedr   r   r   r   r.   7   s   r.   c                   @   s   e Zd ZdZdZdS )EventPayeesAdmin)r)   r   shareAmountr)   N)r   r   r   r   r=   r   r   r   r   r>   E   s   r>   c                   @   s   e Zd ZdZdS )EventScanUsersAdmin)r   loginNr!   r   r   r   r   rA   O   s   rA   c                   @   s   e Zd ZdZdZdS )TicketTypeTemplateAdmin)r$   image
templateId)r-   r$   Nr%   r   r   r   r   rC   W   s   rC   c                   @   s   e Zd ZdZdZdZdZdS )TicketTypeAdmin)r$   r)   ticketTypeIdr@   r#   )r)   refTicketTypeTemplateNr<   r   r   r   r   rF   a   s   rF   c                   @   s    e Zd ZdZdZdZdZdZdS )TicketAdmin)ticketIdrefTicketTyperefUserhashedTicket	pricePaidscanned)rK   rL   refTicketType__refEvent)rP   rO   r#   r,   Nr   r   r   r   r=   r   r&   r   r   r   r   rI   n   s
   rI   c                       s.   e Zd ZdZdZdZdZd fdd	Z  ZS )	PaymentAdmin)rL   	createdAtrK   amountfeesSelltixfeesStripeForSellTixr2   )rK   rL   )rP   r2   r,   Nc                    s   ddl m} dd l}tjjtdddjtdd	d}dd	 |D }|j
t||d
}td|  |ptd|i}t j||dS )Nr   )DjangoJSONEncoderrS   )monthrX   rU   )total_revenuec                 S   s$   g | ]}|d   d|d dqS )rX   z%B %YrY   )rX   rY   )strftime).0itemr   r   r   
<listcomp>   s   z0PaymentAdmin.changelist_view.<locals>.<listcomp>)clszJson %sZ
chart_data)extra_context)django.core.serializers.jsonrW   jsonPaymentobjectsannotater   valuesr   order_bydumpslistprintsuperchangelist_view)selfrequestr_   rW   ra   Zrevenue_dataZformatted_revenue_dataas_json	__class__r   r   rk      s     zPaymentAdmin.changelist_view)N)	r   r   r   r   r=   r   r&   rk   __classcell__r   r   ro   r   rR   ~   s
   	rR   c                   @   s   e Zd ZdZdZdZdZdS )InvoiceAdmin)rL   rS   totalVATIncludedpaid)rt   rL   r,   N)r   r   r   r   r   r=   r&   r   r   r   r   rr      s   rr   c                   @   s   e Zd ZdZdZdZdZdS )TicketToMintAdmin)rL   rK   r2   )rK   rL   
refPayment)rP   r,   NrQ   r   r   r   r   rv      s   rv   c                   @   s   e Zd ZdZdZdZdZdS )TicketHistoryAdmin)rL   walletru   r,   NrQ   r   r   r   r   rx      s   rx   c                   @   s   e Zd ZdZdZdS )WebHookAdmin)	webhookIdrS   r,   Nr%   r   r   r   r   rz      s   rz   c                   @   s   e Zd ZdZdZdZdS )
TasksAdmin)idactionr2   rS   r,   )r2   N)r   r   r   r   r&   r   r   r   r   r   r|      s   r|   c                   @   s   e Zd ZdZdZdZdZdS )InvitationAdmin)r}   	refTicketcodeburnedrS   r,   )r   r   )r   N)r   r   r   r   r&   r   r=   r   r   r   r   r      s   r   N)3Zdjango.contribr   backoffice.modelsZdjango.contrib.auth.adminr   django.db.modelsr   django.db.models.functionsr   django.urlsr   r   django.template.responser	   django.utils.htmlr
   registerUser
ModelAdminSellerr   Categoryr"   Notificationr'   Eventr.   EventPayeesr>   	ScanUsersrA   TicketTypeTemplaterC   
TicketTyperF   TicketrI   rb   rR   Invoicerr   TicketToMintrv   TicketHistoryrx   WebHookrz   Tasksr|   
Invitationr   r   r   r   r   <module>   sT   		(

