
    xh"                        S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJrJr  S SKJr  S SKJr  S	S
KJrJrJrJr  S	SKJrJr  Sr " S S\5      r " S S\R8                  5      r " S S\R8                  5      r " S S\5      r " S S\\	5      r  " S S\5      r! " S S\RD                  5      r# " S S\5      r$ " S S\\	5      r% " S S \RL                  5      r'\RP                  RS                  \\ 5        \RT                  (       a  \RP                  RS                  \!\$5        \RP                  RS                  \\%5        \RP                  RS                  \\'5        g!)"    )settings)admin)F)format_html)ImportExportModelAdmin)BaseOrganizationAdminBaseOrganizationUserAdminBaseOwnerInline)StripeSubscription)get_stripe_link   )OrganizationOrganizationOwnerOrganizationSocialAppOrganizationUser)OrganizationResourceOrganizationUserResource)	is_activeis_accepting_events"stripesubscription__price__productc                       \ rS rSr\rSrg)OwnerInline    N)__name__
__module____qualname____firstlineno__r   model__static_attributes__r       %/code/apps/organizations_ext/admin.pyr   r      s    Er!   r   c                        \ rS rSrSr\rSrSrg)OrganizationUserInline"   )userr   r   N)	r   r   r   r   raw_id_fieldsr   r   extrar    r   r!   r"   r$   r$   "   s    MEEr!   r$   c                       \ rS rSr\rSr\R                  R                   V Vs/ s H  oR                  PM     snn r
Srgs  snn f )OrganizationSubscriptionInline(   r   r   N)r   r   r   r   r   r   r(   _metafieldsnamereadonly_fieldsr    ).0fields   00r"   r*   r*   (   s3    EE/A/G/G/N/NO/Nezz/NOOOs   A r*   c                   T    \ rS rSrSr\r\\\	/r
SrS rS rS rS rS rS	 rS
 rSrg)GlitchTipBaseOrganizationAdmin.   )customer_linksubscription_linkcreatedFc                     UR                   $ N)issue_event_countselfobjs     r"   issue_events+GlitchTipBaseOrganizationAdmin.issue_events4       $$$r!   c                 V    UR                   =n(       a  [        S[        U5      U5      $ g Nz#<a href="{}" target="_blank">{}</a>)stripe_customer_idr   r   )r<   r=   customer_ids      r"   r5   ,GlitchTipBaseOrganizationAdmin.customer_link7   s3    000;05,  1r!   c                 V    UR                   =n(       a  [        S[        U5      U5      $ g rB   )stripe_primary_subscription_idr   r   )r<   r=   subscription_ids      r"   r6   0GlitchTipBaseOrganizationAdmin.subscription_link?   s4    !@@@?@50  Ar!   c                     UR                   $ r9   )transaction_countr;   s     r"   transaction_events1GlitchTipBaseOrganizationAdmin.transaction_eventsG   r@   r!   c                     UR                   $ r9   )uptime_check_event_countr;   s     r"   uptime_check_events2GlitchTipBaseOrganizationAdmin.uptime_check_eventsJ   s    +++r!   c                     UR                   $ r9   )	file_sizer;   s     r"   rS   (GlitchTipBaseOrganizationAdmin.file_sizeM   s    }}r!   c                     UR                   $ r9   )total_event_countr;   s     r"   total_events+GlitchTipBaseOrganizationAdmin.total_eventsP   r@   r!   r   N)r   r   r   r   r/   ORGANIZATION_LIST_FILTERlist_filterr$   r   r*   inlinesshow_full_result_countr>   r5   r6   rL   rP   rS   rW   r    r   r!   r"   r3   r3   .   sB    GO*K%{4RSG"%%,%r!   r3   c                   &    \ rS rSr/ SQr\rS rSrg)OrganizationAdminT   )	r.   r   r   r>   rL   rP   rS   rW   stripe_primary_subscriptionc                     U R                   R                  R                  5       nU R                  =(       d    SnU(       a  UR                  " U6 nU$ )Nr   )r   objectswith_event_countsorderingorder_byr<   requestqsrd   s       r"   get_querysetOrganizationAdmin.get_querysetb   s@    ZZ113 ==&Bh'B	r!   r   N)	r   r   r   r   list_displayr   resource_classri   r    r   r!   r"   r^   r^   T   s    
