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
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)