mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-02-17 08:50:58 -05:00
Merge branch 'master' into production
This commit is contained in:
commit
c6bb6580ab
7 changed files with 59 additions and 50 deletions
|
@ -68,6 +68,11 @@ module.exports = class LevelSetupManager extends CocoClass
|
|||
@session.set 'heroConfig', {"thangType":goliath,"inventory":{"eyes":"53eb99f41a100989a40ce46e","neck":"54693274a2b1f53ce79443c9","wrists":"54693797a2b1f53ce79443e9","feet":"546d4d8e9df4a17d0d449acd","minion":"54eb5bf649fa2d5c905ddf4a","programming-book":"557871261ff17fef5abee3ee"}}
|
||||
@onInventoryModalPlayClicked()
|
||||
return
|
||||
if @level.get('slug') is 'assembly-speed'
|
||||
raider = '55527eb0b8abf4ba1fe9a107'
|
||||
@session.set 'heroConfig', {"thangType":raider,"inventory":{}}
|
||||
@onInventoryModalPlayClicked()
|
||||
return
|
||||
if @level.get('type', true) in ['course', 'course-ladder']
|
||||
@onInventoryModalPlayClicked()
|
||||
return
|
||||
|
|
|
@ -858,6 +858,7 @@
|
|||
started_2: "Started"
|
||||
not_started_2: "Not Started"
|
||||
view_solution: "Click to view solution."
|
||||
view_attempt: "Click to view attempt."
|
||||
latest_achievement: "Latest Achievement"
|
||||
playtime: "Playtime"
|
||||
last_played: "Last played"
|
||||
|
|
|
@ -35,7 +35,7 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
|
|||
contact: "Contate-nos"
|
||||
twitter_follow: "Seguir"
|
||||
teachers: "Professores"
|
||||
# careers: "Careers"
|
||||
careers: "Carreiras"
|
||||
|
||||
modal:
|
||||
close: "Fechar"
|
||||
|
@ -740,8 +740,8 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
|
|||
wrong_password: "Senha Incorreta"
|
||||
upload_picture: "Enviar uma foto"
|
||||
delete_this_account: "Excluir essa conta definitivamente"
|
||||
# reset_progress_tab: "Reset All Progress"
|
||||
# reset_your_progress: "Clear all your progress and start over"
|
||||
reset_progress_tab: "Resetar Todo o Progresso"
|
||||
reset_your_progress: "Apaga todo seu progresso e começa novamente"
|
||||
god_mode: "Modo Deus"
|
||||
password_tab: "Senha"
|
||||
emails_tab: "Emails"
|
||||
|
@ -879,7 +879,7 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
|
|||
course: "Curso"
|
||||
courses: "cursos"
|
||||
not_enrolled: "Você não está matriculado nesse curso."
|
||||
visit_pref: "Por gntileza, visite e"
|
||||
visit_pref: "Por gentileza, visite a"
|
||||
visit_suf: "página para matricular-se."
|
||||
select_class: "Selecione uma de suas classes"
|
||||
unnamed: "*sem nome*"
|
||||
|
@ -887,18 +887,18 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
|
|||
unnamed_class: "Classe Sem Nome"
|
||||
edit_settings: "editar configurações da classe"
|
||||
edit_settings1: "Editar Configurações da Classe"
|
||||
# progress: "Class Progress"
|
||||
# add_students: "Add Students"
|
||||
# stats: "Statistics"
|
||||
# total_students: "Total students:"
|
||||
# average_time: "Average level play time:"
|
||||
# total_time: "Total play time:"
|
||||
# average_levels: "Average levels completed:"
|
||||
# total_levels: "Total levels completed:"
|
||||
# furthest_level: "Furthest level completed:"
|
||||
# concepts_covered: "Concepts Covered"
|
||||
# students: "Students"
|
||||
# students1: "students"
|
||||
progress: "Progresso da Classe"
|
||||
add_students: "Adicionar Alunos"
|
||||
stats: "Estatísticas"
|
||||
total_students: "Total de Alunos:"
|
||||
average_time: "Average level play time:"
|
||||
total_time: "Total play time:"
|
||||
average_levels: "Média de níveis completados:"
|
||||
total_levels: "Total de níveis completados:"
|
||||
furthest_level: "Maior nível alcançado:"
|
||||
concepts_covered: "Conceitos Abordados"
|
||||
students: "Estudantes"
|
||||
students1: "estudantes"
|
||||
# expand_details: "Expand details"
|
||||
# concepts: "Concepts"
|
||||
# levels: "levels"
|
||||
|
@ -955,10 +955,10 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
|
|||
# enroll: "Enroll"
|
||||
# pick_from_classes: "Pick from your current classes"
|
||||
# enter: "Enter"
|
||||
# or: "Or"
|
||||
# topics: "Topics"
|
||||
# hours_content: "Hours of content:"
|
||||
# get_free: "Get FREE course"
|
||||
or: "Ou"
|
||||
topics: "Tópicos"
|
||||
hours_content: "Horas de conteúdo:"
|
||||
get_free: "Obtenha um curso GRÁTIS"
|
||||
|
||||
classes:
|
||||
archmage_title: "Arquimago"
|
||||
|
|
|
@ -12,14 +12,14 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
multiplayer: "Multijogador" # Not currently shown on home page
|
||||
for_developers: "Para Programadores" # Not currently shown on home page.
|
||||
or_ipad: "Ou descarrega para iPad"
|
||||
# hoc_class_code: "I Have a Class Code"
|
||||
# hoc_enter: "Enter"
|
||||
# hoc_title: "Hour of Code?"
|
||||
hoc_class_code: "Tenho um Código de Turma"
|
||||
hoc_enter: "Entrar"
|
||||
hoc_title: "Hora do Código?"
|
||||
|
||||
nav:
|
||||
play: "Níveis" # The top nav bar entry where players choose which levels to play
|
||||
community: "Comunidade"
|
||||
# courses: "Courses"
|
||||
courses: "Cursos"
|
||||
editor: "Editor"
|
||||
blog: "Blog"
|
||||
forum: "Fórum"
|
||||
|
@ -54,7 +54,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
|
||||
play:
|
||||
play_as: "Jogar Como" # Ladder page
|
||||
# compete: "Compete!" # Course details page
|
||||
compete: "Competir!" # Course details page
|
||||
spectate: "Assistir" # Ladder page
|
||||
players: "jogadores" # Hover over a level on /play
|
||||
hours_played: "horas jogadas" # Hover over a level on /play
|
||||
|
@ -221,10 +221,10 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
years: "anos"
|
||||
|
||||
play_level:
|
||||
# completed_level: "Completed Level:"
|
||||
# course: "Course:"
|
||||
completed_level: "Nível Completo:"
|
||||
course: "Curso:"
|
||||
done: "Concluir"
|
||||
# next_level: "Next Level:"
|
||||
next_level: "Próximo Nível:"
|
||||
next_game: "Próximo jogo"
|
||||
show_menu: "Mostrar o menu do jogo"
|
||||
home: "Início" # Not used any more, will be removed soon.
|
||||
|
@ -253,7 +253,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
victory_title_suffix: " Concluído"
|
||||
victory_sign_up: "Criar Conta para Guardar Progresso"
|
||||
victory_sign_up_poke: "Queres guardar o teu código? Cria uma conta grátis!"
|
||||
victory_rate_the_level: "Classifica o nível: " # {change}
|
||||
victory_rate_the_level: "Quão divertido foi este nível?"
|
||||
victory_return_to_ladder: "Voltar à Classificação"
|
||||
victory_play_continue: "Continuar"
|
||||
victory_saving_progress: "A Guardar Progresso"
|
||||
|
@ -620,16 +620,16 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
free_title: "Quanto custa?"
|
||||
# cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers."
|
||||
free_1: "Há 110+ níveis GRATUITOS que abordam cada conceito."
|
||||
free_2: "Uma subscrição mensal garante acesso a tutoriais em vídeo e a níveis extra para praticar."
|
||||
# free_3: "The CodeCombat content is divided into"
|
||||
# free_4: "courses"
|
||||
# free_5: ". The first course is free, and about an hour of material."
|
||||
# free_6: "Access to the additional courses can be unlocked with a one-time purchase."
|
||||
teacher_subs_title: "Os professores recebem uma subscrição gratuita!" # {change}
|
||||
teacher_subs_0: "Oferecemos subscrições gartuitas para professores, para fins de avaliação." # {change}
|
||||
free_2: "Uma subscrição mensal dá acesso a tutoriais em vídeo e a níveis extra para praticar."
|
||||
free_3: "O conteúdo do CodeCombat está dividido em"
|
||||
free_4: "cursos"
|
||||
free_5: ". O primeiro curso é gratuito e tem cerca de uma hora de material."
|
||||
free_6: "O acesso aos cursos adicionais pode ser desbloqueado com uma compra de uma só vez."
|
||||
teacher_subs_title: "Os professores recebem uma avaliação gratuita!"
|
||||
teacher_subs_0: "Oferecemos avaliações gratuitas a professores."
|
||||
teacher_subs_1: "Por favor, preenche o nosso"
|
||||
teacher_subs_2: "Inquérito para Professores"
|
||||
teacher_subs_3: "para configurares a tua subscrição." # {change}
|
||||
teacher_subs_3: "para experimentares os cursos pagos."
|
||||
sub_includes_title: "O que está incluído na subscrição?"
|
||||
sub_includes_1: "Para além dos 110+ níveis básicos, os estudantes com uma subscrição mensal têm acesso às seguintes funcionalidades adicionais:"
|
||||
sub_includes_2: "80+ níveis para praticar"
|
||||
|
@ -673,22 +673,22 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
title: "Inquérito para Professores"
|
||||
must_be_logged: "Primeiro tens de ter sessão iniciada. Por favor, cria uma conta ou inicia sessão a partir do menu acima."
|
||||
retrieving: "A recolher informações..."
|
||||
being_reviewed_1: "A tua aplicação para uma subscrição de avaliação gratuita está a ser" # {change}
|
||||
being_reviewed_1: "A tua aplicação para uma avaliação gratuita está a ser"
|
||||
being_reviewed_2: "revista."
|
||||
approved_1: "A tua aplicação para uma subscrição de avaliação gratuita foi" # {change}
|
||||
approved_1: "A tua aplicação para uma avaliação gratuita foi"
|
||||
approved_2: "aprovada."
|
||||
approved_3: "Mais instruções foram enviadas para"
|
||||
# approved_4: "Enroll your students on the"
|
||||
# approved_5: "courses"
|
||||
# approved_6: "page."
|
||||
denied_1: "A tua aplicação para uma subscrição de avaliação gratuita foi" # {change}
|
||||
approved_4: "Inscreve os teus alunos na"
|
||||
approved_5: "página"
|
||||
approved_6: "dos cursos."
|
||||
denied_1: "A tua aplicação para uma avaliação gratuita foi"
|
||||
denied_2: "recusada."
|
||||
contact_1: "Por favor, contacta"
|
||||
contact_2: "se tiveres mais questões."
|
||||
description_1: "Oferecemos subscrições gratuitas a professores para efeitos de avaliação. Na nossa página para" # {change}
|
||||
# description_1b: "You can find more information on our"
|
||||
description_2: "professores"
|
||||
description_3: "podes encontar muitas mais informações."
|
||||
description_1: "Oferecemos avaliações gratuitas a professores. Vão-te ser dadas duas inscrições gratuitas que podem ser usadas para inscrever estudantes em cursos pagos."
|
||||
description_1b: "Podes encontrar mais informações na nossa"
|
||||
description_2: "página"
|
||||
description_3: "para professores."
|
||||
description_4: "Por favor, preenche este pequeno inquérito e nós enviar-te-emos, por e-mail, as instruções de configuração."
|
||||
email: "Endereço de E-mail"
|
||||
school: "Nome da Escola"
|
||||
|
|
|
@ -256,7 +256,7 @@ mixin progress-members-popup-started(i, level, session)
|
|||
span.spr(data-i18n="clans.last_played")
|
||||
span #{moment(session.get('changed')).format('MMMM Do YYYY, h:mm:ss a')}
|
||||
if adminMode
|
||||
strong(data-i18n="clans.view_solution")
|
||||
strong(data-i18n="clans.view_attempt")
|
||||
|
||||
mixin levels-tab
|
||||
table.table.table-striped.table-condensed
|
||||
|
|
|
@ -283,6 +283,9 @@ module.exports = class PlayLevelView extends RootView
|
|||
else if e.level.get('slug') is 'ace-of-coders'
|
||||
goliath = '55e1a6e876cb0948c96af9f8'
|
||||
e.session.set 'heroConfig', {"thangType":goliath,"inventory":{"eyes":"53eb99f41a100989a40ce46e","neck":"54693274a2b1f53ce79443c9","wrists":"54693797a2b1f53ce79443e9","feet":"546d4d8e9df4a17d0d449acd","minion":"54eb5bf649fa2d5c905ddf4a","programming-book":"557871261ff17fef5abee3ee"}}
|
||||
else if e.level.get('slug') is 'assembly-speed'
|
||||
raider = '55527eb0b8abf4ba1fe9a107'
|
||||
e.session.set 'heroConfig', {"thangType":raider,"inventory":{}}
|
||||
else if e.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] and not _.size e.session.get('heroConfig')?.inventory ? {}
|
||||
@setupManager?.destroy()
|
||||
@setupManager = new LevelSetupManager({supermodel: @supermodel, level: @level, levelID: @levelID, parent: @, session: @session, courseID: @courseID, courseInstanceID: @courseInstanceID})
|
||||
|
|
|
@ -705,11 +705,11 @@ UserHandler = class UserHandler extends Handler
|
|||
return @sendMethodNotAllowed res unless req.method is 'POST'
|
||||
return @sendForbiddenError res unless userID and userID is req.user?._id + '' # Only you can reset your own progress
|
||||
return @sendForbiddenError res if req.user?.isAdmin() # Protect admins from resetting their progress
|
||||
@resetProgressForUser req.user, (err, results) =>
|
||||
@constructor.resetProgressForUser req.user, (err, results) =>
|
||||
return @sendDatabaseError res, err if err
|
||||
@sendSuccess res, result: 'success'
|
||||
|
||||
resetProgressForUser: (user, cb) ->
|
||||
@resetProgressForUser: (user, cb) ->
|
||||
async.parallel [
|
||||
(cb) -> LevelSession.remove {creator: user._id + ''}, cb
|
||||
(cb) -> EarnedAchievement.remove {user: user._id + ''}, cb
|
||||
|
|
Loading…
Reference in a new issue