Delete all content (posts and tags)

closes #1445
- added delete button to ‚ugly debug tools‘
- added api call to delete all content
- added /db to cache invalidation routes
This commit is contained in:
Sebastian Gierlinger 2013-12-25 01:05:20 +01:00
parent 9c38d1a2d3
commit 0c20e80f70

View File

@ -4,7 +4,8 @@
Ghost.Views.Debug = Ghost.View.extend({
events: {
"click .settings-menu a": "handleMenuClick"
"click .settings-menu a": "handleMenuClick",
"click .js-delete": "handleDeleteClick"
},
handleMenuClick: function (ev) {
@ -19,7 +20,68 @@
this.$("#debug-" + $target.attr("class")).show();
return false;
},
handleDeleteClick: function (ev) {
ev.preventDefault();
this.addSubview(new Ghost.Views.Modal({
model: {
options: {
close: true,
confirm: {
accept: {
func: function () {
$.ajax({
url: Ghost.paths.apiRoot + '/db/',
type: 'DELETE',
headers: {
'X-CSRF-Token': $("meta[name='csrf-param']").attr('content')
},
success: function onSuccess(response) {
if (!response) {
throw new Error('No response received from server.');
}
if (!response.message) {
throw new Error(response.detail || 'Unknown error');
}
Ghost.notifications.addItem({
type: 'success',
message: response.message,
status: 'passive'
});
},
error: function onError(response) {
var responseText = JSON.parse(response.responseText),
message = responseText && responseText.error ? responseText.error : 'unknown';
Ghost.notifications.addItem({
type: 'error',
message: ['A problem was encountered while deleting content from your blog. Error: ', message].join(''),
status: 'passive'
});
}
});
},
text: "Yes"
},
reject: {
func: function () {
return true;
},
text: "No"
}
},
type: "action",
style: ["wide", "centered"],
animation: 'fade'
},
content: {
template: 'blank',
title: 'Would you really like to delete all content from your blog?'
}
}
}));
}
});
}());