3

\I                 @   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_name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   ?/var/www/html/oscar2019/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_purchases
FloatField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 AdditionsOrdersT)r   r   zOrder LineszOrder ItemszTotal Spent      z0.00)decimal_places
max_digitsr   zLast Order Date)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!   
num_ordersZnum_order_linesZnum_order_items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edZedZdS )zAbstractUserProductView.MetaTr   zUser product viewzUser product viewsN)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   r0   date_createdr   r   r   r   r   r   r1   K   s   
r1   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)r2   c               @   s$   e Zd ZdZdZedZedZdS )zAbstractUserSearch.MetaTr   zUser search queryzUser search queriesN)r   r   r   r   r   r   r	   r   r   r   r   r   r   j   s   r   c             C   s   t d| j| jd S )Nz!%(user)s searched for '%(query)s')r-   query)r   r-   r8   )r   r   r   r   r   p   s    zAbstractUserSearch.__str__N)r   r   r   r   r3   r   r   r   r-   	CharFieldr8   r0   r4   r   r   r   r   r   r   r5   a   s   r5   N)decimalr   	django.dbr   django.utils.translationr   r   oscar.core.compatr   Modelr   r$   r1   r5   r   r   r   r   <module>   s   !!