
    g                     4    d dl m Z  d dlZ G d d          ZdS )    )datetimeNc                   z   e Zd Zd Zed             Zed             Zed             Zed             Zed             Z	ed             Z
ed             Zed	             Zd
 Zej        d             Zej        d             Zej        d             Zej        d             Ze	j        d             Z	d Zd Zd ZdbdZdcdZd ZdddZi ddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;i d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`daZdS )eShopifyCustomerc                     || _         || _        || _        || _        || _        d| _        || _        g | _        g | _        g | _	        d S )NF)

_firstname	_lastname_email_phone_note
_marketing_tax_exempt_tags
_addresses_metafields)self	firstnamelastnameemailphonenote
tax_exempts          7/var/www/sites/EMDE/general/customers/customer_class.py__init__zShopifyCustomer.__init__   sP    #!
%
    c                     | j         S Nr   r   s    r   r   zShopifyCustomer.firstname   
    r   c                     | j         S r   r   r   s    r   r   zShopifyCustomer.lastname   s
    ~r   c                     | j         S r   r	   r   s    r   r   zShopifyCustomer.email   
    {r   c                     | j         S r   r
   r   s    r   r   zShopifyCustomer.phone   r$   r   c                     | j         S r   r   r   s    r   r   zShopifyCustomer.note#   
    zr   c                     | j         S r   r   r   s    r   tagszShopifyCustomer.tags'   r)   r   c                     | j         S r   )r   r   s    r   	addresseszShopifyCustomer.addresses+   r   r   c                     | j         S r   )r   r   s    r   
metafieldszShopifyCustomer.metafields/   s    r   c                 P    || j         vr| j                             |           d S d S r   )r   appendr   tags     r   add_tagzShopifyCustomer.add_tag3   s3    dj  Jc""""" ! r   c                     || _         d S r   r   )r   r   s     r   r   zShopifyCustomer.firstname7   s    #r   c                     || _         d S r   r!   )r   r   s     r   r   zShopifyCustomer.lastname;   s    !r   c                     || _         d S r   r#   )r   r   s     r   r   zShopifyCustomer.email?       r   c                     || _         d S r   r&   )r   r   s     r   r   zShopifyCustomer.phoneC   r9   r   c                     || _         d S r   r(   )r   r   s     r   r   zShopifyCustomer.noteG   s    


r   c                     d| _         d S )NT)r   r   s    r   set_marketingzShopifyCustomer.set_marketingK   s    r   c                     || j         v S r   r+   )r   
search_tags     r   _tag_existszShopifyCustomer._tag_existsO   s    TZ''r   c                 h    |                      |          s| j                            |           d S d S r   )r@   r   r2   r3   s     r   r5   zShopifyCustomer.add_tagR   s>    $$ 	#Jc"""""	# 	#r   Tc                    | j         D ]}|d         |k    r|d         |k    r{|d         |k    ro|d         |k    rc|d         |k    rW|d         |k    rK|d         |k    r?|d         |k    r3|d	         |	k    r'|d
         |
k    r|d         |k    r|d         |k    r d S | j                             ||||||||	|
|t          |          d           d S )Ncompanyname
first_name	last_nameaddress1address2address3zipcitycountryr   default)rC   rD   rE   rF   rG   rH   rJ   rK   rL   r   rM   )r   r2   bool)r   rC   rD   r   r   rG   rH   rI   zip_coderK   rL   r   rM   addresss                 r   add_addresseszShopifyCustomer.add_addressesV   s-    	 	G	"g--4''%22$00
#x//
#x//
#x//(**4''	"g-- E))	"g--#!  G}} 
  
 	 	 	 	 	r   single_line_text_fieldc                     | j         D ]}|d         |k    r|d         |k    r d S | j                             ||||d           d S )N	namespacekey)rT   rU   valuetype)r   r2   )r   rT   rU   rV   
field_type	metafields         r   add_metafieldzShopifyCustomer.add_metafieldv   sv    ) 	 	I%22y7G37N7N"	!
 !
 	 	 	 	 	r   c                 t    | j         D ]/}|d         |k    r!|d         |k    rt          |          |d<    d S 0d S )NrT   rU   id)r   int)r   rU   rT   metafield_idrY   s        r   add_id_metafield_customerz)ShopifyCustomer.add_id_metafield_customer   sV    ) 	 	I%22y7G37N7N"%l"3"3	$	 	r   Nc                 $   t          j        d          }t          j        |          }d|| j        | j        | j        | j        dd| j        d| j	        | j
        | j        | j        di}| j        r!dd|                                d|d         d	<   |S )
NzEurope/PariscustomerTF)customer_idrE   rF   r   r   verified_emailsend_email_welcomer,   send_email_inviter   r.   r0   r   
subscribedsingle_opt_in)stateopt_in_levelconsent_updated_atemail_marketing_consent)pytztimezoner   nowr   r   r	   r
   r   r   r   r   r   r   	isoformat)r   rb   
paris_zone
paris_timedatas        r   create_arrayzShopifyCustomer.create_array   s    ]>22
\*--
 *"o!^"&&+
%*
!_".". 
$ ? 	% /&0&:&:&<&<; ;D67 r   zCode clientclient_codeu	   SociétérC   DevisecurrencyzProfil de TVAvat_profileActifactiveu	   CivilitétitlezContact Nomcontact_last_nameu   Contact Prénomcontact_first_namez	Adresse 1address_line1z	Adresse 2address_line2z	Adresse 3address_line3zCode Postalpostal_codeVillerK   PaysrL   u   Téléphoner   PortablemobileMailr   u   N° T.V.A. intra.
vat_numberu	   ActivitéactivityBranchebranchu
   Catégoriecategoryu   Assujetti à la TVA ?subject_to_vatu   Mode de règlementpayment_methodzRib IBANibanzRib BICbicu   Liv Sociétédelivery_companyzLiv Adresse 1delivery_address_line1zLiv Adresse 2delivery_address_line2zLiv Adresse 3delivery_address_line3zLiv Code Postaldelivery_postal_codez	Liv Villedelivery_cityzLiv Paysdelivery_countryu   Liv Téléphonedelivery_phonezLiv Portabledelivery_mobiledelivery_last_namedelivery_first_nameb2b)zLiv Nomu   Liv PrénomzB to B)T)rR   r   )__name__
__module____qualname__r   propertyr   r   r   r   r   r,   r.   r0   r5   setterr=   r@   rQ   rZ   r_   rs   mapping r   r   r   r      s       
 
 
   X   X   X   X   X   X   X     X # # # $ $ $ _" " _" \  \ \  \ 
[  [  ( ( (# # #   @
 
 
 
     >&}&Y& 	*& 		&
 	& 	W& 	*& 	/& 	_& 	_& 	_& 	}& 	& 		& 	w&  	H!&" 	#& &$ 	\%&& 	Z'&( 	8)&* 	j+&, 	 !1-&. 	./&0 	F1&2 	53&4 	+5&6 	17&8 	19&: 	1;&< 	1=&> 	_?&@ 	&A&B 	+C&D 	)E& &F (,K& & &GGGr   r   )r   rl   r   r   r   r   <module>r      s\          H H H H H H H H H Hr   