diff --git a/digits/config/__init__.py b/digits/config/__init__.py index 060d7b36c..965fb19b7 100644 --- a/digits/config/__init__.py +++ b/digits/config/__init__.py @@ -13,6 +13,7 @@ server_name, store_option, tensorflow, + url_prefix, ) diff --git a/digits/config/url_prefix.py b/digits/config/url_prefix.py new file mode 100644 index 000000000..b983550f2 --- /dev/null +++ b/digits/config/url_prefix.py @@ -0,0 +1,8 @@ +# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. +from __future__ import absolute_import + +import os + +from . import option_list + +option_list['url_prefix'] = os.environ.get('DIGITS_URL_PREFIX', '') diff --git a/digits/static/js/PretrainedModel.js b/digits/static/js/PretrainedModel.js index 4a2fc9043..661fd8395 100644 --- a/digits/static/js/PretrainedModel.js +++ b/digits/static/js/PretrainedModel.js @@ -205,7 +205,7 @@ PretrainedModel.Actions = function(props) { var parent = !_.isUndefined(props.parent) ? props.parent : props; self.uploadArchive = function(file) { - var upload_url = '/pretrained_models/upload_archive'; + var upload_url = URL_PREFIX + '/pretrained_models/upload_archive'; parent.heading({classed: false, text: 'Uploading archive, one moment...'}); var formData = new FormData(); diff --git a/digits/static/js/home_app.js b/digits/static/js/home_app.js index 64259ed6c..b176fe2d3 100644 --- a/digits/static/js/home_app.js +++ b/digits/static/js/home_app.js @@ -37,7 +37,7 @@ try { $scope.add_job = function(job_id) { $http({ method: 'GET', - url: '/jobs/' + job_id + '/table_data.json', + url: URL_PREFIX + '/jobs/' + job_id + '/table_data.json', }).then(function success(response) { var job = response.data.job; for (var i = 0; i < $scope.jobs.length; i++) { @@ -69,7 +69,7 @@ try { $scope.load_jobs = function() { $http({ method: 'GET', - url: '/completed_jobs.json', + url: URL_PREFIX + '/completed_jobs.json', }).then(function success(response) { // Find the dataset reference count var count = {}; @@ -393,7 +393,7 @@ try { '

All related files will be permanently removed.'), function(result) { if (result) - $.ajax('/jobs', + $.ajax(URL_PREFIX + '/jobs', { type: 'DELETE', data: {'job_ids': job_ids}, @@ -419,7 +419,7 @@ try { (job_ids.length == 1 ? 'job?' : job_ids.length + ' jobs?')), function(result) { if (result) - $.ajax('/abort_jobs', + $.ajax(URL_PREFIX + '/abort_jobs', { type: 'POST', data: {'job_ids': job_ids}, @@ -456,7 +456,7 @@ try { // Case the user enters 'Ungrouped', change it to '' if (result == 'Ungrouped') result = ''; - $.ajax('/group', + $.ajax(URL_PREFIX + '/group', { type: 'POST', data: { @@ -719,7 +719,7 @@ try { restrict: 'AE', replace: true, template: ('' + - ' ' + + ' ' + ' {[ job.name | major_name ]}' + ' ' + ' ' + diff --git a/digits/static/js/store.js b/digits/static/js/store.js index 402a89e72..98233fb10 100644 --- a/digits/static/js/store.js +++ b/digits/static/js/store.js @@ -4,7 +4,7 @@ 'use strict'; var app = angular.module('modelStore', []); app.controller('ModelListController', function($scope, $http) { - var end_point = '/store/models'; + var end_point = URL_PREFIX + '/store/models'; var get_model_list = function(refresh) { $http({ method: 'GET', @@ -27,7 +27,7 @@ $scope.download = function(id) { $http({ method: 'GET', - url: '/store/push?id=' + id, + url: URL_PREFIX + '/store/push?id=' + id, }).then(function successCallback(response) { // nothing }, function errorCallback(response) { diff --git a/digits/templates/home.html b/digits/templates/home.html index 27574d269..26009a38b 100644 --- a/digits/templates/home.html +++ b/digits/templates/home.html @@ -144,7 +144,7 @@

ng-keydown="keydown($event)" ng-class="{selected:job.selected}"> - + {[ job.name | major_name ]} diff --git a/digits/templates/layout.html b/digits/templates/layout.html index 7157da232..d7dc3b2a8 100644 --- a/digits/templates/layout.html +++ b/digits/templates/layout.html @@ -12,6 +12,9 @@ {% block title %}DIGITS{% endblock %} + @@ -34,7 +37,7 @@