diff --git a/common/locales/en/challenge.json b/common/locales/en/challenge.json index c89f1caf16..abce3c33a6 100644 --- a/common/locales/en/challenge.json +++ b/common/locales/en/challenge.json @@ -56,5 +56,8 @@ "backToChallenges": "Back to all challenges", "prizeValue": "<%= gemcount %> <%= gemicon %> Prize", "clone": "Clone", - "challengeNotEnoughGems": "You do not have enough gems to post this challenge." + "challengeNotEnoughGems": "You do not have enough gems to post this challenge.", + "noPermissionEditChallenge": "You don't have permissions to edit this challenge", + "noPermissionDeleteChallenge": "You don't have permissions to delete this challenge", + "noPermissionCloseChallenge": "You don't have permissions to close this challenge" } diff --git a/test/api/challenges.coffee b/test/api/challenges.coffee index 1f47dbc1d8..ad4172c30a 100644 --- a/test/api/challenges.coffee +++ b/test/api/challenges.coffee @@ -10,7 +10,7 @@ describe "Challenges", -> updateTodo = undefined group = undefined - before (done) -> + beforeEach (done) -> async.waterfall [ (cb) -> registerNewUser(cb, true) @@ -23,68 +23,123 @@ describe "Challenges", -> group = res.body expect(group.members.length).to.equal 1 expect(group.leader).to.equal user._id + cb() + , (cb) -> + request.post(baseURL + "/challenges").send( + group: group._id + dailys: [ + type: "daily" + text: "Challenge Daily" + ] + todos: [{ + type: "todo" + text: "Challenge Todo 1" + notes: "Challenge Notes" + }] + rewards: [] + habits: [] + ).end (res) -> + challenge = res.body done() ] - it "Creates a challenge", (done) -> - request.post(baseURL + "/challenges").send( - group: group._id - dailys: [ - type: "daily" - text: "Challenge Daily" - ] - todos: [{ - type: "todo" - text: "Challenge Todo 1" - notes: "Challenge Notes" - }, { - type: "todo" - text: "Challenge Todo 2" - notes: "Challenge Notes" - }] - rewards: [] - habits: [] - official: true - ).end (res) -> - expectCode res, 200 - async.parallel [ - (cb) -> - User.findById user._id, cb - (cb) -> - Challenge.findById res.body._id, cb - ], (err, results) -> - _user = results[0] - challenge = results[1] - expect(_user.dailys[_user.dailys.length - 1].text).to.equal "Challenge Daily" - updateTodo = _user.todos[_user.todos.length - 1] - expect(updateTodo.text).to.equal "Challenge Todo 2" - expect(challenge.official).to.equal false - user = _user - done() - - it "User updates challenge notes", (done) -> - updateTodo.notes = "User overriden notes" - request.put(baseURL + "/user/tasks/" + updateTodo.id).send(updateTodo).end (res) -> - done() # we'll do the check down below - - it "Change challenge daily", (done) -> - challenge.dailys[0].text = "Updated Daily" - challenge.todos[0].notes = "Challenge Updated Todo Notes" - request.post(baseURL + "/challenges/" + challenge._id).send(challenge).end (res) -> - setTimeout (-> - User.findById user._id, (err, _user) -> - expectCode res, 200 - expect(_user.dailys[_user.dailys.length - 1].text).to.equal "Updated Daily" - expect(res.body.todos[0].notes).to.equal "Challenge Updated Todo Notes" - expect(_user.todos[_user.todos.length - 1].notes).to.equal "User overriden notes" - user = _user + describe 'POST /challenge', -> + + it "Creates a challenge", (done) -> + request.post(baseURL + "/challenges").send( + group: group._id + dailys: [ + type: "daily" + text: "Challenge Daily" + ] + todos: [{ + type: "todo" + text: "Challenge Todo 1" + notes: "Challenge Notes" + }, { + type: "todo" + text: "Challenge Todo 2" + notes: "Challenge Notes" + }] + rewards: [] + habits: [] + official: true + ).end (res) -> + expectCode res, 200 + async.parallel [ + (cb) -> + User.findById user._id, cb + (cb) -> + Challenge.findById res.body._id, cb + ], (err, results) -> + user = results[0] + challenge = results[1] + expect(user.dailys[user.dailys.length - 1].text).to.equal "Challenge Daily" + expect(challenge.official).to.equal false done() - ), 500 # we have to wait a while for users' tasks to be updated, called async on server - it "Shows user notes on challenge page", (done) -> - request.get(baseURL + "/challenges/" + challenge._id + "/member/" + user._id).end (res) -> - expect(res.body.todos[res.body.todos.length - 1].notes).to.equal "User overriden notes" - done() + describe 'POST /challenge/:cid', -> + it "updates the notes on user's version of a challenge task's note without updating the challenge", (done) -> + updateTodo = challenge.todos[0] + updateTodo.notes = "User overriden notes" + async.waterfall [ + (cb) -> + request.put(baseURL + "/user/tasks/" + updateTodo.id).send(updateTodo).end (res) -> + cb() + , (cb) -> + Challenge.findById challenge._id, cb + , (chal, cb) -> + expect(chal.todos[0].notes).to.eql("Challenge Notes") + cb() + , (cb) -> + request.get(baseURL + "/user/tasks/" + updateTodo.id) + .end (res) -> + expect(res.body.notes).to.eql("User overriden notes") + done() + ] + + it "changes user's copy of challenge tasks when the challenge is updated", (done) -> + challenge.dailys[0].text = "Updated Daily" + request.post(baseURL + "/challenges/" + challenge._id) + .send(challenge) + .end (res) -> + challenge = res.body + expect(challenge.dailys[0].text).to.equal "Updated Daily" + User.findById user._id, (err, _user) -> + expectCode res, 200 + expect(_user.dailys[_user.dailys.length - 1].text).to.equal "Updated Daily" + done() + + it "does not changes user's notes on tasks when challenge task notes are updated", (done) -> + challenge.todos[0].notes = "Challenge Updated Todo Notes" + request.post(baseURL + "/challenges/" + challenge._id) + .send(challenge) + .end (res) -> + challenge = res.body + expect(challenge.todos[0].notes).to.equal "Challenge Updated Todo Notes" + User.findById user._id, (err, _user) -> + expectCode res, 200 + expect(_user.todos[_user.todos.length - 1].notes).to.equal "Challenge Notes" + done() + + + it "shows user notes on challenge page", (done) -> + updateTodo = challenge.todos[0] + updateTodo.notes = "User overriden notes" + async.waterfall [ + (cb) -> + request.put(baseURL + "/user/tasks/" + updateTodo.id).send(updateTodo).end (res) -> + cb() + , (cb) -> + Challenge.findById challenge._id, cb + , (chal, cb) -> + expect(chal.todos[0].notes).to.eql("Challenge Notes") + cb() + , (cb) -> + request.get(baseURL + "/challenges/" + challenge._id + "/member/" + user._id).end (res) -> + expect(res.body.todos[res.body.todos.length - 1].notes).to.equal "User overriden notes" + done() + ] it "Complete To-Dos", (done) -> User.findById user._id, (err, _user) -> @@ -116,7 +171,7 @@ describe "Challenges", -> done() ), 100 # we need to wait for challenge to update user, it's a background job for perf reasons - it "Admin creates a challenge", (done) -> + it "admin creates a challenge", (done) -> User.findByIdAndUpdate user._id, $set: "contributor.admin": true @@ -204,3 +259,85 @@ describe "Challenges", -> User.findById user._id, (err, _user) -> expect(_user.balance).to.equal 5.5 done() + + describe "non-owner permissions", () -> + challenge = undefined + + beforeEach (done) -> + async.waterfall [ + (cb) -> + request.post(baseURL + "/challenges").send( + group: group._id + name: 'challenge name' + dailys: [ + type: "daily" + text: "Challenge Daily" + ] + ).end (res) -> + challenge = res.body + cb() + + (cb) -> + registerNewUser(done, true) + ] + + context "non-owner", () -> + + it 'can not edit challenge', (done) -> + challenge.name = 'foobar' + request.post(baseURL + "/challenges/" + challenge._id) + .send(challenge) + .end (res) -> + error = res.body.err + + expect(error).to.eql("You don't have permissions to edit this challenge") + done() + + it 'can not close challenge', (done) -> + request.post(baseURL + "/challenges/" + challenge._id + "/close?uid=" + user._id) + .end (res) -> + error = res.body.err + + expect(error).to.eql("You don't have permissions to close this challenge") + done() + + it 'can not delete challenge', (done) -> + request.del(baseURL + "/challenges/" + challenge._id) + .end (res) -> + error = res.body.err + + expect(error).to.eql("You don't have permissions to delete this challenge") + done() + + context "non-owner that is an admin", () -> + + beforeEach (done) -> + User.findByIdAndUpdate(user._id, { 'contributor.admin': true }, done) + + it 'can edit challenge', (done) -> + challenge.name = 'foobar' + request.post(baseURL + "/challenges/" + challenge._id) + .send(challenge) + .end (res) -> + expect(res.body.err).to.not.exist + Challenge.findById challenge._id, (err, chal) -> + expect(chal.name).to.eql('foobar') + done() + + it 'can close challenge', (done) -> + request.post(baseURL + "/challenges/" + challenge._id + "/close?uid=" + user._id) + .end (res) -> + expect(res.body.err).to.not.exist + User.findById user._id, (err, usr) -> + expect(usr.achievements.challenges[0]).to.eql(challenge.name) + done() + + it 'can delete challenge', (done) -> + request.del(baseURL + "/challenges/" + challenge._id) + .end (res) -> + expect(res.body.err).to.not.exist + request.get(baseURL + "/challenges/" + challenge._id) + .end (res) -> + error = res.body.err + expect(error).to.eql("Challenge #{challenge._id} not found") + done() diff --git a/website/public/front/.DS_Store b/website/public/front/.DS_Store deleted file mode 100644 index 4101a837aa..0000000000 Binary files a/website/public/front/.DS_Store and /dev/null differ diff --git a/website/public/front/css/.DS_Store b/website/public/front/css/.DS_Store deleted file mode 100644 index 5008ddfcf5..0000000000 Binary files a/website/public/front/css/.DS_Store and /dev/null differ diff --git a/website/public/front/images/.DS_Store b/website/public/front/images/.DS_Store deleted file mode 100644 index a032bfd2f7..0000000000 Binary files a/website/public/front/images/.DS_Store and /dev/null differ diff --git a/website/public/front/images/avatar/.DS_Store b/website/public/front/images/avatar/.DS_Store deleted file mode 100644 index 5008ddfcf5..0000000000 Binary files a/website/public/front/images/avatar/.DS_Store and /dev/null differ diff --git a/website/public/front/images/party/.DS_Store b/website/public/front/images/party/.DS_Store deleted file mode 100644 index 5008ddfcf5..0000000000 Binary files a/website/public/front/images/party/.DS_Store and /dev/null differ diff --git a/website/public/front/images/presslogos/.DS_Store b/website/public/front/images/presslogos/.DS_Store deleted file mode 100644 index 5008ddfcf5..0000000000 Binary files a/website/public/front/images/presslogos/.DS_Store and /dev/null differ diff --git a/website/public/front/images/testimonials/.DS_Store b/website/public/front/images/testimonials/.DS_Store deleted file mode 100644 index 5008ddfcf5..0000000000 Binary files a/website/public/front/images/testimonials/.DS_Store and /dev/null differ diff --git a/website/public/front/images/uses/.DS_Store b/website/public/front/images/uses/.DS_Store deleted file mode 100644 index 5008ddfcf5..0000000000 Binary files a/website/public/front/images/uses/.DS_Store and /dev/null differ diff --git a/website/public/front/js/.DS_Store b/website/public/front/js/.DS_Store deleted file mode 100644 index 5008ddfcf5..0000000000 Binary files a/website/public/front/js/.DS_Store and /dev/null differ diff --git a/website/src/controllers/challenges.js b/website/src/controllers/challenges.js index 8dea70cd1d..a8bc4dc244 100644 --- a/website/src/controllers/challenges.js +++ b/website/src/controllers/challenges.js @@ -225,7 +225,7 @@ api.update = function(req, res, next){ }, function(_before, cb) { if (!_before) return cb('Challenge ' + cid + ' not found'); - if (_before.leader != user._id) return cb("You don't have permissions to edit this challenge"); + if (_before.leader != user._id && !user.contributor.admin) return cb(shared.i18n.t('noPermissionEditChallenge', req.language)); // Update the challenge, since syncing will need the updated challenge. But store `before` we're going to do some // before-save / after-save comparison to determine if we need to sync to users before = _before; @@ -307,7 +307,7 @@ api['delete'] = function(req, res, next){ }, function(chal, cb){ if (!chal) return cb('Challenge ' + cid + ' not found'); - if (chal.leader != user._id) return cb("You don't have permissions to edit this challenge"); + if (chal.leader != user._id && !user.contributor.admin) return cb(shared.i18n.t('noPermissionDeleteChallenge', req.language)); if (chal.group != 'habitrpg') user.balance += chal.prize/4; // Refund gems to user if a non-tavern challenge user.save(cb); }, @@ -336,7 +336,7 @@ api.selectWinner = function(req, res, next) { function(_chal, cb){ chal = _chal; if (!chal) return cb('Challenge ' + cid + ' not found'); - if (chal.leader != user._id) return cb("You don't have permissions to edit this challenge"); + if (chal.leader != user._id && !user.contributor.admin) return cb(shared.i18n.t('noPermissionCloseChallenge', req.language)); User.findById(req.query.uid, cb) }, function(winner, cb){ diff --git a/website/views/options/inventory/pets.jade b/website/views/options/inventory/pets.jade index e01d89c17c..6fbe1f5fcd 100644 --- a/website/views/options/inventory/pets.jade +++ b/website/views/options/inventory/pets.jade @@ -36,7 +36,7 @@ mixin petList(source) each t,k in env.Content.specialPets - var egg = k.split('-')[0], pot = k.split('-')[1] button(ng-if='user.items.pets["#{egg}-#{pot}"]', class="pet-button Pet-#{egg}-#{pot}", ng-class='{active: user.items.currentPet == "#{egg}-#{pot}"}', ng-click='choosePet("#{egg}", "#{pot}")', popover=env.t(t), popover-trigger='mouseenter', popover-placement='bottom') - a(target='_blank', href='http://habitrpg.wikia.com/wiki/Contributing_to_HabitRPG') + a(target='_blank', href='http://habitica.wikia.com/wiki/Contributing_to_Habitica') button(ng-if='!user.items.pets["Dragon-Hydra"]', class="pet-button pet-not-owned", popover-trigger='mouseenter', popover-placement='right', popover=env.t('rarePetPop1'), popover-title=env.t('rarePetPop2')) .PixelPaw-Gold diff --git a/website/views/options/inventory/time-travelers.jade b/website/views/options/inventory/time-travelers.jade index 2a3f5e48d3..7e7332429a 100644 --- a/website/views/options/inventory/time-travelers.jade +++ b/website/views/options/inventory/time-travelers.jade @@ -16,7 +16,7 @@ .pull-right span.inventory_special_trinket.inline-gems b x{{user.purchased.plan.consecutive.trinkets}} - p!=env.t('timeTravelersPopover', {linkStart: "", linkEnd: ""}) + p!=env.t('timeTravelersPopover', {linkStart: "", linkEnd: ""}) .row: .col-md-12 li.customize-menu.inventory-gear diff --git a/website/views/options/social/challenge-box.jade b/website/views/options/social/challenge-box.jade index f3013b5e46..25364798d0 100644 --- a/website/views/options/social/challenge-box.jade +++ b/website/views/options/social/challenge-box.jade @@ -3,7 +3,7 @@ .panel-heading h3.panel-title=env.t('challenges') |  - a.pull-right(target='_blank', href='http://habitrpg.wikia.com/wiki/Challenges') + a.pull-right(target='_blank', href='http://habitica.wikia.com/wiki/Challenges') small=env.t('moreInfo') .panel-body.modal-fixed-height(bindonce='group.challenges') div(ng-if='group.challenges.length > 0') diff --git a/website/views/options/social/challenges.jade b/website/views/options/social/challenges.jade index 9a78e79dcc..fd1ccd7549 100644 --- a/website/views/options/social/challenges.jade +++ b/website/views/options/social/challenges.jade @@ -30,7 +30,7 @@ script(type='text/ng-template', id='partials/options.social.challenges.detail.me script(type='text/ng-template', id='partials/options.social.challenges.detail.html') // Edit button - div(bindonce='challenge', ng-if='challenge.leader._id==user._id') + div(bindonce='challenge', ng-if='challenge.leader._id==user._id || user.contributor.admin') div(ng-hide='challenge._locked==false') button.btn.btn-sm.btn-default(ng-click='edit(challenge)')=env.t('edit') button.btn.btn-sm.btn-success(ng-click='clone(challenge)')=env.t('clone') diff --git a/website/views/options/social/tavern.jade b/website/views/options/social/tavern.jade index 30974567c2..6589d3fcbb 100644 --- a/website/views/options/social/tavern.jade +++ b/website/views/options/social/tavern.jade @@ -37,13 +37,13 @@ a(target='_blank', href='https://vimeo.com/57654086')=env.t('tutorial') tr td - a(target='_blank', href='http://habitrpg.wikia.com/wiki/FAQ')=env.t('FAQ') + a(target='_blank', href='http://habitica.wikia.com/wiki/FAQ')=env.t('FAQ') tr td - a(target='_blank', href='http://habitrpg.wikia.com/wiki/Glossary')=env.t('glossary') + a(target='_blank', href='http://habitica.wikia.com/wiki/Glossary')=env.t('glossary') tr td - a(target='_blank', href='http://habitrpg.wikia.com/')=env.t('wiki') + a(target='_blank', href='http://habitica.wikia.com/')=env.t('wiki') tr td a(target='_blank', href='https://oldgods.net/habitrpg/habitrpg_user_data_display.html')=env.t('dataTool') @@ -55,7 +55,7 @@ a(target='_blank', href='https://trello.com/c/odmhIqyW/440-read-first-table-of-contents')= ' ' + env.t('requestAF') tr td - a(target='_blank', href='http://habitrpg.wikia.com/wiki/Special:Forum')=env.t('community') + a(target='_blank', href='http://habitica.wikia.com/wiki/Special:Forum')=env.t('community') // Player Tiers .panel.panel-default(popover=env.t('tierPop'), popover-trigger="mouseenter", popover-placement="right") @@ -66,10 +66,10 @@ | =env.t('visitHeroes') |
- | + | =env.t('conLearn') |
- | + | =env.t('conLearnHow') | table.table.table-striped.panel-tiers diff --git a/website/views/shared/header/menu.jade b/website/views/shared/header/menu.jade index 75adc03d94..251ef447af 100644 --- a/website/views/shared/header/menu.jade +++ b/website/views/shared/header/menu.jade @@ -56,7 +56,7 @@ nav.toolbar(ng-controller='MenuCtrl') a(ui-sref='options.settings.export')=env.t('exportData') ul.toolbar-submenu li - a(target="_blank" href='http://habitrpg.wikia.com/wiki/')=env.t('overview') + a(target="_blank" href='http://habitica.wikia.com/wiki/')=env.t('overview') li a(target="_blank" href='https://github.com/HabitRPG/habitrpg/issues/2760')=env.t('reportBug') li @@ -64,9 +64,9 @@ nav.toolbar(ng-controller='MenuCtrl') li a(target="_blank" href='https://trello.com/c/odmhIqyW/440-read-first-table-of-contents')=env.t('requestAF') li - a(target="_blank" href='http://habitrpg.wikia.com/wiki/Contributing_to_HabitRPG')=env.t('contributeToHRPG') + a(target="_blank" href='http://habitica.wikia.com/wiki/Contributing_to_Habitica')=env.t('contributeToHRPG') li - a(target="_blank" href='http://habitrpg.wikia.com/wiki/FAQ')=env.t('FAQ') + a(target="_blank" href='http://habitica.wikia.com/wiki/FAQ')=env.t('FAQ') ul.toolbar-controls li.toolbar-subscribe-button button(ng-if='!user.purchased.plan.customerId',ui-sref='options.settings.subscription',popover-trigger='mouseenter',popover-placement='bottom',popover-title=env.t('subscriptions'),popover=env.t('subDescription'),popover-append-to-body='true')=env.t('subscribe') @@ -147,7 +147,7 @@ nav.toolbar(ng-controller='MenuCtrl') li a(ui-sref='options.settings.export')=env.t('exportData') li.toolbar-button-dropdown.highlight - a(target="_blank" href='http://habitrpg.wikia.com/wiki/') + a(target="_blank" href='http://habitica.wikia.com/wiki/') span.glyphicon.glyphicon-question-sign span=env.t('help') a(ng-click='expandMenu("help")', ng-class='{active: _expandedMenu == "help"}') @@ -155,7 +155,7 @@ nav.toolbar(ng-controller='MenuCtrl') div(ng-if='_expandedMenu == "help"') ul.toolbar-submenu(ng-click='expandMenu(null)') li - a(target="_blank" href='http://habitrpg.wikia.com/wiki/')=env.t('overview') + a(target="_blank" href='http://habitica.wikia.com/wiki/')=env.t('overview') li a(target="_blank" href='https://github.com/HabitRPG/habitrpg/issues/2760')=env.t('reportBug') li @@ -163,9 +163,9 @@ nav.toolbar(ng-controller='MenuCtrl') li a(target="_blank" href='https://trello.com/c/odmhIqyW/440-read-first-table-of-contents')=env.t('requestAF') li - a(target="_blank" href='http://habitrpg.wikia.com/wiki/Contributing_to_HabitRPG')=env.t('contributeToHRPG') + a(target="_blank" href='http://habitica.wikia.com/wiki/Contributing_to_Habitica')=env.t('contributeToHRPG') li - a(target="_blank" href='http://habitrpg.wikia.com/wiki/FAQ')=env.t('FAQ') + a(target="_blank" href='http://habitica.wikia.com/wiki/FAQ')=env.t('FAQ') ul.toolbar-subscribe(ng-if='!user.purchased.plan.customerId') li.toolbar-subscribe-button button.highlight(ui-sref='options.settings.subscription',popover-trigger='mouseenter',popover-placement='bottom',popover-title=env.t('subscriptions'),popover=env.t('subDescription'),popover-append-to-body='true')=env.t('subscribe') @@ -252,7 +252,7 @@ nav.toolbar(ng-controller='MenuCtrl') a(ui-sref='options.settings.notifications')=env.t('notifications') ul.toolbar-submenu(ng-click='expandMenu(null)') li - a(href="http://habitrpg.wikia.com/wiki/FAQ", target='_blank')=env.t('FAQ') + a(href="http://habitica.wikia.com/wiki/FAQ", target='_blank')=env.t('FAQ') li a(href="https://vimeo.com/57654086", target='_blank')=env.t('tutorials') ul.toolbar-controls diff --git a/website/views/shared/modals/achievements.jade b/website/views/shared/modals/achievements.jade index 3b0470abe2..142415be8f 100644 --- a/website/views/shared/modals/achievements.jade +++ b/website/views/shared/modals/achievements.jade @@ -81,7 +81,7 @@ script(id='modals/achievements/contributor.html', type='text/ng-template') div(class="#{env.worldDmg.guide ? 'npc_justin_broken.float-left' : 'npc_justin.float-left'}") p !=env.t('contribModal', {name: "{{user.profile.name}}", level: "{{user.contributor.level}}"}) + ' ' - a(href='http://habitrpg.wikia.com/wiki/Contributor_Rewards' target='_blank')=env.t('contribLink') + a(href='http://habitica.wikia.com/wiki/Contributor_Rewards' target='_blank')=env.t('contribLink') .modal-footer button.btn.btn-default(ng-click='set({"flags.contributor":false}); $close()')=env.t('ok') diff --git a/website/views/shared/tasks/edit/advanced_options.jade b/website/views/shared/tasks/edit/advanced_options.jade index fbd805289e..9c206c5766 100644 --- a/website/views/shared/tasks/edit/advanced_options.jade +++ b/website/views/shared/tasks/edit/advanced_options.jade @@ -29,7 +29,7 @@ div(ng-if='::task.type!="reward"') fieldset.option-group.advanced-option(ng-show="task._advanced") legend.option-title - a.hint.priority-multiplier-help(href='http://habitrpg.wikia.com/wiki/Difficulty', target='_blank', popover-title=env.t('difficultyHelpTitle'), popover-trigger='mouseenter', popover=env.t('difficultyHelpContent'))=env.t('difficulty') + a.hint.priority-multiplier-help(href='http://habitica.wikia.com/wiki/Difficulty', target='_blank', popover-title=env.t('difficultyHelpTitle'), popover-trigger='mouseenter', popover=env.t('difficultyHelpContent'))=env.t('difficulty') ul.priority-multiplier li button(type='button', ng-class='{active: task.priority==0.1}', diff --git a/website/views/static/community-guidelines.jade b/website/views/static/community-guidelines.jade index eede0d5a3d..1eaf145697 100644 --- a/website/views/static/community-guidelines.jade +++ b/website/views/static/community-guidelines.jade @@ -17,7 +17,7 @@ block vars - var layoutEnv = env block title - title HabitRPG |  + title Habitica |  =env.t('communityGuidelines') block content @@ -334,7 +334,7 @@ block content |:  =env.t('commGuideLink02description') li - a(href='http://habitrpg.wikia.com/wiki/HabitRPG_Wiki' target='_blank')=env.t('commGuideLink03') + a(href='http://habitica.wikia.com/wiki/Habitica_Wiki' target='_blank')=env.t('commGuideLink03') |:  =env.t('commGuideLink03description') li @@ -342,19 +342,19 @@ block content |:  =env.t('commGuideLink04description') li - a(href='https://trello.com/b/EpoYEYod/habitrpg' target='_blank')=env.t('commGuideLink05') + a(href='https://trello.com/b/EpoYEYod/' target='_blank')=env.t('commGuideLink05') |:  =env.t('commGuideLink05description') li - a(href='https://trello.com/b/mXK3Eavg/habitrpg-mobile' target='_blank')=env.t('commGuideLink06') + a(href='https://trello.com/b/mXK3Eavg/' target='_blank')=env.t('commGuideLink06') |:  =env.t('commGuideLink06description') li - a(href='https://trello.com/b/vwuE9fbO/habitrpg-pixel-art' target='_blank')=env.t('commGuideLink07') + a(href='https://trello.com/b/vwuE9fbO/' target='_blank')=env.t('commGuideLink07') |:  =env.t('commGuideLink07description') li - a(href='https://trello.com/b/nnv4QIRX/habitrpg-quests' target='_blank')=env.t('commGuideLink08') + a(href='https://trello.com/b/nnv4QIRX/' target='_blank')=env.t('commGuideLink08') |:  =env.t('commGuideLink08description') diff --git a/website/views/static/contact.jade b/website/views/static/contact.jade index 61eae5b530..53c172cf1f 100644 --- a/website/views/static/contact.jade +++ b/website/views/static/contact.jade @@ -15,28 +15,28 @@ block content p =env.t('reportAccountProblems') | :  - a(href='mailto:admin@habitica.com') admin@habitrpg.com + a(href='mailto:admin@habitica.com') admin@habitica.com br =env.t('reportBug') | :  a(target='_blank', href='https://github.com/HabitRPG/habitrpg/issues?q=is%3Aopen') Github br - =env.t('reportCommunityIssues') + =env.t('reportCommunityIssues') | :  - a(href='mailto:leslie@habitica.com') leslie@habitrpg.com + a(href='mailto:leslie@habitica.com') leslie@habitica.com br - =env.t('generalQuestionsSite') + =env.t('generalQuestionsSite') | :  - a(target='_blank', href='http://habitrpg.wikia.com/wiki/The_Keep:The_Newbies_Guild') Newbies Guild + a(target='_blank', href='http://habitica.wikia.com/wiki/The_Keep:The_Newbies_Guild') Newbies Guild br - =env.t('businessInquiries') + =env.t('businessInquiries') | :  - a(href='mailto:vicky@habitica.com') vicky@habitrpg.com + a(href='mailto:vicky@habitica.com') vicky@habitica.com br - =env.t('merchandiseInquiries') + =env.t('merchandiseInquiries') | :  - a(href='mailto:store@habitica.com') store@habitrpg.com + a(href='mailto:store@habitica.com') store@habitica.com br - =env.t('marketingInquiries') + =env.t('marketingInquiries') | :  - a(href='mailto:leslie@habitica.com') leslie@habitrpg.com + a(href='mailto:leslie@habitica.com') leslie@habitica.com diff --git a/website/views/static/plans.jade b/website/views/static/plans.jade index ea320448c6..5b16dba306 100644 --- a/website/views/static/plans.jade +++ b/website/views/static/plans.jade @@ -15,15 +15,15 @@ block content p =env.t('indivPlan1') |  - a(href='http://habitrpg.wikia.com/wiki/Guilds' target='_blank')=env.t('guilds') + a(href='http://habitica.wikia.com/wiki/Guilds' target='_blank')=env.t('guilds') = ' ' + env.t('and') + ' ' - a(href='http://habitrpg.wikia.com/wiki/Challenges' target='_blank')=env.t('challenges') + a(href='http://habitica.wikia.com/wiki/Challenges' target='_blank')=env.t('challenges') |  =env.t('indivPlan2') p =env.t('groupText1') |  - a(href='http://habitrpg.wikia.com/wiki/Habitica' target='_blank')=env.t('habitica') + a(href='http://habitica.wikia.com/wiki/Habitica' target='_blank')=env.t('habitica') |.  =env.t('groupText2') diff --git a/website/views/static/privacy.jade b/website/views/static/privacy.jade index fd32c6f8fd..e3a2895d14 100644 --- a/website/views/static/privacy.jade +++ b/website/views/static/privacy.jade @@ -4,7 +4,7 @@ block vars - var layoutEnv = env block title - title HabitRPG | Privacy + title Habitica | Privacy block content .row @@ -20,8 +20,8 @@ block content p strong PLEASE READ THIS PRIVACY POLICY CAREFULLY. br - | By accessing or otherwise using habitrpg.com or any sub domains thereto ("the Sites"), - | or using a habitrpg.com or HabitRPG application on a mobile device ("the Applications"), + | By accessing or otherwise using habitica.com or any sub domains thereto ("the Sites"), + | or using a habitica.com or Habitica application on a mobile device ("the Applications"), | you agree to be bound contractually by this Privacy Policy. Individually | or collectively, the Applications and the Sites may be referred to as | the "Services." @@ -274,7 +274,7 @@ block content | personally identifiable information without your permission or consent, | we will remove the information from our active list, at your request. To | request the removal of your child's information, please email us at - | admin@habitrpg.com and be sure to include in + | admin@habitica.com and be sure to include in | your message the same login information that your child submitted. p strong @@ -305,4 +305,4 @@ block content | Los Angeles, CA 90025 br | Email:  - a(href='mailto:admin@habitrpg.com') admin@habitrpg.com + a(href='mailto:admin@habitica.com') admin@habitica.com diff --git a/website/views/static/terms.jade b/website/views/static/terms.jade index 78222bc12a..6215ae92c5 100644 --- a/website/views/static/terms.jade +++ b/website/views/static/terms.jade @@ -220,7 +220,7 @@ block content br | Los Angeles, CA 90025 br - | E-Mail: admin@habitrpg.com + | E-Mail: admin@habitica.com p | Again, we cannot take action unless you give us all the required | information. @@ -574,4 +574,4 @@ block content strong Contacting Us br | If you have any questions about these Terms of Service, please contact - | us at admin@habitrpg.com + | us at admin@habitica.com