def top_sellers(request):
    """ Return top seller of the month, and the last 10 top sellers """
    from shops.models import Shop
    from market_buy.models import BestSeller

    marketplace = request.marketplace
    sellers = BestSeller.objects.filter(
        shop__marketplace=marketplace).order_by("-to_date")[:10]

    if not sellers:
        delta = 7
        date_to = datetime.datetime.now()
        date_from = date_to - datetime.timedelta(delta)

        best_seller = BestSeller()
        best_seller.shop = Shop.objects.all().filter(
            marketplace=marketplace).order_by('?')[0]
        best_seller.from_date = date_from
        best_seller.to_date = date_to
        best_seller.revenue = 0
        best_seller.save()
        sellers = BestSeller.objects.filter(
            shop__marketplace=marketplace).order_by("-to_date")

    return render_to_response(
        "%s/buy/top_sellers.html" % request.marketplace.template_prefix,
        {'best_sellers': sellers}, RequestContext(request))
Example #2
0
def get_week_top_seller():
    
    delta = 7
    date_to = datetime.datetime.now()
    date_from = date_to - datetime.timedelta(delta)
    
    shops = Shop.objects.all()
    max_revenue = -1
    winner = None
    
    logging.info("Calculating the best seller of the week. From: %s - %s" % (date_from, date_to))
    
    for shop in shops:
        
        week_revenue = 0
        sell_week_revenue = Sell.objects.filter(shop=shop)
        sell_week_revenue = sell_week_revenue.filter(date_time__range=(date_from, date_to))
        logging.info(sell_week_revenue)
        for sell in sell_week_revenue:
            week_revenue += sell.total_without_taxes()
          
        logging.info("Total Revenue from shop %s = %s" % (shop, week_revenue))
        
        if week_revenue > max_revenue: 
            winner = shop
            max_revenue = week_revenue
            
    best_seller = BestSeller()
    best_seller.shop = winner
    best_seller.from_date = date_from
    best_seller.to_date = date_to
    best_seller.revenue = max_revenue
    best_seller.save()
    logging.info("Winner: %s" % best_seller)
def get_week_top_seller():
    
    delta = 7
    date_to = datetime.datetime.now()
    date_from = date_to - datetime.timedelta(delta)
    
    shops = Shop.objects.all()
    max_revenue = -1
    winner = None
    
    logging.info("Calculating the best seller of the week. From: %s - %s" % (date_from, date_to))
    
    for shop in shops:
        
        week_revenue = 0
        sell_week_revenue = Sell.objects.filter(shop=shop)
        sell_week_revenue = sell_week_revenue.filter(date_time__range=(date_from, date_to))
        logging.info(sell_week_revenue)
        for sell in sell_week_revenue:
            week_revenue += sell.total_without_taxes()
          
        logging.info("Total Revenue from shop %s = %s" % (shop, week_revenue))
        
        if week_revenue > max_revenue: 
            winner = shop
            max_revenue = week_revenue
            
    best_seller = BestSeller()
    best_seller.shop = winner
    best_seller.from_date = date_from
    best_seller.to_date = date_to
    best_seller.revenue = max_revenue
    best_seller.save()
    logging.info("Winner: %s" % best_seller)
def top_sellers(request):
    """ Return top seller of the month, and the last 10 top sellers """
    from shops.models import Shop
    from market_buy.models import BestSeller
    
    marketplace = request.marketplace
    sellers = BestSeller.objects.filter(shop__marketplace=marketplace).order_by("-to_date")[:10]
    
    if not sellers:
        delta = 7
        date_to = datetime.datetime.now()
        date_from = date_to - datetime.timedelta(delta)
    
        best_seller = BestSeller()
        best_seller.shop = Shop.objects.all().filter(marketplace=marketplace).order_by('?')[0]
        best_seller.from_date = date_from
        best_seller.to_date = date_to
        best_seller.revenue = 0
        best_seller.save()
        sellers = BestSeller.objects.filter(shop__marketplace=marketplace).order_by("-to_date")
    
    return render_to_response("%s/buy/top_sellers.html" % request.marketplace.template_prefix, 
                              {'best_sellers' : sellers} , RequestContext(request))