From 74ef8cd443c91c2139f0c0e638bf0ebfcbece030 Mon Sep 17 00:00:00 2001 From: TheHollidayInn Date: Sat, 11 Apr 2015 15:58:29 -0500 Subject: [PATCH] Added filter by owner for challenges --- common/locales/en/challenge.json | 6 +++++- website/public/js/controllers/challengesCtrl.js | 8 ++++++++ website/views/options/social/challenges.jade | 13 +++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/common/locales/en/challenge.json b/common/locales/en/challenge.json index c0b5543caf..36c9227e28 100644 --- a/common/locales/en/challenge.json +++ b/common/locales/en/challenge.json @@ -46,5 +46,9 @@ "removeTasks": "Remove Tasks", "keepTasks": "Keep Tasks", "closeCha": "Close challenge and...", - "leaveCha": "Leave challenge and..." + "leaveCha": "Leave challenge and...", + "challengedOwnedFilterHeader": "Ownership", + "challengedOwnedFilter": "Owned", + "challengedNotOwnedFilter": "Not Owned", + "challengedEitherOwnedFilter": "Either" } diff --git a/website/public/js/controllers/challengesCtrl.js b/website/public/js/controllers/challengesCtrl.js index 6df490571a..e0ff980fcc 100644 --- a/website/public/js/controllers/challengesCtrl.js +++ b/website/public/js/controllers/challengesCtrl.js @@ -256,6 +256,14 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', // }) // TODO probably better to use $watch above, to avoid this being calculated on every digest cycle $scope.filterChallenges = function(chal){ + + //Filter challenges that are owned by the user + if ($scope.search._isOwner == true) { + return (chal.leader._id == User.user.id); + } else if ($scope.search._isOwner == false) { + return (chal.leader._id != User.user.id); + } + return (!$scope.search) ? true : ($scope.search.group[chal.group._id] && (typeof $scope.search._isMember == 'undefined' || $scope.search._isMember == chal._isMember)); diff --git a/website/views/options/social/challenges.jade b/website/views/options/social/challenges.jade index c23a184fc8..cfe98fbd3f 100644 --- a/website/views/options/social/challenges.jade +++ b/website/views/options/social/challenges.jade @@ -91,6 +91,19 @@ script(type='text/ng-template', id='partials/options.social.challenges.html') label input(type='radio', name='search-participation-radio', ng-click='search._isMember = undefined', checked='checked') =env.t('either') + h4=env.t('challengedOwnedFilterHeader') + .radio + label + input(type='radio', name='search-participation-radio', ng-click='search._isOwner = true') + =env.t('challengedOwnedFilter') + .radio + label + input(type='radio', name='search-participation-radio', ng-click='search._isOwner = false') + =env.t('challengedNotOwnedFilter') + .radio + label + input(type='radio', name='search-participation-radio', ng-click='search._isOwner = undefined') + =env.t('challengedEitherOwnedFilter') .col-md-10 a.btn.btn-info#back-to-challenges(ng-show="cid", ui-sref='options.social.challenges', ui-sref-opts='{reload: true}') | Back to all challenges