Merge pull request #3228 from edx/gprice/FOR-542

Change behavior of cohort addition interface
This commit is contained in:
Greg Price
2014-04-07 12:54:38 -04:00
5 changed files with 245 additions and 43 deletions

View File

@@ -160,32 +160,43 @@ var CohortManager = (function ($) {
log_error(response.msg ||
"There was an error loading users for " + cohort.title);
}
op_results.empty();
detail.show();
}
function added_users(response) {
function adder(note, color) {
return function(item) {
var li = $('<li></li>')
if (typeof item === "object" && item.username) {
li.text(note + ' ' + item.name + ', ' + item.username + ', ' + item.email);
} else if (typeof item === "object" && item.msg) {
li.text(note + ' ' + item.username_or_email + ', ' + item.msg);
} else {
// string
li.text(note + ' ' + item);
}
li.css('color', color);
op_results.append(li);
}
}
op_results.empty();
if (response && response.success) {
response.added.forEach(adder("Added", "green"));
response.present.forEach(adder("Already present:", "black"));
response.conflict.forEach(adder("In another cohort:", "purple"));
response.unknown.forEach(adder("Unknown user:", "red"));
function add_to_list(text, color) {
op_results.append($("<li/>").text(text).css("color", color));
}
response.added.forEach(
function(item) {
add_to_list(
"Added: " + item.name + ", " + item.username + ", " + item.email,
"green"
);
}
);
response.changed.forEach(
function(item) {
add_to_list(
"Moved from cohort " + item.previous_cohort + ": " + item.name + ", " + item.username + ", " + item.email,
"purple"
)
}
);
response.present.forEach(
function(item) {
add_to_list("Already present: " + item, "black");
}
);
response.unknown.forEach(
function(item) {
add_to_list("Unknown user: " + item, "red")
}
);
users_area.val('')
} else {
log_error(response.msg || "There was an error adding users");