Beispiel #1
0
    def get_context(self):
        month_start, month_end = stats.current_month()
        daily_sales = stats.daily_sales(month_start, month_end)
        labels = [
            (month_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')
            for x in range(0,
                           datetime.datetime.now().day)
        ]
        daily_income = [0] * len(labels)
        for k, order_group in daily_sales:
            i = labels.index(k)
            daily_income[i] = float(sum(order.total for order in order_group))

        popular_products = stats.sales_by_product(month_start, month_end)[:5]
        print(popular_products)
        return {
            "daily_income":
            daily_income,
            "labels":
            labels,
            "product_labels":
            list(popular_products.values_list('title', flat=True)),
            "sales_volume":
            list(popular_products.values_list('quantity', flat=True))
        }
 def get_context(self):
     settings = LongclawSettings.for_site(self.request.site)
     sales = stats.sales_for_time_period(*stats.current_month())
     return {
         'total':
         "{}{}".format(settings.currency_html_code,
                       sum(order.total for order in sales)),
         'text':
         'In sales this month',
         'url':
         '/admin/longclaworders/order/',
         'icon':
         'icon-tick'
     }
Beispiel #3
0
 def test_current_month(self):
     start, end = stats.current_month()
     self.assertEqual(start.month, end.month)
     self.assertEqual(start.day, 1)
     self.assertIn(end.day, [28, 29, 30, 31])