Suggest to activate MSS after a successful key check [MAILPOET-937]

This commit is contained in:
stoletniy
2017-06-13 18:01:47 +03:00
committed by pavel-mailpoet
parent 5293589eea
commit 32b24a83ab
4 changed files with 34 additions and 11 deletions

View File

@@ -17,6 +17,10 @@ a:focus
.mailpoet_hidden .mailpoet_hidden
display: none display: none
// add margins to a div
.mailpoet_spaced_block
margin: 1em 0
// select 2 // select 2
.select2-container .select2-container
width: 25em !important width: 25em !important

View File

@@ -11,6 +11,7 @@ use MailPoet\Models\Segment;
use MailPoet\Models\Setting; use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\Shortcodes\ShortcodesHelper; use MailPoet\Newsletter\Shortcodes\ShortcodesHelper;
use MailPoet\Services\Bridge;
use MailPoet\Settings\Hosts; use MailPoet\Settings\Hosts;
use MailPoet\Settings\Pages; use MailPoet\Settings\Pages;
use MailPoet\Subscribers\ImportExport\ImportExportFactory; use MailPoet\Subscribers\ImportExport\ImportExportFactory;
@@ -362,6 +363,7 @@ class Menu {
'total_subscribers' => Subscriber::getTotalSubscribers(), 'total_subscribers' => Subscriber::getTotalSubscribers(),
'premium_plugin_active' => License::getLicense(), 'premium_plugin_active' => License::getLicense(),
'premium_key_valid' => !empty($this->premium_key_valid), 'premium_key_valid' => !empty($this->premium_key_valid),
'mss_active' => Bridge::isMPSendingServiceEnabled(),
'mss_key_valid' => !empty($mp_api_key_valid), 'mss_key_valid' => !empty($mp_api_key_valid),
'pages' => Pages::getAll(), 'pages' => Pages::getAll(),
'flags' => $flags, 'flags' => $flags,

View File

@@ -829,7 +829,7 @@
// Hide server error notices // Hide server error notices
$('.mailpoet_notice_server').hide(); $('.mailpoet_notice_server').hide();
updateMailPoetMethodButton(); updateMSSActivationUI();
} }
function getMethodFromGroup(group) { function getMethodFromGroup(group) {
@@ -1020,14 +1020,15 @@
}); });
}); });
// enable/disable MSS method activate button // enable/disable MSS method activate button and notice
function updateMailPoetMethodButton() { function updateMSSActivationUI() {
var $ = jQuery; var $ = jQuery;
var group = $('.mailpoet_sending_methods .mailpoet_active').data('group'); var group = $('.mailpoet_sending_methods .mailpoet_active').data('group');
var key_invalid = $('.mailpoet_mss_key_valid').hasClass('mailpoet_hidden'); var key_valid = !$('.mailpoet_mss_key_valid').hasClass('mailpoet_hidden');
$('.mailpoet_sending_service_activate').prop('disabled', group === 'mailpoet' || key_invalid); var activation_possible = group !== 'mailpoet' && key_valid;
$('.mailpoet_sending_service_activate').prop('disabled', !activation_possible);
$('.mailpoet_mss_activate_notice').toggle(activation_possible);
} }
</script> </script>
<%= partial( <%= partial(

View File

@@ -44,9 +44,8 @@
> >
<%= __('Your MailPoet Sending Service key is invalid.') %> <%= __('Your MailPoet Sending Service key is invalid.') %>
</div> </div>
<br/>
<div <div
class="mailpoet_premium_download" class="mailpoet_premium_download mailpoet_spaced_block"
<% if premium_plugin_installed or not(premium_key_valid) %> <% if premium_plugin_installed or not(premium_key_valid) %>
style="display: none;" style="display: none;"
<% endif %> <% endif %>
@@ -67,7 +66,7 @@
</span> </span>
</div> </div>
<div <div
class="mailpoet_premium_activate" class="mailpoet_premium_activate mailpoet_spaced_block"
<% if not(premium_plugin_installed) or premium_plugin_active or not(premium_key_valid) %> <% if not(premium_plugin_installed) or premium_plugin_active or not(premium_key_valid) %>
style="display: none;" style="display: none;"
<% endif %> <% endif %>
@@ -78,6 +77,22 @@
href="<%= premium_activate_url | default('#') %>" href="<%= premium_activate_url | default('#') %>"
><%= __('Activate Premium.') %></a> ><%= __('Activate Premium.') %></a>
</div> </div>
<div
class="mailpoet_mss_activate_notice mailpoet_spaced_block"
<% if mss_active or not(mss_key_valid) %>
style="display: none;"
<% endif %>
>
<span>
<%= __("Don't forget to activate the MailPoet Sending Service in the [link]Send with...[/link] tab above.")
|replace({
'[link]': '<a href="#mta">',
'[/link]': '</a>'
})
|raw
%>
</span>
</div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@@ -149,6 +164,7 @@
function verifyMailPoetSendingServiceKey(key) { function verifyMailPoetSendingServiceKey(key) {
$('.mailpoet_mss_key_valid, .mailpoet_mss_key_invalid').addClass('mailpoet_hidden'); $('.mailpoet_mss_key_valid, .mailpoet_mss_key_invalid').addClass('mailpoet_hidden');
$('.mailpoet_mss_activate_notice').hide();
return MailPoet.Ajax.post({ return MailPoet.Ajax.post({
api_version: window.mailpoet_api_version, api_version: window.mailpoet_api_version,
@@ -162,14 +178,14 @@
$('.mailpoet_notice_server').hide(); $('.mailpoet_notice_server').hide();
$('.mailpoet_mss_key_valid').text(response.data.message); $('.mailpoet_mss_key_valid').text(response.data.message);
$('.mailpoet_mss_key_valid').removeClass('mailpoet_hidden'); $('.mailpoet_mss_key_valid').removeClass('mailpoet_hidden');
updateMailPoetMethodButton(); updateMSSActivationUI();
}).fail(function(response) { }).fail(function(response) {
if (response.errors.length > 0) { if (response.errors.length > 0) {
$('.mailpoet_mss_key_invalid').text( $('.mailpoet_mss_key_invalid').text(
response.errors.map(function(error) { return error.message; }).join(' ') response.errors.map(function(error) { return error.message; }).join(' ')
); );
$('.mailpoet_mss_key_invalid').removeClass('mailpoet_hidden'); $('.mailpoet_mss_key_invalid').removeClass('mailpoet_hidden');
updateMailPoetMethodButton(); updateMSSActivationUI();
} }
}); });
} }