def average_deal_size(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _average_deal_size(start, end) return render_template('salesdash/currencybarchart.html', series=series, data_url=url_for('.api_average_deal_size'), start=start, end=end)
def conversion_rate(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _conversion_rate(start, end) return render_template('salesdash/barandlinechart.html', series=series, data_url=url_for('.api_conversion_rate'), start=start, end=end)
def downgrades_plus_churn(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _downgrades_plus_churn(start, end) return render_template('salesdash/currencybarchart.html', series=series, data_url=url_for('.api_downgrades_plus_churn'), start=start, end=end)
def product_mrr(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _product_mrr(start, end) return render_template('salesdash/currencybarchart.html', series=series, data_url=url_for('.api_product_mrr'), start=start, end=end)
def new_biz_plus_upsell(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _new_biz_plus_upsell(start, end) return render_template('salesdash/currencybarchart.html', series=series, data_url=url_for('.api_new_biz_plus_upsell'), start=start, end=end)
def salesdash(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) return render_template( 'salesdash/dashboard.html', start=start, end=end, upsell_newbiz_data_url=url_for('.api_new_biz_plus_upsell'), mrr_data_url=url_for('.api_mrr'), product_mrr_data_url=url_for('.api_product_mrr'), )
def net_value(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _net_value(start, end) return render_template( 'salesdash/currencybarchart.html', # 'salesdash/barandlinechart.html', series=series, data_url=url_for('.api_net_value'), start=start, end=end)
def product_average_deal_size(): datasource = _product_average_deal_size start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = datasource(start, end) return render_template('salesdash/currencybarchart.html', series=series, data_url=url_for('.api{}'.format( datasource.__name__)), start=start, end=end)
def paid_account_count(): datasource = _paid_account_count start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = datasource(start, end) return render_template('salesdash/barchart.html', series=series, data_url=url_for('.api{}'.format( datasource.__name__)), start=start, end=end)
def new(subd): acct_id = touchbiz.acct_id_for_subdomain(subd) try: owner_id = touchbiz.owner_id(current_user.email) except: raise Exception('Unauthorized to add touchbiz entry.') created = iso8601_to_dt(request.form.get( 'created')) if 'created' in request.form else datetime.today() with tb_session() as s: entry = Touchbiz( acct_id=acct_id, sales_rep_id=owner_id, created=created, modified=created, plan_type=request.form['plan_type'], tier=request.form['tier'].lower(), retention=request.form['retention'], volume=request.form['volume'], sub_rate=request.form['sub_rate'], payment_method=request.form['payment_method'], billing_period=request.form['billing_period'], ) s.add(entry) latest = touchbiz.flatten(touchbiz.touchbiz_by_account(subd)[-1])._asdict() return { 'status': 'success', 'new': latest, }
def api_conversion_rate(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _conversion_rate(start, end) return jsonify({'series': series})
def api_product_average_deal_size(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _product_average_deal_size(start, end) return jsonify({'series': series})
def api_paid_account_count(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _paid_account_count(start, end) return jsonify({'series': series})
def api_downgrades_plus_churn_count(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _downgrades_plus_churn_count(start, end) return jsonify({'series': series})
def api_new_biz_plus_upsell(): start = iso8601_to_dt(request.args.get('start', DEFAULT_START)) end = iso8601_to_dt(request.args.get('end', DEFAULT_END)) series = _new_biz_plus_upsell(start, end) return jsonify({'series': series})
def test_iso8601_to_dt( self ): self.assertEqual( iso8601_to_dt( '2014-04-08' ), datetime( 2014, 4, 8 ) ) self.assertEqual( iso8601_to_dt( '2014-04-08T01' ), datetime( 2014, 4, 8, 1 ) ) self.assertEqual( iso8601_to_dt( '2014-04-08T01:02' ), datetime( 2014, 4, 8, 1, 2 ) ) self.assertEqual( iso8601_to_dt( '2014-04-08T01:02:03' ), datetime( 2014, 4, 8, 1, 2, 3 ) )