diff --git a/.gitignore b/.gitignore index f13746a0..9e6f31b5 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,5 @@ web/project/__pycache__/ web/build/ web/qresp.egg-info/ .cache/ -web/project/config.ini +web/project/config_test.ini web/project/tests/__pycache__/ diff --git a/docker-compose.yml.services b/docker-compose.yml.services index ae62d4bf..d5aabba6 100644 --- a/docker-compose.yml.services +++ b/docker-compose.yml.services @@ -5,28 +5,22 @@ services: restart: always build: ./web expose: - - 8080 - ports: - - "8080:8080" + - "8080" + environment: + - PYTHONUNBUFFERED=TRUE volumes: + - /usr/src/app/web/project/static - ./web/:/usr/src/app/web - environment: - - KEY= - - GOOGLE_CLIENT_ID= - - GOOGLE_CLIENT_SECRET= - - REDIRECT_URI= - - MAIL_ADDR= - - MAIL_PWD= - command: python run.py --host=0.0.0.0 --port 8080 + - ./papercollection:/home/flask/app/web/papers + command: /usr/local/bin/gunicorn --enable-stdio-inheritance -w 4 -b :8080 project:app nginx: restart: always build: ./nginx ports: - - "8001:8001" + - "443:443" volumes: - /www/static - - ./papercollection:/usr/src/files volumes_from: - web depends_on: diff --git a/web/papers/files_paper/data.json b/web/papers/files_paper/data.json index 40666fcf..3d7ec154 100644 --- a/web/papers/files_paper/data.json +++ b/web/papers/files_paper/data.json @@ -1,53 +1,90 @@ { "PIs":[ { - "firstName":"Giulia", - "lastName":"Galli", + "firstName":"John", + "lastName":"Doe", "middleName":"" }, { - "firstName":"Marco", - "lastName":"Govoni", - "middleName":"L" + "firstName":"Jane", + "lastName":"Gill", + "middleName":"" + } + ], + "charts":[ + { + "caption":"c0", + "extraFields":[ + { + "extrakey":"", + "extravalue":"" + } + ], + "files":[ + "/charts/figure1/figure1.csv", + "/charts/figure1/figure1.ipynb", + "/charts/figure1/figure1.jpg" + ], + "id":"c0", + "imageFile":"/charts/figure1/figure1.jpg", + "notebookFile":"/charts/figure1/figure1.ipynb", + "number":"0", + "properties":[ + "band gap" + ] } ], - "charts":[], "collections":[ "MICCOM" ], - "datasets":[], + "datasets":[ + { + "URLs":[ + "" + ], + "extraFields":[ + { + "extrakey":"", + "extravalue":"" + } + ], + "files":[ + "/datasets/datasetA.dat", + "/datasets/datasetB.dat" + ], + "id":"d0", + "readme":"These are datasets" + } + ], "documentation":{ - "readme":"" + "readme":"This is additional content" }, "heads":[ { - "URLs":null, - "id":"t0", - "readme":null - }, - { - "URLs":null, - "id":"d0", - "readme":null + "URLs":[ + "" + ], + "id":"h0", + "readme":"External setup info" } ], "info":{ "ProjectName":"paper", "doi":null, - "downloadPath":"", + "downloadPath":"https://app.globus.org/file-manager?origin_id=72277ed4-1ad3-11e7-bbe1-22000b9a448b&origin_path=", "fileServerPath":"https://notebook.rcc.uchicago.edu/files/paper", - "gitPath":"", + "gitPath":"Y", "insertedBy":{ - "affiliation":"Department of Chem", + "affiliation":"Dept of Chem, UC", "emailId":"john.doe@company.com", "firstName":"John", "lastName":"Doe", - "middleName":"" + "middleName":"H." }, "isPublic":true, - "notebookFile":"toc.ipynb", - "notebookPath":"", - "timeStamp":"2019-09-19 21:00:59" + "notebookFile":"/toc.ipynb", + "notebookPath":"https://notebook.rcc.uchicago.edu/files", + "timeStamp":"2019-09-20 12:32:56" }, "reference":{ "DOI":"10.1021/jacs.6b00225", @@ -62,26 +99,6 @@ "firstName":"Marco", "lastName":"Govoni", "middleName":"" - }, - { - "firstName":"Robert", - "lastName":"Seidel", - "middleName":"" - }, - { - "firstName":"Jonathan", - "lastName":"Skone", - "middleName":"H." - }, - { - "firstName":"Bernd", - "lastName":"Winter", - "middleName":"" - }, - { - "firstName":"Giulia", - "lastName":"Galli", - "middleName":"" } ], "journal":{ @@ -90,7 +107,7 @@ }, "kind":"journal", "page":"6912-6915", - "publishedAbstract":"We present a combined computational and experimental study of the photoelectron spectrum of a simple aqueous solution of NaCl. Measurements were conducted on microjets, and first-principles calculations were performed using hybrid functionals and many-body perturbation theory at the G0W0 level, starting with wave functions computed in ab initio molecular dynamics simulations. We show excellent agreement between theory and experiments for the positions of both the solute and solvent excitation energies on an absolute energy scale and for peak intensities. The best comparison was obtained using wave functions obtained with dielectric-dependent self-consistent and range-separated hybrid functionals. Our computational protocol opens the way to accurate, predictive calculations of the electronic properties of electrolytes, of interest to a variety of energy problems.", + "publishedAbstract":"This is abstract", "school":"", "title":"Photoelectron Spectra of Aqueous Solutions from First Principles", "volume":"138", @@ -109,28 +126,11 @@ } ], "files":[ - "scripts/fileA.py", - "scripts/fileB.py" + "/scripts/fileA.py", + "/scripts/fileB.py" ], "id":"s0", - "readme":"Python scripts" - }, - { - "URLs":[ - "" - ], - "extraFields":[ - { - "extrakey":"", - "extravalue":"" - } - ], - "files":[ - "datasets/datasetA.dat", - "datasets/datasetB.dat" - ], - "id":"s1", - "readme":"DAT files" + "readme":"These are scripts" } ], "tags":[ @@ -142,7 +142,7 @@ "URLs":[ "" ], - "description":"Modified west code", + "description":"This is a software", "extraFields":[ { "extrakey":"", @@ -155,10 +155,32 @@ "measurement":"", "packageName":"West", "patches":[ - "tools/modded_qbox.diff" + "/tools/modded_qbox.diff" ], "programName":"wstat.x", "version":"3.0.0" + }, + { + "URLs":[ + "" + ], + "description":"", + "extraFields":[ + { + "extrakey":"", + "extravalue":"" + } + ], + "facilityName":"APS", + "id":"t1", + "kind":"experiment", + "measurement":"X-ray emission", + "packageName":"", + "patches":[ + "" + ], + "programName":"", + "version":"" } ], "version":2, @@ -177,6 +199,10 @@ "t0", "s0" ], + [ + "t1", + "s0" + ], [ "s0", "d0" @@ -184,17 +210,15 @@ [ "d0", "c0" - ], - [ - "t1", - "s0" ] ], "nodes":[ + "t0", + "c0", + "d0", + "t1", "h0", - "s0", - "s1", - "t0" + "s0" ] } } \ No newline at end of file diff --git a/web/project/__init__.py b/web/project/__init__.py index a0bf2748..2276f5a8 100644 --- a/web/project/__init__.py +++ b/web/project/__init__.py @@ -26,13 +26,13 @@ CORS(app) #initialize db -if Config.get_setting('DEV','MONGODB_HOST'): +if Config.get_setting('PROD','MONGODB_HOST'): db = MongoEngine() - app.config['MONGODB_HOST'] = Config.get_setting('DEV','MONGODB_HOST') - app.config['MONGODB_PORT'] = int(Config.get_setting('DEV','MONGODB_PORT')) - app.config['MONGODB_USERNAME'] = Config.get_setting('DEV','MONGODB_USERNAME') - app.config['MONGODB_PASSWORD'] = Config.get_setting('DEV','MONGODB_PASSWORD') - app.config['MONGODB_DB'] = Config.get_setting('DEV','MONGODB_DB_NAME') + app.config['MONGODB_HOST'] = Config.get_setting('PROD','MONGODB_HOST') + app.config['MONGODB_PORT'] = int(Config.get_setting('PROD','MONGODB_PORT')) + app.config['MONGODB_USERNAME'] = Config.get_setting('PROD','MONGODB_USERNAME') + app.config['MONGODB_PASSWORD'] = Config.get_setting('PROD','MONGODB_PASSWORD') + app.config['MONGODB_DB'] = Config.get_setting('PROD','MONGODB_DB_NAME') db.init_app(app) from project import routes diff --git a/web/project/config.ini b/web/project/config.ini new file mode 100644 index 00000000..2f52cbde --- /dev/null +++ b/web/project/config.ini @@ -0,0 +1,46 @@ +[GLOBAL] # please set these if you'd like to run your own version of Qresp service +FLASK_APP = run.py +FLASK_DEBUG = 1 +HOST_ADDR = 172.17.0.1 +FROM_ADDR = datadev@lists.uchicago.edu +;MAIL_ADDR = # mail address from which emails are sent to administrators about insertion of metadata +QRESP_SERVER_URL = https://paperstack.uchicago.edu/static/qresp_servers.json +SCHEMA_URL = https://paperstack.uchicago.edu/static/v1_1.json +HTTP_SERVER_URL = https://paperstack.uchicago.edu/static/http_servers.json + +[DEV] #development environment variables +;REDIRECT_URI = #https://domain.edu/oauth2callback +;# optional section to add google api use google api to add qresp app and generate client id +;GOOGLE_CLIENT_ID = # google client id +;GOOGLE_CLIENT_SECRET = # The google api secret key +;# optional section to host own version of mongo database +;MONGODB_HOST = # x.univ.edu +;MONGODB_PORT = 27017 +;MONGODB_USERNAME = # mongodb username +;MONGODB_PASSWORD = # mongodb password +;MONGODB_DB_NAME = # mongodb name +;QRESP_DB_SECRET_KEY = # /admin database access secret key + +[PROD] #production environment variables +;REDIRECT_URI = #https://domain.edu/oauth2callback +;# optional section to add google api use google api to add qresp app and generate client id +;GOOGLE_CLIENT_ID = # google client id +;GOOGLE_CLIENT_SECRET = # The google api secret key +;# optional section to host own version of mongo database +;MONGODB_HOST = # mongodb hostname, e.g. x.univ.edu +;MONGODB_PORT = 27017 +;MONGODB_USERNAME = # mongodb username +;MONGODB_PASSWORD = # mongodb password +;MONGODB_DB_NAME = # mongodb name +;QRESP_DB_SECRET_KEY = # /admin database access secret key + +[SECRETS] +# Random flask key, change it to a random value +FLASK_SECRET_KEY = //bndsn/sdalkjdlkadjasd/123kdlasjkljlk/ +;MAIL_PWD = # a mail account password to mail administrator about insertion/deletion of metadata + +[GOOGLE_API] # Google api section +AUTH_URI = https://accounts.google.com/o/oauth2/auth +TOKEN_URI = https://accounts.google.com/o/oauth2/token +USER_INFO = https://www.googleapis.com/userinfo/v2/me +SCOPE = https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email diff --git a/web/project/config.py b/web/project/config.py index 1e07f71a..b5ff474a 100644 --- a/web/project/config.py +++ b/web/project/config.py @@ -21,5 +21,5 @@ def get_setting(cls, section, key): ret = cls.configParser.get(section, key) except: ret = None - return ret + return ret diff --git a/web/project/config_mock.ini b/web/project/config_mock.ini deleted file mode 100644 index 9671e0dc..00000000 --- a/web/project/config_mock.ini +++ /dev/null @@ -1,45 +0,0 @@ -[GLOBAL] # please set these if you'd like to run your own version of Qresp service -FLASK_APP = run.py -FLASK_DEBUG = 1 -HOST_ADDR = 172.17.0.1 -FROM_ADDR = datadev@lists.uchicago.edu -MAIL_ADDR = qrespdevelopers@gmail.com -QRESP_SERVER_URL = https://paperstack.uchicago.edu/static/qresp_servers.json -SCHEMA_URL = https://paperstack.uchicago.edu/static/v1_0.json -HTTP_SERVER_URL = https://paperstack.uchicago.edu/static/http_servers.json - -[DEV] #development environment variables -REDIRECT_URI = #https://domain.edu/oauth2callback -# optional section to add google api use google api to add qresp app and generate client id -GOOGLE_CLIENT_ID = # google client id -GOOGLE_CLIENT_SECRET = # The google api secret key -# optional section to host own version of mongo database -MONGODB_HOST = # x.univ.edu -MONGODB_PORT = 27017 -MONGODB_USERNAME = # mongodb username -MONGODB_PASSWORD = # mongodb password -MONGODB_DB_NAME = # mongodb name -QRESP_DB_SECRET_KEY = # /admin database access secret key - -[PROD] #production environment variables -REDIRECT_URI = #https://domain.edu/oauth2callback -# optional section to add google api use google api to add qresp app and generate client id -GOOGLE_CLIENT_ID = # google client id -GOOGLE_CLIENT_SECRET = # The google api secret key -# optional section to host own version of mongo database -MONGODB_HOST = # x.univ.edu -MONGODB_PORT = 27017 -MONGODB_USERNAME = # mongodb username -MONGODB_PASSWORD = # mongodb password -MONGODB_DB_NAME = # mongodb name -QRESP_DB_SECRET_KEY = # /admin database access secret key - -[SECRETS] -FLASK_SECRET_KEY = # Random flask key -MAIL_PWD = # a mail account password to mail administrator about insertion/deletion of metadata - -[GOOGLE_API] # Google api section -AUTH_URI = https://accounts.google.com/o/oauth2/auth -TOKEN_URI = https://accounts.google.com/o/oauth2/token -USER_INFO = https://www.googleapis.com/userinfo/v2/me -SCOPE = https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email diff --git a/web/project/routes.py b/web/project/routes.py index ad46cbc3..41ccbb08 100644 --- a/web/project/routes.py +++ b/web/project/routes.py @@ -576,7 +576,7 @@ def publish(): for item in serverslist.getServersList(): if form.server.data in item['qresp_server_url']: session['maintaineraddresses'] = item['qresp_maintainer_emails'] - googleauth = GoogleAuth(Config.get_setting('DEV','GOOGLE_CLIENT_ID'), Config.get_setting('DEV','REDIRECT_URI'), Config.get_setting('GOOGLE_API','SCOPE')) + googleauth = GoogleAuth(Config.get_setting('PROD','GOOGLE_CLIENT_ID'), Config.get_setting('PROD','REDIRECT_URI'), Config.get_setting('GOOGLE_API','SCOPE')) google = googleauth.getGoogleAuth() auth_url, state = google.authorization_url(Config.get_setting('GOOGLE_API','AUTH_URI'), access_type='offline') session['oauth_state'] = state @@ -601,12 +601,12 @@ def authorized(): if 'code' not in request.args and 'state' not in request.args: print('denied access.') return redirect(url_for('qrespcurator')) - googleauth = GoogleAuth(Config.get_setting('DEV','GOOGLE_CLIENT_ID'), Config.get_setting('DEV','REDIRECT_URI')) + googleauth = GoogleAuth(Config.get_setting('PROD','GOOGLE_CLIENT_ID'), Config.get_setting('PROD','REDIRECT_URI')) google = googleauth.getGoogleAuth(state=session.get('oauth_state')) try: token = google.fetch_token( Config.get_setting('GOOGLE_API', 'TOKEN_URI'), - client_secret=Config.get_setting('DEV','GOOGLE_CLIENT_SECRET'), + client_secret=Config.get_setting('PROD','GOOGLE_CLIENT_SECRET'), authorization_response=request.url) except Exception as e: print(e) @@ -717,7 +717,7 @@ def verifypasscode(): This method verifies with input passcode of flask connection. """ form = PassCodeForm(request.form) - confirmpasscode = Config.get_setting('DEV','QRESP_DB_SECRET_KEY') + confirmpasscode = Config.get_setting('PROD','QRESP_DB_SECRET_KEY') if request.method == 'POST' and form.validate(): if confirmpasscode == form.passcode.data: return jsonify(msg="success"),200 @@ -772,7 +772,7 @@ def search(): """ try: selected_servers = urllib.parse.unquote(request.args.get('servers', type=str, default='')) - fetchdata = FetchDataFromAPI(selected_servers, str(request.host_url).strip("/") if Config.get_setting('DEV', 'MONGODB_HOST') else None) + fetchdata = FetchDataFromAPI(selected_servers, str(request.host_url).strip("/") if Config.get_setting('PROD', 'MONGODB_HOST') else None) allpaperslist = fetchdata.fetchOutput('/api/search') collectionlist = fetchdata.fetchOutput('/api/collections') authorslist = fetchdata.fetchOutput('/api/authors') @@ -802,7 +802,7 @@ def searchWord(): authorsList = json.loads(request.args.get('authorsList')) publicationList = json.loads(request.args.get('publicationList')) selected_servers = urllib.parse.unquote(request.args.get('servers', type=str, default='')) - fetchdata = FetchDataFromAPI(selected_servers, str(request.host_url).strip("/") if Config.get_setting('DEV', 'MONGODB_HOST') else None) + fetchdata = FetchDataFromAPI(selected_servers, str(request.host_url).strip("/") if Config.get_setting('PROD', 'MONGODB_HOST') else None) url = '/api/search'+"?searchWord="+searchWord+"&paperTitle="+paperTitle+"&doi="+doi+"&tags="+tags+"&collectionList="+",".join(collectionList) + \ "&authorsList="+",".join(authorsList)+"&publicationList="+",".join(publicationList) allpaperslist = fetchdata.fetchOutput(url) @@ -822,7 +822,7 @@ def paperdetails(paperid): workflowdetail = [] try: selected_servers = urllib.parse.unquote(request.args.get('servers', type=str, default='')) - fetchdata = FetchDataFromAPI(selected_servers, str(request.host_url).strip("/") if Config.get_setting('DEV', 'MONGODB_HOST') else None) + fetchdata = FetchDataFromAPI(selected_servers, str(request.host_url).strip("/") if Config.get_setting('PROD', 'MONGODB_HOST') else None) url = '/api/paper/'+paperid paperdetail = fetchdata.fetchOutput(url) url = '/api/workflow/'+paperid @@ -849,7 +849,7 @@ def chartworkflow(): chartid = request.args.get('chartid', 0, type=str) chartid = str(chartid).strip() selected_servers = urllib.parse.unquote(request.args.get('servers', type=str, default='')) - fetchdata = FetchDataFromAPI(selected_servers, str(request.host_url).strip("/") if Config.get_setting('DEV', 'MONGODB_HOST') else None) + fetchdata = FetchDataFromAPI(selected_servers, str(request.host_url).strip("/") if Config.get_setting('PROD', 'MONGODB_HOST') else None) url = '/api/paper/' + paperid + '/chart/' + chartid chartworkflowdetail = fetchdata.fetchOutput(url) return jsonify(chartworkflowdetail=chartworkflowdetail), 200 diff --git a/web/project/static/http_servers.json b/web/project/static/http_servers.json new file mode 100644 index 00000000..1872c95f --- /dev/null +++ b/web/project/static/http_servers.json @@ -0,0 +1 @@ +[{"http_server_url": "https://notebook.rcc.uchicago.edu/files/", "isActive": "Yes","qresp_maintainer_emails": ["datadev@lists.uchicago.edu"]}] \ No newline at end of file diff --git a/web/project/static/javascript/modules/curatordetails.js b/web/project/static/javascript/modules/curatordetails.js index b485a6df..8a901daf 100644 --- a/web/project/static/javascript/modules/curatordetails.js +++ b/web/project/static/javascript/modules/curatordetails.js @@ -23,7 +23,6 @@ $(function(){ }, error: function (xhr, status, error) { var errorMessage = xhr.status + ': ' + xhr.statusText; - console.log(errorMessage); bootbox.alert("Unable to process JSON "+ str(errorMessage)); } }); @@ -46,8 +45,6 @@ $(function(){ }, error: function(xhr, status, error) { var errorMessage = xhr.status + ': ' + xhr.statusText + ': '+xhr.responseText; - console.log(errorMessage); - console.log(status,error); $("#warning").toggle(); $("#warning-message").html(errorMessage); } @@ -96,7 +93,6 @@ $(function(){ //Add new entry $this.find("button[data-toggle=fieldset-add-row]").click(function() { var target = $($(this).data("target")); - //console.log("target>>",target.id,target,target.split("-")); var oldrow = target.find("table tr:last"); var row = oldrow.clone(true, true); var elem_id = row.find(":input")[0].id; @@ -144,7 +140,6 @@ $(function(){ }, error: function(xhr, status, error) { var errorMessage = xhr.status + ': ' + xhr.statusText; - console.log(errorMessage); $("#warning").toggle(); $("#warning-message").html(errorMessage); } @@ -291,7 +286,6 @@ $(function(){ data: $('#publishform').serialize(), // serializes the form's elements. success: function (data) { if(data.error){ - console.log(data.error); var errorstring = '
  • ' + data.error.join("
  • "); + '
