Add call wrappers for saving and previewing newsletters

This commit is contained in:
Tautvidas Sipavičius
2015-09-24 13:54:52 +03:00
parent 4f8e1483f4
commit 246089b4b6
3 changed files with 45 additions and 38 deletions

View File

@ -1,8 +1,9 @@
define([
'newsletter_editor/App',
'newsletter_editor/components/wordpress',
'backbone',
'backbone.marionette',
], function(App, Backbone, Marionette) {
], function(App, Wordpress, Backbone, Marionette) {
"use strict";
@ -15,27 +16,26 @@ define([
var json = App.toJSON();
// save newsletter
// TODO: Migrate logic to new AJAX format
//mailpoet_post_wpi('newsletter_save.php', json, function(response) {
//if(response.success !== undefined && response.success === true) {
////MailPoet.Notice.success("<?php _e('Newsletter has been saved.'); ?>");
//} else if(response.error !== undefined) {
//if(response.error.length === 0) {
//// TODO: Handle translations
//MailPoet.Notice.error("<?php _e('An unknown error occurred, please check your settings.'); ?>");
//} else {
//$(response.error).each(function(i, error) {
//MailPoet.Notice.error(error);
//});
//}
//}
//App.getChannel().trigger('afterEditorSave', json, response);
//}, function(error) {
//// TODO: Handle saving errors
//App.getChannel().trigger('afterEditorSave', {}, error);
//});
Wordpress.saveNewsletter(json).done(function(response) {
if(response.success !== undefined && response.success === true) {
// TODO: Handle translations
//MailPoet.Notice.success("<?php _e('Newsletter has been saved.'); ?>");
} else if(response.error !== undefined) {
if(response.error.length === 0) {
// TODO: Handle translations
MailPoet.Notice.error("<?php _e('An unknown error occurred, please check your settings.'); ?>");
} else {
$(response.error).each(function(i, error) {
MailPoet.Notice.error(error);
});
}
}
App.getChannel().trigger('afterEditorSave', json, response);
}).fail(function() {
// TODO: Handle saving errors
App.getChannel().trigger('afterEditorSave', {}, error);
});
};
Module.SaveView = Marionette.LayoutView.extend({

View File

@ -225,23 +225,23 @@ define([
MailPoet.Modal.loading(true);
// TODO: Migrate logic to new AJAX format
//mailpoet_post_wpi('newsletter_preview.php', data, function(response) {
//if(response.success !== undefined && response.success === true) {
//MailPoet.Notice.success(App.getConfig().get('translations.testEmailSent'));
//} else if(response.error !== undefined) {
//if(response.error.length === 0) {
//MailPoet.Notice.error(App.getConfig().get('translations.unknownErrorOccurred'));
//} else {
//$(response.error).each(function(i, error) {
//MailPoet.Notice.error(error);
//});
//}
//}
//MailPoet.Modal.loading(false);
//}, function(error) {
//// an error occurred
//MailPoet.Modal.loading(false);
//});
Wordpress.previewNewsletter(data).done(function(response) {
if(response.success !== undefined && response.success === true) {
MailPoet.Notice.success(App.getConfig().get('translations.testEmailSent'));
} else if(response.error !== undefined) {
if(response.error.length === 0) {
MailPoet.Notice.error(App.getConfig().get('translations.unknownErrorOccurred'));
} else {
$(response.error).each(function(i, error) {
MailPoet.Notice.error(error);
});
}
}
MailPoet.Modal.loading(false);
}).fail(function(response) {
// an error occurred
MailPoet.Modal.loading(false);
});
},
});

View File

@ -69,6 +69,13 @@ define([
});
};
Module.previewNewsletter = function(options) {
return Module._query({
action: 'preview',
options: options,
});
};
App.on('start', function(options) {
// Prefetch post types
Module.getPostTypes();