Created
July 9, 2012 20:45
-
-
Save OniOni/3078785 to your computer and use it in GitHub Desktop.
Code for having a popup encouraging free users to subscribe after minutes are over.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/hostess/maitred/maitred/controllers/bugs.py b/hostess/maitred/maitred/controllers/bugs.py | |
index 39913e5..a456743 100644 | |
--- a/hostess/maitred/maitred/controllers/bugs.py | |
+++ b/hostess/maitred/maitred/controllers/bugs.py | |
@@ -168,6 +168,7 @@ class BugsController(BaseController): | |
if c.loginname: | |
c.user = User.load(c.loginname) | |
c.subscribed = c.user.get_ancestor().get('SubscriptionActive') | |
+ c.minutes = c.user.get_minutes(type="ScoutCredits") | |
force_flash = request.params.get('force_flash', None) | |
session['live_scout_views'] = session.get('live_scout_views', 0) + 1 | |
diff --git a/hostess/maitred/maitred/public/js/scout/scout.js b/hostess/maitred/maitred/public/js/scout/scout.js | |
index 05e032f..1371c48 100644 | |
--- a/hostess/maitred/maitred/public/js/scout/scout.js | |
+++ b/hostess/maitred/maitred/public/js/scout/scout.js | |
@@ -937,12 +937,32 @@ scout.control.submitBug = function() { | |
}, takeScreenShot, "json"); | |
}; | |
+scout.control.setUpSubscribePopup = function () { | |
+ console.log('subscribed '+window.subscribed+' minutes :'+window.minutes+' of type '+typeof window.minutes); | |
+ if ((!window.subscribed || window.subscribed == 'None') && typeof window.minutes == 'number') { | |
+ var url = '/scout/live/'+scout.scoutIds[scout.curTabId]+'/status' + '?' + scout.paramVars; | |
+ | |
+ $.getJSON(url , function (data) { | |
+ if (data.status == 'in progress') { | |
+ console.log('Arming timer, will fire in '+window.minutes+' mins.'); | |
+ window.setTimeout(function () { | |
+ showSubscribe(); | |
+ }, window.minutes * 60000); | |
+ } else { | |
+ console.log('Checking status in 10 seconds'); | |
+ window.setTimeout(scout.control.setUpSubscribePopup, 10000); | |
+ } | |
+ }); | |
+ } | |
+}; | |
+ | |
scout.control.initFirstJob = function() { | |
var wrap = $('#main .wrap'); | |
wrap.height(scout.view.getAvailableHeight() - scout.wrapOffset); | |
scout.view.createNewTabHtml(scout.curTabId); | |
scout.control.switchToTab(scout.curTabId); | |
+ scout.control.setUpSubscribePopup(); | |
scout.control.jobStatusLoop(); | |
}; | |
diff --git a/hostess/maitred/maitred/templates/scout/scout.mako b/hostess/maitred/maitred/templates/scout/scout.mako | |
index bc1c47f..11ba010 100644 | |
--- a/hostess/maitred/maitred/templates/scout/scout.mako | |
+++ b/hostess/maitred/maitred/templates/scout/scout.mako | |
@@ -15,6 +15,7 @@ | |
${h.javascript_link("/js/jquery/jquery.blockUI.js")} | |
${h.javascript_link("/js/quicksignup.js")} | |
<script type="text/javascript"> | |
+ window.minutes = ${c.minutes if type(c.minutes) in (int, long) else '"'+c.minutes+'"'}; | |
window.subscribed = "${c.subscribed}"; | |
window.initialJobId = "${c.job_id}"; | |
window.initialTaskId = "${c.task['id']}"; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment