v3: fix adding multiple tasks

This commit is contained in:
Matteo Pagliazzi
2016-05-15 16:43:17 +02:00
parent 0be5d1da9c
commit b31de3845b
3 changed files with 20 additions and 12 deletions

View File

@@ -29,14 +29,18 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N
Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'score task','taskType':task.type,'direction':direction});
};
function addTask(addTo, listDef, task) {
var newTask = {
text: task,
type: listDef.type,
tags: _.keys(User.user.filters),
};
function addTask(addTo, listDef, tasks) {
tasks = _.isArray(tasks) ? tasks : [tasks];
User.addTask({body: newTask});
User.addTask({
body: tasks.map(function (task) {
return {
text: task,
type: listDef.type,
tags: _.keys(User.user.filters),
}
}),
});
}
$scope.addTask = function(addTo, listDef) {
@@ -44,9 +48,7 @@ habitrpg.controller("TasksCtrl", ['$scope', '$rootScope', '$location', 'User','N
var tasks = listDef.newTask.split(/[\n\r]+/);
//Reverse the order of tasks so the tasks will appear in the order the user entered them
tasks.reverse();
_.each(tasks, function(t) {
addTask(addTo, listDef, t);
});
addTask(addTo, listDef, tasks);
listDef.bulk = false;
} else {
addTask(addTo, listDef, listDef.newTask);

View File

@@ -241,7 +241,7 @@ function($rootScope, User, $timeout, $state, Analytics) {
});
var goto = function(chapter, page, force) {
if (chapter == 'intro') User.set({'flags.welcomed': true});
if (chapter == 'intro' && User.user.flags.welcomed != true) User.set({'flags.welcomed': true});
if (page === -1) page = 0;
var curr = User.user.flags.tour[chapter];
if (page != curr+1 && !force) return;

View File

@@ -170,7 +170,13 @@ angular.module('habitrpg')
},
addTask: function (data) {
user.ops.addTask(data);
if (_.isArray(data.body)) {
data.body.forEach(function (task) {
user.ops.addTask({body: task});
});
} else {
user.ops.addTask(data);
}
save();
Tasks.createUserTasks(data.body);
},