diff --git a/nbgrader/server_extensions/formgrader/static/js/manage_assignments.js b/nbgrader/server_extensions/formgrader/static/js/manage_assignments.js index 4a07a0c45..acf940d81 100644 --- a/nbgrader/server_extensions/formgrader/static/js/manage_assignments.js +++ b/nbgrader/server_extensions/formgrader/static/js/manage_assignments.js @@ -103,7 +103,7 @@ var AssignmentUI = Backbone.View.extend({ this.$name.append($("") .text(name) - .map(linkTo("directory", url_prefix + "/" + this.model.get("source_path"))) + .map(linkTo("directory", url_prefix + "/" + this.model.get("source_path"), base_url)) ); // duedate @@ -150,7 +150,7 @@ var AssignmentUI = Backbone.View.extend({ var release_path = this.model.get("release_path"); if (release_path) { this.$preview.append($("") - .map(linkTo("directory", url_prefix + "/" + release_path)) + .map(linkTo("directory", url_prefix + "/" + release_path, base_url)) .append($("") .addClass("glyphicon glyphicon-search") .attr("aria-hidden", "true") diff --git a/nbgrader/server_extensions/formgrader/static/js/utils.js b/nbgrader/server_extensions/formgrader/static/js/utils.js index 05c50aec1..1ec55ffb8 100644 --- a/nbgrader/server_extensions/formgrader/static/js/utils.js +++ b/nbgrader/server_extensions/formgrader/static/js/utils.js @@ -88,17 +88,20 @@ var insertDataTable = function (tbl) { }); }; -var linkTo = function (type, path) { +var linkTo = function (type, path, base) { /* * Connect a link in the appropriate manner for the context. * - If we're in the outermost frame, assume notebook and use an href. * - If we're in an iframe, assume lab and send a message. */ if (window === window.top) { + if (typeof base === "undefined") { + base = ""; + } var prefix = { - notebook: "/notebooks/", - file: "/edit/", - directory: "/tree/" + notebook: base + "/notebooks/", + file: base + "/edit/", + directory: base + "/tree/" }[type]; return (_, el) => {