Skip to content

Commit

Permalink
Trim LadderView when in 'playViewsOnly'
Browse files Browse the repository at this point in the history
Also:
* Refactor some from the previous commit to use this new feature
* Add usePicoCtf function to application
  • Loading branch information
sderickson committed Nov 18, 2016
1 parent cf1a66f commit c13788b
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 42 deletions.
2 changes: 1 addition & 1 deletion app/core/Router.coffee
Expand Up @@ -207,7 +207,7 @@ module.exports = class CocoRouter extends Backbone.Router
window.currentView.onLeaveMessage = _.noop # to stop repeat confirm calls

# TODO: Combine these two?
if features.codePlay and not (_.string.startsWith(document.location.pathname, '/play') or document.location.pathname is '/admin')
if features.playViewsOnly and not (_.string.startsWith(document.location.pathname, '/play') or document.location.pathname is '/admin')
return @navigate('/play', { trigger: true, replace: true })
path = 'play/CampaignView' if features.playOnly and not /^(views)?\/?play/.test(path)

Expand Down
3 changes: 3 additions & 0 deletions app/core/application.coffee
Expand Up @@ -114,6 +114,9 @@ Application = {
featureMode: {
useCodePlay: ->
$.ajax({method: 'put', url: '/admin/feature-mode/code-play'}).then(-> document.location.reload())

usePicoCtf: ->
$.ajax({method: 'put', url: '/admin/feature-mode/pico-ctf'}).then(-> document.location.reload())

clear: ->
$.ajax({method: 'delete', url: '/admin/feature-mode'}).then(-> document.location.reload())
Expand Down
83 changes: 42 additions & 41 deletions app/templates/base.jade
Expand Up @@ -9,50 +9,51 @@ block header
a(href="/")
span.glyphicon.glyphicon-home

a(href="/about", data-i18n="nav.about")
if me.isStudent()
a(href="/students", data-i18n="nav.my_courses")
if me.isTeacher()
a(href="/teachers/classes", data-i18n="nav.my_classrooms")
if !me.isAnonymous() && !me.isStudent() && !me.isTeacher()
a(href="/play", data-i18n="common.play")
a(href=view.forumLink(), data-i18n="nav.forum")
a(href='/community', data-i18n="nav.community")
if !features.playViewsOnly
a(href="/about", data-i18n="nav.about")
if me.isStudent()
a(href="/students", data-i18n="nav.my_courses")
if me.isTeacher()
a(href="/teachers/classes", data-i18n="nav.my_classrooms")
if !me.isAnonymous() && !me.isStudent() && !me.isTeacher()
a(href="/play", data-i18n="common.play")
a(href=view.forumLink(), data-i18n="nav.forum")
a(href='/community', data-i18n="nav.community")

if me.get('anonymous') === false
span.dropdown
button.btn.btn-sm.header-font.dropdown-toggle(href="#", data-toggle="dropdown")
if me.get('photoURL')
img.account-settings-image(src=me.getPhotoURL(18), alt="")
else
i.glyphicon.glyphicon-user
span.spl.spr(data-i18n="nav.account" href="/account")
span.caret
ul.dropdown-menu(role="menu")
li.user-dropdown-header
span.user-level= me.level()
a(href="/user/#{me.getSlugOrID()}")
div.img-circle(style="background-image: url(#{me.getPhotoURL()})")
h3=me.broadName()
li
a(href="/user/#{me.getSlugOrID()}", data-i18n="nav.profile")
li
a(href="/account/settings", data-i18n="play.settings")
if me.isAdmin() || !(me.isTeacher() || me.isStudent())
if me.get('anonymous') === false
span.dropdown
button.btn.btn-sm.header-font.dropdown-toggle(href="#", data-toggle="dropdown")
if me.get('photoURL')
img.account-settings-image(src=me.getPhotoURL(18), alt="")
else
i.glyphicon.glyphicon-user
span.spl.spr(data-i18n="nav.account" href="/account")
span.caret
ul.dropdown-menu(role="menu")
li.user-dropdown-header
span.user-level= me.level()
a(href="/user/#{me.getSlugOrID()}")
div.img-circle(style="background-image: url(#{me.getPhotoURL()})")
h3=me.broadName()
li
a(href="/account/payments", data-i18n="account.payments")
if me.isAdmin() || !(me.isTeacher() || me.isStudent()) || me.hasSubscription()
a(href="/user/#{me.getSlugOrID()}", data-i18n="nav.profile")
li
a(href="/account/subscription", data-i18n="account.subscription")
if me.isAdmin() || !(me.isTeacher() || me.isStudent())
a(href="/account/settings", data-i18n="play.settings")
if me.isAdmin() || !(me.isTeacher() || me.isStudent())
li
a(href="/account/payments", data-i18n="account.payments")
if me.isAdmin() || !(me.isTeacher() || me.isStudent()) || me.hasSubscription()
li
a(href="/account/subscription", data-i18n="account.subscription")
if me.isAdmin() || !(me.isTeacher() || me.isStudent())
li
a(href="/account/prepaid", data-i18n="account.prepaid_codes")
li
a(href="/account/prepaid", data-i18n="account.prepaid_codes")
li
a#logout-button(data-i18n="login.log_out")

else
button.btn.btn-sm.btn-primary.header-font.signup-button(data-i18n="login.sign_up")
button.btn.btn-sm.btn-default.header-font.login-button(data-i18n="login.log_in")
a#logout-button(data-i18n="login.log_out")

else
button.btn.btn-sm.btn-primary.header-font.signup-button(data-i18n="login.sign_up")
button.btn.btn-sm.btn-default.header-font.login-button(data-i18n="login.log_in")
select.language-dropdown.form-control


Expand All @@ -67,7 +68,7 @@ block footer
#site-footer
img#footer-background(src="/images/pages/base/nav_background.png")

#footer-links
#footer-links(class=features.playViewsOnly ? 'hide' : '')
a(href="/about", data-i18n="nav.about")
a.contact-modal(tabindex=-1, data-i18n="nav.contact")
a(href='http://blog.codecombat.com/', data-i18n="nav.blog")
Expand Down
4 changes: 4 additions & 0 deletions server_setup.coffee
Expand Up @@ -190,10 +190,14 @@ setupFeaturesMiddleware = (app) ->
req.features = features = {
freeOnly: false
}

if config.picoCTF or req.session.featureMode is 'pico-ctf'
features.playOnly = true

if req.headers.host is 'cp.codecombat.com' or req.session.featureMode is 'code-play'
features.freeOnly = true
features.campaignSlugs = ['dungeon', 'forest', 'desert']
features.playViewsOnly = true
features.codePlay = true # for one-off changes. If they're shared across different scenarios, refactor

if req.user
Expand Down

0 comments on commit c13788b

Please sign in to comment.