mirror of https://github.com/xwiki-labs/cryptpad
New support: load legacy tickets
This commit is contained in:
parent
0056603486
commit
de825af47a
|
@ -2631,6 +2631,8 @@ Example
|
||||||
|
|
||||||
create['support-list'] = function () {
|
create['support-list'] = function () {
|
||||||
if (!supportKey || !APP.privateKey || !checkAdminKey(APP.privateKey)) { return; }
|
if (!supportKey || !APP.privateKey || !checkAdminKey(APP.privateKey)) { return; }
|
||||||
|
// XXX NO NEED ANYMORE
|
||||||
|
return;
|
||||||
var $container = makeBlock('support-list'); // Msg.admin_supportListHint, .admin_supportListTitle
|
var $container = makeBlock('support-list'); // Msg.admin_supportListHint, .admin_supportListTitle
|
||||||
var $div = $(h('div.cp-support-container')).appendTo($container);
|
var $div = $(h('div.cp-support-container')).appendTo($container);
|
||||||
|
|
||||||
|
|
|
@ -136,6 +136,7 @@ define([
|
||||||
sidebar.addItem = (key, get, options) => {
|
sidebar.addItem = (key, get, options) => {
|
||||||
const safeKey = keyToCamlCase(key);
|
const safeKey = keyToCamlCase(key);
|
||||||
get((content, config) => {
|
get((content, config) => {
|
||||||
|
if (content === false) { return; }
|
||||||
config = config || {};
|
config = config || {};
|
||||||
options = options || {};
|
options = options || {};
|
||||||
const title = options.noTitle ? undefined : h('label.cp-item-label', {
|
const title = options.noTitle ? undefined : h('label.cp-item-label', {
|
||||||
|
|
|
@ -268,6 +268,12 @@ define([
|
||||||
'open-ticket'
|
'open-ticket'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
'legacy': {
|
||||||
|
icon: undefined,
|
||||||
|
content: [
|
||||||
|
'legacy'
|
||||||
|
]
|
||||||
|
},
|
||||||
'refresh': {
|
'refresh': {
|
||||||
icon: undefined,
|
icon: undefined,
|
||||||
onClick: refreshAll
|
onClick: refreshAll
|
||||||
|
@ -377,6 +383,69 @@ define([
|
||||||
cb(div);
|
cb(div);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// XXX
|
||||||
|
Messages.support_legacyTitle = "View old support data";
|
||||||
|
Messages.support_legacyHint = "View tickets from the legacy system. You'll be able to recreate thse tickets on the new support system.";
|
||||||
|
Messages.support_legacyButton = "Start";
|
||||||
|
Messages.support_legacyClear = "Delete from my account";
|
||||||
|
sidebar.addItem('legacy', cb => {
|
||||||
|
if (!APP.privateKey) { return void cb(false); }
|
||||||
|
|
||||||
|
let start = blocks.button('primary', 'fa-paper-plane', Messages.support_legacyButton);
|
||||||
|
let clean = blocks.button('danger', 'fa-trash-o', Messages.support_legacyClear);
|
||||||
|
let content = h('div.cp-support-container');
|
||||||
|
let nav = blocks.nav([start, clean]);
|
||||||
|
|
||||||
|
UI.confirmButton(clean, { classes: 'btn-danger' }, function () {
|
||||||
|
// XXX TODO remove my supportadmin mailbox
|
||||||
|
console.error('NOT IMPLEMENTED');
|
||||||
|
});
|
||||||
|
|
||||||
|
let run = () => {
|
||||||
|
let $div = $(content);
|
||||||
|
$div.empty();
|
||||||
|
common.mailbox.subscribe(['supportadmin'], {
|
||||||
|
onMessage: function (data) {
|
||||||
|
/*
|
||||||
|
Get ID of the ticket
|
||||||
|
If we already have a div for this ID
|
||||||
|
Push the message to the end of the ticket
|
||||||
|
If it's a new ticket ID
|
||||||
|
Make a new div for this ID
|
||||||
|
*/
|
||||||
|
var msg = data.content.msg;
|
||||||
|
var hash = data.content.hash;
|
||||||
|
var content = msg.content;
|
||||||
|
console.error(content, msg, hash);
|
||||||
|
var id = content.id;
|
||||||
|
var $ticket = $div.find('.cp-support-list-ticket[data-id="'+id+'"]');
|
||||||
|
|
||||||
|
if (msg.type === 'CLOSE') {
|
||||||
|
// A ticket has been closed by the admins...
|
||||||
|
if (!$ticket.length) { return; }
|
||||||
|
$ticket.addClass('cp-support-list-closed');
|
||||||
|
$ticket.append(APP.support.makeCloseMessage(content, hash));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (msg.type !== 'TICKET') { return; }
|
||||||
|
$ticket.removeClass('cp-support-list-closed');
|
||||||
|
|
||||||
|
if (!$ticket.length) {
|
||||||
|
$ticket = APP.support.makeTicket({id, content});
|
||||||
|
$div.append($ticket);
|
||||||
|
}
|
||||||
|
$ticket.append(APP.support.makeMessage(content));
|
||||||
|
$ticket.find('.cp-support-showdata').attr('onclick', `showData();`);
|
||||||
|
$ticket.find('.cp-support-showdata button').attr('onclick', `copyData();`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
Util.onClickEnter($(start), run);
|
||||||
|
|
||||||
|
let div = blocks.form([content], nav);
|
||||||
|
cb(div);
|
||||||
|
});
|
||||||
|
|
||||||
sidebar.makeLeftside(categories);
|
sidebar.makeLeftside(categories);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue