diff --git a/web/documentserver-example/nodejs/app.js b/web/documentserver-example/nodejs/app.js index 44ed7419..4cf1571b 100755 --- a/web/documentserver-example/nodejs/app.js +++ b/web/documentserver-example/nodejs/app.js @@ -907,12 +907,13 @@ app.get('/editor', (req, res) => { // define a handler for editing document } history.push(req.docManager.getHistory(fileName, changes, keyVersion, i)); // write all the file history information + let userUrl = i == countVersion ? directUrl : (`${req.docManager.getServerUrl(false)}/history?fileName=${encodeURIComponent(fileName)}&file=prev${fileExt}&ver=${i}`); let historyD = { fileType: fileExt.slice(1), version: i, key: keyVersion, url: i == countVersion ? url : (`${req.docManager.getServerUrl(true)}/history?fileName=${encodeURIComponent(fileName)}&file=prev${fileExt}&ver=${i}&useraddress=${userAddress}`), - directUrl: !userDirectUrl ? null : i == countVersion ? directUrl : (`${req.docManager.getServerUrl(false)}/history?fileName=${encodeURIComponent(fileName)}&file=prev${fileExt}&ver=${i}`), + directUrl: !userDirectUrl ? null : userUrl, }; if (i > 1 && req.docManager.existsSync(req.docManager.diffPath(fileName, userAddress, i-1))) { // check if the path to the file with document versions differences exists diff --git a/web/documentserver-example/nodejs/helpers/docManager.js b/web/documentserver-example/nodejs/helpers/docManager.js index 5c0746d9..bb8ace5c 100644 --- a/web/documentserver-example/nodejs/helpers/docManager.js +++ b/web/documentserver-example/nodejs/helpers/docManager.js @@ -434,9 +434,12 @@ docManager.prototype.getHistory = function (fileName, content, keyVersion, versi } const userAddress = this.curUserHostAddress(); - const username = fileContent ? (oldVersion ? contentJson.username : contentJson.user.name) : (this.getFileData(fileName, userAddress))[2]; - const userid = fileContent ? (oldVersion ? contentJson.userid : contentJson.user.id) : (this.getFileData(fileName, userAddress))[1]; - const created = fileContent ? (oldVersion ? contentJson.date : contentJson.created) : (this.getFileData(fileName, userAddress))[0]; + const userNameFromJson = oldVersion ? contentJson.username : contentJson.user.name; + const userIdFromJson = oldVersion ? contentJson.userid : contentJson.user.userid; + const createdFromJson = oldVersion ? contentJson.date : contentJson.created; + const username = fileContent ? userNameFromJson : (this.getFileData(fileName, userAddress))[2]; + const userid = fileContent ? userIdFromJson : (this.getFileData(fileName, userAddress))[1]; + const created = fileContent ? createdFromJson : (this.getFileData(fileName, userAddress))[0]; const res = (fileContent && !oldVersion) ? fileContent : {changes: fileContent}; res.key = keyVersion; // write the information about the user, creation time, key and version to the result object res.version = version;