summaryrefslogtreecommitdiff
path: root/lib/response.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/response.js')
-rwxr-xr-xlib/response.js11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/response.js b/lib/response.js
index 3f837e71..3374eaf5 100755
--- a/lib/response.js
+++ b/lib/response.js
@@ -112,7 +112,8 @@ function newNote(req, res, next) {
return response.errorForbidden(res);
}
models.Note.create({
- ownerId: owner
+ ownerId: owner,
+ alias: req.alias ? req.alias : null
}).then(function (note) {
return res.redirect(config.serverurl + "/" + LZString.compressToBase64(note.id));
}).catch(function (err) {
@@ -133,6 +134,7 @@ function checkViewPermission(req, note) {
}
function findNote(req, res, callback, include) {
+ var noteId = req.params.noteId;
var id = req.params.noteId || req.params.shortid;
models.Note.parseNoteId(id, function (err, _id) {
models.Note.findOne({
@@ -142,7 +144,12 @@ function findNote(req, res, callback, include) {
include: include || null
}).then(function (note) {
if (!note) {
- return response.errorNotFound(res);
+ if (config.allowfreeurl && noteId) {
+ req.alias = noteId;
+ return newNote(req, res);
+ } else {
+ return response.errorNotFound(res);
+ }
}
if (!checkViewPermission(req, note)) {
return response.errorForbidden(res);