Adjust NotGonnaGitUs's PR

* move challenge test to separate file
* adjust wording of popover text
* prevent refunding gems for tavern challenges
* adjust ui of challenge creation page
* fix bug in cancel function
* adjust wording of delete confirmation message
This commit is contained in:
Blade Barringer
2015-05-24 20:51:42 -05:00
parent 120872ffd2
commit abbfdaeda5
6 changed files with 84 additions and 887 deletions
@@ -126,19 +126,27 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User',
$scope.challenges = Challenges.Challenge.query();
User.log({});
}
$scope.cancelClosing = function() {
$scope.cancelClosing = function(challenge) {
$scope.popoverEl.popover('destroy');
$scope.popoverEl = undefined;
$scope.closingChal = undefined;
challenge.winner = undefined;
}
$scope["delete"] = function(challenge) {
if (!confirm(window.env.t('sureDelCha'))) return;
var warningMsg;
if(challenge.group._id == 'habitrpg') {
warningMsg = window.env.t('sureDelChaTavern');
} else {
warningMsg = window.env.t('sureDelCha');
}
if (!confirm(warningMsg)) return;
challenge.$delete(function(){
$scope.popoverEl.popover('destroy');
backToChallenges();
});
};
$scope.selectWinner = function(challenge) {
if (!challenge.winner) return;
if (!confirm(window.env.t('youSure'))) return;
challenge.$close({uid:challenge.winner}, function(){
$scope.popoverEl.popover('destroy');
+4 -10
View File
@@ -300,24 +300,18 @@ function closeChal(cid, broken, cb) {
api['delete'] = function(req, res, next){
var user = res.locals.user;
var cid = req.params.cid;
var chal
async.waterfall([
function(cb){
Challenge.findById(cid, cb);
},
function(_chal, cb){
chal = _chal;
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");
//Refunds to challenge leader
User.findById(user._id, cb)
},
function(leader, cb){
leader.balance += chal.prize/4;
leader.save(cb);
if (chal.group != 'habitrpg') user.balance += chal.prize/4; // Refund gems to user if a non-tavern challenge
user.save(cb);
},
function(save, num, cb){
//Deletes challenge and adds broken link (same as before) add prizeRefundedTo: save.profile.name?
closeChal(req.params.cid, {broken: 'CHALLENGE_DELETED'}, cb);
}
], function(err){
+9 -12
View File
@@ -1,12 +1,12 @@
script(type='text/ng-template', id='partials/options.social.challenges.detail.close.html')
a.btn.btn-sm.btn-danger(ng-click="delete(closingChal)")=env.t('delete')
h5= '- ' + env.t('or') + ' -'
select(ui-select2, ng-required=true, ng-model='closingChal.winner', data-placeholder=env.t('selectWinner'), ng-change='selectWinner(closingChal)', )
select(ui-select2, ng-required=true, ng-model='closingChal.winner', data-placeholder=env.t('selectWinner'), ng-change='selectWinner(closingChal)', style='display:block')
option(value='')
option(ng-repeat='u in closingChal.members', value='{{u._id}}') {{u.profile.name}}
small.pull-right
a(ng-click='cancelClosing(closingChal)')=env.t('cancel')
.text-right
small.btn-link(ng-click='cancelClosing(closingChal)')=env.t('cancel')
script(type='text/ng-template', id='partials/options.social.challenges.detail.member.html')
.modal.bs-modal-lg(style='display: block')
@@ -115,17 +115,14 @@ script(type='text/ng-template', id='partials/options.social.challenges.html')
.form-group
textarea.form-control(cols='3', placeholder=env.t('challengeDescr'), ng-model='newChallenge.description')
//- what's going on here?
br
br
.form-group
input.form-control(type='number', min="{{newChallenge.group=='habitrpg' ? 1 : 0}}", max="{{maxPrize}}", ng-model='newChallenge.prize', placeholder=env.t('prize'))
span.input-suffix.Pet_Currency_Gem1x.inline-gems
| 
span.hint.vertical-20(popover=env.t('prizePop'), popover-trigger='mouseenter', popover-placement='right')
.input-group
span.input-group-addon
.Pet_Currency_Gem1x
input.form-control(type='number', min="{{newChallenge.group=='habitrpg' ? 1 : 0}}", max="{{maxPrize}}", ng-model='newChallenge.prize', placeholder=env.t('prize'))
a.hint(popover="{{newChallenge.group=='habitrpg' ? env.t('prizePopTavern') : env.t('prizePop')}}", popover-trigger='mouseenter', popover-placement='right')
=env.t('moreInfo')
span(ng-show='newChallenge.group=="habitrpg"')
.pull-right(ng-show='newChallenge.group=="habitrpg"')
!=env.t('publicChallenges')
.form-group(ng-if='user.contributor.admin')