'; bootbox.alert(errorstring); }else { @@ -301,7 +295,6 @@ $(function(){ }, error: function(xhr, status, error) { var errorMessage = xhr.status + ': ' + xhr.statusText; - console.log(errorMessage); $("#warning").toggle(); $("#warning-message").html(errorMessage); } @@ -394,7 +387,6 @@ $(function(){ success: function (data) { var previewAnchorElem = document.getElementById("previewData"); var previewFolder = data["previewFolder"]; - console.log("preview",previewFolder); previewAnchorElem.setAttribute("href", "/preview/"+previewFolder); previewAnchorElem.setAttribute("target", "_blank"); previewAnchorElem.click(); @@ -409,7 +401,6 @@ $(function(){ type: "GET", url: "download", success: function (data) { - console.log("download>>",data); var blob = new Blob([JSON.stringify(data["paper"])],{type: "text/json;charset=utf-8;"}); if (navigator.msSaveBlob) { // IE 10+ navigator.msSaveBlob(blob, "data.json") @@ -548,7 +539,7 @@ function fetchDOI(doi) { dataType: "json", success: function (data) { if("errors" in data){ - console.log("recheck your DOI"); + bootbox.alert("recheck your DOI"); }else { fillValues(data.data, "reference"); // display the returned data in the console. } @@ -564,7 +555,6 @@ function callTreeData(searchdata){ contentType: "application/json ; charset=utf-8", data: JSON.stringify(searchdata), success: function (data) { - console.log("data>>",data,data.services); if("services" in data) { if ("notebookPath" in data.services) { $("#notebookPath").val(data.services['notebookPath']); @@ -743,7 +733,6 @@ function buildChartTables(chartDetails,path) { "sortable": false, "searchable": true, "render": function (data, type, row) { - console.log("id>>",row.id); var chartInfo = "
>",data.nodes[0],">>",data) var datais = data.nodes[0]; nodes.remove(data); var result = []; @@ -1954,9 +1941,6 @@ function bindWorkflow(jsonData) { function connectedNodes() { var uniqueconnectednodes = []; - console.log("ed",edgeId); - console.log("es",edges); - console.log("nodes",nodes); for (var i = 1; i <= edgeId; i++) { var saves = []; if(edges.get(i)){ @@ -2001,7 +1985,6 @@ function saveNodesAndEdges(){ contentType: "application/json ; charset=utf-8", data: JSON.stringify(plist), success: function (data) { - console.log("Saved",data.data); addToWorkflow(); } }); diff --git a/web/project/static/javascript/modules/paperdetails.js b/web/project/static/javascript/modules/paperdetails.js index 7a4a5a2e..a3215d97 100644 --- a/web/project/static/javascript/modules/paperdetails.js +++ b/web/project/static/javascript/modules/paperdetails.js @@ -26,15 +26,6 @@ $(function () { $(this).next("#doiText").toggle(); }); - - // window.onresize = function () { - // try { - // legendNetwork.fit(); - // } - // catch (err){ - // console.log("Initial Workflow scale is not set. ",err); - // } - // }; var chartworkflowdetail = null; $('.workflowimg').each(function () { @@ -56,22 +47,11 @@ $(function () { chartworkflowdetail = data['chartworkflowdetail']; $('#chartWorkflowModal').modal('show'); $('#chartWorkflowModalLabel').html('Workflow of ' + chartworkflowdetail.workflowType); - console.log("chart>",chartworkflowdetail); bindWorkflow(chartworkflowdetail,true); }); }); }); - - // window.onresize = function () { - // try { - // chartlegendNetwork.fit(); - // }catch (err){ - // console.log("Initial Workflow scale is not set. ",err); - // } - // }; - - $(document).on('click', '.button-icon', function () { $(this).toggleClass("active"); $(this).next(".icons-charts").toggleClass("open"); @@ -387,7 +367,6 @@ function buildChartTables(chartDetails, paperDetails) { } function buildDatasetTables(datasetDetails, paperDetails) { - console.log(datasetDetails , datasetDetails.length); if(datasetDetails && datasetDetails.length>0) { var tableDatasets = $('#tbldatasets') .DataTable( diff --git a/web/project/static/qresp_servers.json b/web/project/static/qresp_servers.json index ff83ca48..3f949c59 100644 --- a/web/project/static/qresp_servers.json +++ b/web/project/static/qresp_servers.json @@ -1 +1 @@ -[{"qresp_server_url": "http://imedevel.uchicago.edu:8002", "isActive": "Yes","qresp_maintainer_emails": ["aditya.tanikanti@gmail.com"]}] \ No newline at end of file +[{"qresp_server_url": "https://paperstack.uchicago.edu", "isActive": "Yes","qresp_maintainer_emails": ["datadev@lists.uchicago.edu"]}] diff --git a/web/project/static/qresp_servers_test.json b/web/project/static/qresp_servers_test.json deleted file mode 100644 index 4cbb8dc7..00000000 --- a/web/project/static/qresp_servers_test.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"qresp_server_url": "http://imedevel.uchicago.edu:8002", "isActive": "Yes","qresp_maintainer_emails": ["aditya.tanikanti@gmail.com"]}] -//[{"qresp_server_url": "https://paperstack.uchicago.edu", "isActive": "Yes","qresp_maintainer_emails": ["datadev@lists.uchicago.edu"]}] diff --git a/web/project/templates/paperdetails.html b/web/project/templates/paperdetails.html index 3697f567..d350788b 100644 --- a/web/project/templates/paperdetails.html +++ b/web/project/templates/paperdetails.html @@ -274,87 +274,7 @@
#} - - - - - - - - -