From 838c912906a68c4eabd046e9adf80566d8b48875 Mon Sep 17 00:00:00 2001 From: TheHollidayInn Date: Wed, 17 Jun 2015 22:22:55 -0500 Subject: [PATCH] Moved clone tasks function to task service --- common/locales/en/challenge.json | 2 +- .../public/js/controllers/challengesCtrl.js | 23 ++++--------------- website/public/js/services/taskServices.js | 23 ++++++++++++++++--- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/common/locales/en/challenge.json b/common/locales/en/challenge.json index 122cbe70f2..51d55ae69c 100644 --- a/common/locales/en/challenge.json +++ b/common/locales/en/challenge.json @@ -52,7 +52,7 @@ "challengedOwnedFilterHeader": "Ownership", "challengedOwnedFilter": "Owned", "challengedNotOwnedFilter": "Not Owned", - "challengedEitherOwnedFilter": "Either",, + "challengedEitherOwnedFilter": "Either", "backToChallenges": "Back to all challenges", "prizeValue": "<%= gemcount %> <%= gemicon %> Prize", "clone": "Clone" diff --git a/website/public/js/controllers/challengesCtrl.js b/website/public/js/controllers/challengesCtrl.js index a2b743d676..985c0de773 100644 --- a/website/public/js/controllers/challengesCtrl.js +++ b/website/public/js/controllers/challengesCtrl.js @@ -49,8 +49,6 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', }); }; - $scope.editTask = Tasks.editTask; - /** * Create */ @@ -100,22 +98,11 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User', todo: [], reward: [] }; - - function cloneTask(taskToClone, index, array) { - var tmpTask = {}; - for( var property in taskToClone ) { - if ( property !== "_id" && property !== "id" && property !== "dateCreated" ) { - tmpTask[property] = taskToClone[property]; - } - } - var task = Shared.taskDefaults(tmpTask); - clonedTasks[taskToClone.type].push(task); - } - - challenge.habits.forEach(cloneTask); - challenge.dailys.forEach(cloneTask); - challenge.todos.forEach(cloneTask); - challenge.rewards.forEach(cloneTask); + + Tasks.cloneTasks(challenge.habits, clonedTasks); + Tasks.cloneTasks(challenge.dailys, clonedTasks); + Tasks.cloneTasks(challenge.todos, clonedTasks); + Tasks.cloneTasks(challenge.rewards, clonedTasks); $scope.obj = $scope.newChallenge = new Challenges.Challenge({ name: challenge.name, diff --git a/website/public/js/services/taskServices.js b/website/public/js/services/taskServices.js index ac13b70641..0796086b52 100644 --- a/website/public/js/services/taskServices.js +++ b/website/public/js/services/taskServices.js @@ -6,10 +6,11 @@ angular tasksFactory.$inject = [ '$rootScope', - 'User' + 'User', + 'Shared' ]; -function tasksFactory($rootScope, User) { +function tasksFactory($rootScope, User, Shared) { function editTask(task) { task._editing = !task._editing; @@ -18,7 +19,23 @@ function tasksFactory($rootScope, User) { if($rootScope.charts[task.id]) $rootScope.charts[task.id] = false; } + function cloneTasks(tasksToClone, arrayWithClonedTasks) { + var len = tasksToClone.length; + for (var i = 0; i < len; i+=1) { + var tmpTask = {}; + var task = tasksToClone[i]; + for( var property in task ) { + if ( property !== "_id" && property !== "id" && property !== "dateCreated" ) { + tmpTask[property] = task[property]; + } + } + var newTask = Shared.taskDefaults(tmpTask); + arrayWithClonedTasks[newTask.type].push(newTask); + } + } + return { - editTask: editTask + editTask: editTask, + cloneTasks: cloneTasks, }; }