L *Nr!   r^   c                   (    \ rS rSr " S S5      rSrg)OrganizationSubscriptionm   c                       \ rS rSrSrSrg)OrganizationSubscription.Metan   Tr   N)r   r   r   r   proxyr    r   r!   r"   Metarq   n   s    r!   rt   r   N)r   r   r   r   rt   r    r   r!   r"   rn   rn   m   s     r!   rn   c                   (    \ rS rSrSrSrS rS rSrg)IsOverListFilterr   zIs over plan limitis_overc                     g)N))TYes)FNor   )r<   rg   model_admins      r"   lookupsIsOverListFilter.lookupsv   s    
r!   c                     U R                  5       b  UR                  SS9nU R                  5       SL a  UR                  [        S5      S9$ U R                  5       SL a  UR                  [        S5      S9$ U$ )NF);stripe_primary_subscription__price__product__events__isnull
max_events)total_event_count__lteT)total_event_count__gt)valuefilterr   )r<   rg   querysets      r"   r   IsOverListFilter.queryset|   sq    ::<#LQ ' H ::<5 ??!L/?JJ::<4??<?IIr!   r   N)	r   r   r   r   titleparameter_namer}   r   r    r   r!   r"   rv   rv   r   s     EN
	r!   rv   c                   N    \ rS rSr/ SQrS rS rS r\R                  \
4-   r	Srg)OrganizationSubscriptionAdmin   )
r.   r   r   r>   rL   rP   rS   rW   r   current_period_endc                 V    UR                   R                  R                  R                  $ r9   )r`   priceproducteventsr;   s     r"   r   (OrganizationSubscriptionAdmin.max_events   s     ..44<<CCCr!   c                 .    UR                   R                  $ r9   )r`   r   r;   s     r"   r   0OrganizationSubscriptionAdmin.current_period_end   s    ..AAAr!   c                     [         R                  R                  5       R                  S5      nU R                  =(       d    SnU(       a  UR
                  " U6 nU$ )N+stripe_primary_subscription__price__productr   )r   rb   rc   select_relatedrd   re   rf   s       r"   ri   *OrganizationSubscriptionAdmin.get_queryset   sJ    !!335DD9
 ==&Bh'B	r!   r   N)r   r   r   r   rk   r   r   ri   r3   rZ   rv   r    r   r!   r"   r   r      s0    LDB	 1<<@P?RRKr!   r   c                   (    \ rS rSr/ SQrSrSr\rSr	g)OrganizationUserAdmin   )r&   organizationroleemail)r   user__emailorganization__name)r   r   N)
r   r   r   r   rk   search_fieldsrZ   r   rl   r    r   r!   r"   r   r      s    <LBMK-Nr!   r   c                        \ rS rSrSS/rSrSrg)OrganizationSocialAppAdmin   r   
social_app)r   social_app__namer   N)r   r   r   r   rk   r   r    r   r!   r"   r   r      s    "L1L>Mr!   r   N)+django.confr   django.contribr   django.db.modelsr   django.utils.htmlr   import_export.adminr   organizations.base_adminr   r	   r
   apps.stripe.modelsr   apps.stripe.utilsr   modelsr   r   r   r   	resourcesr   r   rY   r   StackedInliner$   r*   r3   r^   rn   SimpleListFilterrv   r   r   
ModelAdminr   siteregisterBILLING_ENABLEDr   r!   r"   <module>r      s@        ) 6  2 -  F / U00 PU%8%8 P#%%: #%L68N 2| 
u-- ,S$B SD.57M .?!1!1 ?
 

  L"3 4	JJ02OP 

  $&; < 

  )+E Fr!   