2015-03-27 14:22:21 -04:00
|
|
|
extends /templates/base
|
|
|
|
|
|
|
|
block content
|
2015-04-07 18:00:50 -04:00
|
|
|
|
2015-03-27 14:22:21 -04:00
|
|
|
if !me.isAdmin()
|
|
|
|
div You must be logged in as an admin to view this page.
|
|
|
|
else
|
2015-04-07 18:00:50 -04:00
|
|
|
|
2015-03-27 14:22:21 -04:00
|
|
|
if total === 0
|
2015-04-07 18:00:50 -04:00
|
|
|
h4 Fetching dashboard data...
|
2015-03-27 14:22:21 -04:00
|
|
|
else
|
2015-04-06 19:58:36 -04:00
|
|
|
.container-fluid
|
|
|
|
.row
|
|
|
|
.col-md-5.big-stat.total-count
|
|
|
|
div.description Total
|
|
|
|
div.count= total
|
|
|
|
.col-md-5.big-stat.remaining-count
|
|
|
|
div.description Remaining
|
|
|
|
div.count= total - cancelled
|
|
|
|
.col-md-5.big-stat.cancelled-count
|
|
|
|
div.description Cancelled
|
|
|
|
div.count= cancelled
|
|
|
|
.col-md-5.big-stat.growth-rate
|
|
|
|
div.description 30 Day Total Growth
|
|
|
|
div.count #{monthlyGrowth.toFixed(1)}%
|
|
|
|
.col-md-5.big-stat.churn-count
|
|
|
|
div.description Monthly Churn
|
|
|
|
div.count #{monthlyChurn.toFixed(1)}%
|
|
|
|
|
2015-03-27 18:27:22 -04:00
|
|
|
each graph in analytics.graphs
|
|
|
|
.line-graph-container
|
|
|
|
each line in graph.lines
|
|
|
|
each point in line.points
|
|
|
|
.graph-point-info-container(data-pointid="#{point.pointID}")
|
|
|
|
div(style='font-weight:bold;') #{point.day}
|
|
|
|
each value in point.values
|
|
|
|
div #{value}
|
|
|
|
|
2015-04-07 18:00:50 -04:00
|
|
|
h2 Recent Subscribers
|
|
|
|
if !subscribers || subscribers.length < 1
|
|
|
|
h4 Fetching recent subscribers...
|
|
|
|
else
|
2015-04-21 18:58:45 -04:00
|
|
|
table.table.table-striped.table-condensed
|
2015-04-23 16:34:41 -04:00
|
|
|
thead.subscribers-thead
|
2015-04-07 18:00:50 -04:00
|
|
|
tr
|
2015-04-21 18:58:45 -04:00
|
|
|
th Sub ID
|
2015-04-07 18:00:50 -04:00
|
|
|
th User Start
|
|
|
|
th Sub Start
|
2015-04-08 14:53:22 -04:00
|
|
|
if subscriberCancelled
|
|
|
|
th Cancelled
|
|
|
|
else
|
|
|
|
th
|
2015-04-23 16:34:41 -04:00
|
|
|
if subscriberSponsored
|
|
|
|
th Sponsored
|
|
|
|
else
|
|
|
|
th
|
2015-04-07 18:00:50 -04:00
|
|
|
th Email
|
|
|
|
th Hero
|
|
|
|
th Level
|
|
|
|
th Last Level
|
|
|
|
th Age
|
|
|
|
th Spoken
|
2015-04-23 16:34:41 -04:00
|
|
|
th Clans
|
2015-04-21 18:58:45 -04:00
|
|
|
tbody.subscribers-tbody
|
2015-04-07 18:00:50 -04:00
|
|
|
each subscriber in subscribers
|
|
|
|
tr
|
2015-04-21 18:58:45 -04:00
|
|
|
td
|
2015-04-23 16:34:41 -04:00
|
|
|
a(href="https://dashboard.stripe.com/customers/#{subscriber.customerID}", target="_blank")= subscriber.subID
|
2015-04-07 18:00:50 -04:00
|
|
|
td= subscriber.user.dateCreated.substring(0, 10)
|
|
|
|
td= subscriber.start.substring(0, 10)
|
|
|
|
td
|
|
|
|
if subscriber.cancel
|
|
|
|
span= subscriber.cancel.substring(0, 10)
|
|
|
|
td
|
|
|
|
if subscriber.user.stripe.sponsorID
|
2015-04-23 16:34:41 -04:00
|
|
|
span Yes
|
2015-04-07 18:00:50 -04:00
|
|
|
td= subscriber.user.emailLower
|
|
|
|
td= subscriber.hero
|
|
|
|
td= subscriber.level
|
|
|
|
td= subscriber.user.lastLevel
|
|
|
|
td= subscriber.user.ageRange
|
|
|
|
td= subscriber.user.preferredLanguage
|
2015-04-23 16:34:41 -04:00
|
|
|
if subscriber.user.clans
|
|
|
|
td= subscriber.user.clans.length
|
|
|
|
else
|
|
|
|
td
|
2015-04-07 18:00:50 -04:00
|
|
|
|
|
|
|
h2 Subscriptions
|
|
|
|
if !subs || subs.length < 1
|
|
|
|
h4 Fetching subscriptions...
|
|
|
|
else
|
|
|
|
table.table.table-condensed
|
2015-03-27 14:22:21 -04:00
|
|
|
thead
|
|
|
|
tr
|
|
|
|
th Day
|
|
|
|
th Total
|
|
|
|
th Started
|
|
|
|
th Cancelled
|
2015-04-23 16:34:41 -04:00
|
|
|
th Net (cancelled)
|
2015-04-10 14:27:55 -04:00
|
|
|
th Ended
|
2015-04-23 16:34:41 -04:00
|
|
|
th Net (ended)
|
2015-03-27 14:22:21 -04:00
|
|
|
tbody
|
|
|
|
each sub in subs
|
|
|
|
tr
|
|
|
|
td= sub.day
|
|
|
|
td= sub.total
|
|
|
|
td= sub.started
|
|
|
|
td= sub.cancelled
|
2015-04-07 18:00:50 -04:00
|
|
|
td= sub.started - sub.cancelled
|
2015-04-10 14:27:55 -04:00
|
|
|
td= sub.ended
|
2015-04-23 16:34:41 -04:00
|
|
|
td= sub.started - sub.ended
|