mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-20 22:42:53 -05:00
Merge pull request #677 from jfi/666
This commit is contained in:
commit
a42acd486b
1 changed files with 17 additions and 18 deletions
|
@ -76,8 +76,13 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
notificationMap: {
|
notificationMap: {
|
||||||
'draft': 'saved as a draft',
|
'draft': 'Your post has been saved as a draft.',
|
||||||
'published': 'published'
|
'published': 'Your post has been published.'
|
||||||
|
},
|
||||||
|
|
||||||
|
errorMap: {
|
||||||
|
'draft': 'Your post could not be saved as a draft.',
|
||||||
|
'published': 'Your post could not be published.'
|
||||||
},
|
},
|
||||||
|
|
||||||
initialize: function () {
|
initialize: function () {
|
||||||
|
@ -104,22 +109,23 @@
|
||||||
model = self.model,
|
model = self.model,
|
||||||
prevStatus = model.get('status'),
|
prevStatus = model.get('status'),
|
||||||
currentIndex = keys.indexOf(prevStatus),
|
currentIndex = keys.indexOf(prevStatus),
|
||||||
newIndex;
|
newIndex,
|
||||||
|
status;
|
||||||
|
|
||||||
newIndex = currentIndex + 1 > keys.length - 1 ? 0 : currentIndex + 1;
|
newIndex = currentIndex + 1 > keys.length - 1 ? 0 : currentIndex + 1;
|
||||||
|
status = keys[newIndex];
|
||||||
|
|
||||||
this.setActiveStatus(keys[newIndex], this.statusMap[keys[newIndex]], prevStatus);
|
this.setActiveStatus(keys[newIndex], this.statusMap[status], prevStatus);
|
||||||
|
|
||||||
this.savePost({
|
this.savePost({
|
||||||
status: keys[newIndex]
|
status: keys[newIndex]
|
||||||
}).then(function () {
|
}).then(function () {
|
||||||
Ghost.notifications.addItem({
|
Ghost.notifications.addItem({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: 'Your post has been ' + self.notificationMap[newIndex] + '.',
|
message: self.notificationMap[status],
|
||||||
status: 'passive'
|
status: 'passive'
|
||||||
});
|
});
|
||||||
}, function (xhr) {
|
}, function (xhr) {
|
||||||
var status = keys[newIndex];
|
|
||||||
// Show a notification about the error
|
// Show a notification about the error
|
||||||
self.reportSaveError(xhr, model, status);
|
self.reportSaveError(xhr, model, status);
|
||||||
});
|
});
|
||||||
|
@ -174,20 +180,17 @@
|
||||||
updatePost: function (status) {
|
updatePost: function (status) {
|
||||||
var self = this,
|
var self = this,
|
||||||
model = this.model,
|
model = this.model,
|
||||||
prevStatus = model.get('status'),
|
prevStatus = model.get('status');
|
||||||
notificationMap = this.notificationMap;
|
|
||||||
|
|
||||||
// Default to same status if not passed in
|
// Default to same status if not passed in
|
||||||
status = status || prevStatus;
|
status = status || prevStatus;
|
||||||
|
|
||||||
model.trigger('willSave');
|
|
||||||
|
|
||||||
this.savePost({
|
this.savePost({
|
||||||
status: status
|
status: status
|
||||||
}).then(function () {
|
}).then(function () {
|
||||||
Ghost.notifications.addItem({
|
Ghost.notifications.addItem({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: ['Your post has been ', notificationMap[status], '.'].join(''),
|
message: self.notificationMap[status],
|
||||||
status: 'passive'
|
status: 'passive'
|
||||||
});
|
});
|
||||||
// Refresh publish button and all relevant controls with updated status.
|
// Refresh publish button and all relevant controls with updated status.
|
||||||
|
@ -207,8 +210,6 @@
|
||||||
this.model.unset(item);
|
this.model.unset(item);
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var saved = this.model.save(_.extend({
|
var saved = this.model.save(_.extend({
|
||||||
title: $('#entry-title').val(),
|
title: $('#entry-title').val(),
|
||||||
// TODO: The content_raw getter here isn't great, shouldn't rely on currentView.
|
// TODO: The content_raw getter here isn't great, shouldn't rely on currentView.
|
||||||
|
@ -224,16 +225,14 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
reportSaveError: function (response, model, status) {
|
reportSaveError: function (response, model, status) {
|
||||||
var title = model.get('title') || '[Untitled]',
|
var message = this.errorMap[status];
|
||||||
notificationStatus = this.notificationMap[status],
|
|
||||||
message = 'Your post: ' + title + ' has not been ' + notificationStatus;
|
|
||||||
|
|
||||||
if (response) {
|
if (response) {
|
||||||
// Get message from response
|
// Get message from response
|
||||||
message = Ghost.Views.Utils.getRequestErrorMessage(response);
|
message += " " + Ghost.Views.Utils.getRequestErrorMessage(response);
|
||||||
} else if (model.validationError) {
|
} else if (model.validationError) {
|
||||||
// Grab a validation error
|
// Grab a validation error
|
||||||
message += "; " + model.validationError;
|
message += " " + model.validationError;
|
||||||
}
|
}
|
||||||
|
|
||||||
Ghost.notifications.addItem({
|
Ghost.notifications.addItem({
|
||||||
|
|
Loading…
Add table
Reference in a new issue