示例#1
0
 def get_active_order(user):
     timezone = Organization.objects.all()[0].timezone  # only one can exist
     timezone = pytz.timezone(str(timezone))
     # get active order for today
     cutoff = Organization.get_today_start_utc()
     active_order = Order.objects.filter(customer__user=user,
                                         timestamp__gte=cutoff,
                                         ordered=False)
     order_list = [order.json_format(timezone) for order in active_order]
     return order_list
示例#2
0
    def get_order_history(user, days=30):
        # gets past ordered history
        timezone = Organization.objects.all()[0].timezone  # only one can exist
        timezone = pytz.timezone(str(timezone))

        today = Organization.get_today_start_utc()
        cutoff = today - datetime.timedelta(days=days)
        order_history = Order.objects.filter(customer__user=user,
                                             timestamp__gte=cutoff,
                                             ordered=True)
        order_list = [order.json_format(timezone) for order in order_history]
        return order_list
示例#3
0
    def order_summary(team):
        timezone = Organization.objects.all()[0].timezone  # only one can exist
        timezone = pytz.timezone(str(timezone))

        today = Organization.get_today_start_utc()
        unordered = Order.objects.filter(team=team,
                                         timestamp__gte=today,
                                         ordered=False)
        unordered_json = [u.json_format(timezone) for u in unordered]

        all_orders = Order.objects.filter(team=team, timestamp__gte=today)
        all_orders_json = [o.json_format(timezone) for o in all_orders]

        if len(unordered_json):
            unordered_df = pd.DataFrame(unordered_json)

            unordered_df['price'] = unordered_df['price'].astype('float32')
            meals_by_vendors = unordered_df.groupby(["vendor",
                                                     "meal"]).size().to_dict()
            meals_by_vendors_json = {}
            for (vendor, meal), v in meals_by_vendors.items():
                try:
                    meals_by_vendors_json[vendor][meal] = v
                except KeyError:
                    meals_by_vendors_json[vendor] = {meal: v}

            total_owning_by_vendors_json = unordered_df.groupby(
                "vendor").sum().to_dict()
        else:
            meals_by_vendors_json = {'': {'': ''}}
            total_owning_by_vendors_json = {'': ''}

        vendor_info = [v.json_format() for v in team.vendors.all()]

        return {
            'meals_by_vendors':
            meals_by_vendors_json,
            'total_owning_by_vendors':
            total_owning_by_vendors_json,
            'vendor_info':
            vendor_info,
            'detail_order_info':
            sorted(all_orders_json, key=lambda x: (x['vendor'], x['meal']))
        }