Exemple #1
0
 def before_get(self, args, kwargs):
     events = Event.query.all()
     for event in events:
         sales = summary(event)
         event.completed_order_sales = sales['completed']['sales_total']
         event.placed_order_sales = sales['placed']['sales_total']
         event.pending_order_sales = sales['pending']['sales_total']
         event.completed_order_tickets = sales['completed']['ticket_count']
         event.placed_order_tickets = sales['placed']['ticket_count']
         event.pending_order_tickets = sales['pending']['ticket_count']
         save_to_db(event)
def export_sales_csv(sales):
    headers = [
        'Event Name',
        'Owner Name',
        'Owner Email',
        'Event Type',
        'Event Date',
        'Ticket (Completed)',
        'Sales (Completed)',
        'Ticket (Placed)',
        'Sales (Placed)',
        'Ticket (Pending)',
        'Sales (Pending)',
    ]
    rows = [headers]
    for sale in sales:
        if not sale.deleted_at:
            column = [sale.name]
            column.append(
                sale.owner.first_name if sale.owner.first_name else '')
            column.append(sale.owner.email)
            column.append(event_type(sale))
            column.append(
                sale.starts_at.astimezone(pytz.timezone(sale.timezone)).
                strftime('%B %-d, %Y %H:%M %z') if sale.starts_at else '')
            column.append(summary(sale)['completed']['ticket_count'])
            column.append(summary(sale)['completed']['sales_total'])
            column.append(summary(sale)['placed']['ticket_count'])
            column.append(summary(sale)['placed']['sales_total'])
            column.append(summary(sale)['pending']['ticket_count'])
            column.append(summary(sale)['pending']['sales_total'])
            rows.append(column)

    return rows
Exemple #3
0
 def calc_sales(obj):
     """
     Returns sales (dictionary with total sales and ticket count) for
     placed, completed and pending orders
     """
     return summary(obj)
 def calc_sales(obj):
     """
     Returns sales (dictionary with total sales and ticket count) for
     placed, completed and pending orders
     """
     return summary(obj.orders)