mirror of https://github.com/xwiki-labs/cryptpad
WIP provide a reason when archiving or resoring a file through the admin panel
This commit is contained in:
parent
1a18eafb7f
commit
f1fc2d2ad9
|
@ -155,7 +155,17 @@ var flushCache = function (Env, Server, cb) {
|
|||
|
||||
// CryptPad_AsyncStore.rpc.send('ADMIN', ['ARCHIVE_DOCUMENT', documentID], console.log)
|
||||
var archiveDocument = function (Env, Server, cb, data) {
|
||||
var id = Array.isArray(data) && data[1];
|
||||
if (!Array.isArray(data)) { return void cb("EINVAL"); }
|
||||
var args = data[1];
|
||||
|
||||
var id, reason;
|
||||
if (typeof(args) === 'string') {
|
||||
id = args;
|
||||
} else if (args && typeof(args) === 'object') {
|
||||
id = args.id;
|
||||
reason = args.reason;
|
||||
}
|
||||
|
||||
if (typeof(id) !== 'string' || id.length < 32) { return void cb("EINVAL"); }
|
||||
|
||||
switch (id.length) {
|
||||
|
@ -164,6 +174,7 @@ var archiveDocument = function (Env, Server, cb, data) {
|
|||
return void Env.msgStore.archiveChannel(id, Util.both(cb, function (err) {
|
||||
Env.Log.info("ARCHIVAL_CHANNEL_BY_ADMIN_RPC", {
|
||||
channelId: id,
|
||||
reason: reason,
|
||||
status: err? String(err): "SUCCESS",
|
||||
});
|
||||
}));
|
||||
|
@ -171,6 +182,7 @@ var archiveDocument = function (Env, Server, cb, data) {
|
|||
return void Env.blobStore.archive.blob(id, Util.both(cb, function (err) {
|
||||
Env.Log.info("ARCHIVAL_BLOB_BY_ADMIN_RPC", {
|
||||
id: id,
|
||||
reason: reason,
|
||||
status: err? String(err): "SUCCESS",
|
||||
});
|
||||
}));
|
||||
|
@ -184,7 +196,17 @@ var archiveDocument = function (Env, Server, cb, data) {
|
|||
};
|
||||
|
||||
var restoreArchivedDocument = function (Env, Server, cb, data) {
|
||||
var id = Array.isArray(data) && data[1];
|
||||
if (!Array.isArray(data)) { return void cb("EINVAL"); }
|
||||
var args = data[1];
|
||||
|
||||
var id, reason;
|
||||
if (typeof(args) === 'string') {
|
||||
id = args;
|
||||
} else if (args && typeof(args) === 'object') {
|
||||
id = args.id;
|
||||
reason = args.reason;
|
||||
}
|
||||
|
||||
if (typeof(id) !== 'string' || id.length < 32) { return void cb("EINVAL"); }
|
||||
|
||||
switch (id.length) {
|
||||
|
@ -192,6 +214,7 @@ var restoreArchivedDocument = function (Env, Server, cb, data) {
|
|||
return void Env.msgStore.restoreArchivedChannel(id, Util.both(cb, function (err) {
|
||||
Env.Log.info("RESTORATION_CHANNEL_BY_ADMIN_RPC", {
|
||||
id: id,
|
||||
reason: reason,
|
||||
status: err? String(err): 'SUCCESS',
|
||||
});
|
||||
}));
|
||||
|
@ -201,6 +224,7 @@ var restoreArchivedDocument = function (Env, Server, cb, data) {
|
|||
return void Env.blobStore.restore.blob(id, Util.both(cb, function (err) {
|
||||
Env.Log.info("RESTORATION_BLOB_BY_ADMIN_RPC", {
|
||||
id: id,
|
||||
reason: reason,
|
||||
status: err? String(err): 'SUCCESS',
|
||||
});
|
||||
}));
|
||||
|
|
|
@ -146,6 +146,8 @@ define([
|
|||
return $div;
|
||||
};
|
||||
|
||||
Messages.admin_archiveReason = "// XXX REASON"; // XXX
|
||||
|
||||
var archiveForm = function (archive, $div, $button) {
|
||||
var label = h('label', { for: 'cp-admin-archive' }, Messages.admin_archiveInput);
|
||||
var input = h('input#cp-admin-archive', {
|
||||
|
@ -159,6 +161,14 @@ define([
|
|||
id: 'cp-admin-archive-pw',
|
||||
placeholder: Messages.login_password
|
||||
});
|
||||
var input3 = h('input', {
|
||||
id: 'cp-admin-archive-reason',
|
||||
placeholder: Messages.admin_archiveReason,
|
||||
});
|
||||
var label3 = h('label', {
|
||||
for: 'cp-admin-archive-reason',
|
||||
}, Messages.admin_archiveReason);
|
||||
|
||||
var $pw = $(input2);
|
||||
$pw.addClass('cp-admin-pw');
|
||||
var $pwInput = $pw.find('input');
|
||||
|
@ -168,7 +178,9 @@ define([
|
|||
label,
|
||||
input,
|
||||
label2,
|
||||
input2
|
||||
input2,
|
||||
label3,
|
||||
input3,
|
||||
]));
|
||||
|
||||
$div.addClass('cp-admin-nopassword');
|
||||
|
@ -234,9 +246,13 @@ define([
|
|||
}
|
||||
}), true);
|
||||
}).nThen(function () {
|
||||
var $reason = $(input3);
|
||||
sFrameChan.query('Q_ADMIN_RPC', {
|
||||
cmd: archive ? 'ARCHIVE_DOCUMENT' : 'RESTORE_ARCHIVED_DOCUMENT',
|
||||
data: channel
|
||||
data: {
|
||||
id: channel,
|
||||
reason: $reason.val(), // XXX
|
||||
},
|
||||
}, function (err, obj) {
|
||||
var e = err || (obj && obj.error);
|
||||
clicked = false;
|
||||
|
@ -248,6 +264,7 @@ define([
|
|||
UI.log(archive ? Messages.archivedFromServer : Messages.restoredFromServer);
|
||||
$input.val('');
|
||||
$pwInput.val('');
|
||||
$reason.val('')
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue