From 8a121a5dc370792a354e9c4f3a5592b9e6851b7b Mon Sep 17 00:00:00 2001 From: kholliday Date: Tue, 10 Mar 2015 22:15:24 -0500 Subject: [PATCH] Added hide and error message when a user tries to create a challenge for HabitRPG group and they have no gems --- common/locales/en/challenge.json | 3 ++- website/public/js/controllers/challengesCtrl.js | 7 ++++++- website/views/options/social/challenges.jade | 6 ++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/common/locales/en/challenge.json b/common/locales/en/challenge.json index 28746de0e5..25683e2ca9 100644 --- a/common/locales/en/challenge.json +++ b/common/locales/en/challenge.json @@ -46,5 +46,6 @@ "removeTasks": "Remove Tasks", "keepTasks": "Keep Tasks", "closeCha": "Close challenge and...", - "leaveCha": "Leave challenge and..." + "leaveCha": "Leave challenge and...", + "challengeNotEnoughGems": "You do not have enough gems to post this challenge." } diff --git a/website/public/js/controllers/challengesCtrl.js b/website/public/js/controllers/challengesCtrl.js index dd397f6a45..157a211b59 100644 --- a/website/public/js/controllers/challengesCtrl.js +++ b/website/public/js/controllers/challengesCtrl.js @@ -45,6 +45,7 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', */ $scope.save = function(challenge) { if (!challenge.group) return alert(window.env.t('selectGroup')); + if (!$scope.enoughGems) return alert(window.env.t('challengeNotEnoughGems')); var isNew = !challenge._id; challenge.$save(function(_challenge){ if (isNew) { @@ -218,7 +219,11 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', if (!gid) return; var group = _.find($scope.groups, {_id:gid}); $scope.maxPrize = User.user.balance*4 + ((group && group.balance && group.leader==User.user._id) ? group.balance*4 : 0); - if (gid == 'habitrpg') $scope.newChallenge.prize = 1; + $scope.enoughGems = true; + if (gid == 'habitrpg') { + $scope.newChallenge.prize = 1; + if ( $scope.maxPrize <= 0 ) $scope.enoughGems = false; + } }) $scope.selectAll = function(){ diff --git a/website/views/options/social/challenges.jade b/website/views/options/social/challenges.jade index 1f93754220..da72a2ebf4 100644 --- a/website/views/options/social/challenges.jade +++ b/website/views/options/social/challenges.jade @@ -116,9 +116,11 @@ script(type='text/ng-template', id='partials/options.social.challenges.html') //- what's going on here? br br - + div.alert.alert-warning(ng-hide="enoughGems") + =env.t('challengeNotEnoughGems') .form-group - input.form-control(type='number', min="{{newChallenge.group=='habitrpg' ? 1 : 0}}", max="{{maxPrize}}", ng-model='newChallenge.prize', placeholder=env.t('prize')) + input.form-control(type='number', min="{{newChallenge.group=='habitrpg' ? 1 : 0}}", max="{{enoughGems ? maxPrize : null}}", ng-model='newChallenge.prize', placeholder=env.t('prize'), ng-show="enoughGems") + span.input-suffix.Pet_Currency_Gem1x.inline-gems |  span.hint.vertical-20(popover=env.t('prizePop'), popover-trigger='mouseenter', popover-placement='right')