B
    `                 @   s|   d dl mZ d dlmZ d dlmZ d dlmZ G dd dej	Z
G dd dej	ZG d	d
 d
ej	ZG dd dej	ZdS )    )Decimal)models)gettext_lazy)AUTH_USER_MODELc               @   s   e Zd ZdZejdeddejdZej	edddZ
ej	ed	ddZej	ed
dddZejedddZG dd dZdd ZdS )AbstractProductRecordz
    A record of a how popular a product is.

    This used be auto-merchandising to display the most popular
    products.
    zcatalogue.ProductProductstats)verbose_nameZrelated_name	on_deleteZViewsr   )defaultzBasket AdditionsZ	PurchasesT)r   db_indexZScoreg        c               @   s*   e Zd ZdZdZdgZedZedZdS )zAbstractProductRecord.MetaT	analyticsz-num_purchaseszProduct recordzProduct recordsN)	__name__
__module____qualname__abstract	app_labelordering_r	   verbose_name_plural r   r   S/home/dcms/DCMS/lib/python3.7/site-packages/oscar/apps/analytics/abstract_models.pyMeta   s
   r   c             C   s   t d| j S )NzRecord for '%s')r   product)selfr   r   r   __str__&   s    zAbstractProductRecord.__str__N)r   r   r   __doc__r   OneToOneFieldr   CASCADEr   PositiveIntegerFieldZ	num_viewsnum_basket_additionsZnum_purchasesZ
FloatFieldZscorer   r   r   r   r   r   r   	   s   r   c               @   s   e Zd ZdZejeedejdZ	ej
edddZej
edddZej
eddd	d
Zej
eddd	d
Zej
eddd	d
ZejedddeddZejedd	d	dZG dd dZdS )AbstractUserRecordz(
    A record of a user's activity.
    User)r	   r
   zProduct Viewsr   )r   zBasket AdditionsZOrdersT)r   r   zOrder LineszOrder ItemszTotal Spent      z0.00)Zdecimal_placesZ
max_digitsr   zLast Order Date)Zblanknullc               @   s$   e Zd ZdZdZedZedZdS )zAbstractUserRecord.MetaTr   zUser recordzUser recordsN)r   r   r   r   r   r   r	   r   r   r   r   r   r   D   s   r   N)r   r   r   r   r   r   r   r   r   userr   Znum_product_viewsr    Z
num_ordersZnum_order_linesZnum_order_itemsZDecimalFieldr   Ztotal_spentDateTimeFieldZdate_last_orderr   r   r   r   r   r!   *   s$   
r!   c               @   s`   e Zd ZejeedejdZejdejeddZ	ej
edddZG d	d
 d
Zdd ZdS )AbstractUserProductViewr"   )r	   r
   zcatalogue.Productr   )r
   r	   zDate CreatedT)auto_now_addc               @   s*   e Zd ZdZdZdgZedZedZdS )zAbstractUserProductView.MetaTr   z-pkzUser product viewzUser product viewsN)	r   r   r   r   r   r   r   r	   r   r   r   r   r   r   V   s
   r   c             C   s   t d| j| jd S )Nz%(user)s viewed '%(product)s')r&   r   )r   r&   r   )r   r   r   r   r   ]   s    zAbstractUserProductView.__str__N)r   r   r   r   
ForeignKeyr   r   r   r&   r   r'   date_createdr   r   r   r   r   r   r(   K   s   
r(   c               @   s^   e Zd ZejeejeddZej	eddddZ
ejedddZG d	d
 d
Zdd ZdS )AbstractUserSearchr"   )r
   r	   zSearch term   T)
max_lengthr   zDate Created)r)   c               @   s*   e Zd ZdZdZdgZedZedZdS )zAbstractUserSearch.MetaTr   z-pkzUser search queryzUser search queriesN)	r   r   r   r   r   r   r   r	   r   r   r   r   r   r   k   s
   r   c             C   s   t d| j| jd S )Nz!%(user)s searched for '%(query)s')r&   query)r   r&   r/   )r   r   r   r   r   r   s    zAbstractUserSearch.__str__N)r   r   r   r   r*   r   r   r   r&   Z	CharFieldr/   r'   r+   r   r   r   r   r   r   r,   b   s   r,   N)decimalr   Z	django.dbr   Zdjango.utils.translationr   r   Zoscar.core.compatr   ZModelr   r!   r(   r,   r   r   r   r   <module>   s   !!