Add roles field

[MAILPOET-2680]
This commit is contained in:
Amine Ben hammou
2020-03-19 20:45:46 +01:00
committed by Veljko V
parent 903314669a
commit e66b0c7f9a
7 changed files with 48 additions and 2 deletions

View File

@ -1,12 +1,14 @@
import React from 'react';
import BounceAddress from './bounce_address';
import TaskScheduler from './task_scheduler';
import Roles from './roles';
export default function Advanced() {
return (
<div className="mailpoet-settings-grid">
<BounceAddress />
<TaskScheduler />
<Roles />
</div>
);
}

View File

@ -0,0 +1,37 @@
import React from 'react';
import ReactStringReplace from 'react-string-replace';
import { t } from 'common/functions';
import { useSelector } from 'settings/store/hooks';
import { Label, Inputs } from 'settings/components';
export default function Roles() {
const isMembersPluginActive = useSelector('hasMembersPlugin')();
return (
<>
<Label
title={t('rolesTitle')}
description={t('rolesDescription')}
htmlFor=""
/>
<Inputs>
<p>
{isMembersPluginActive
? <a href="?page=roles">{t('manageUsingMembers')}</a>
: ReactStringReplace(t('installMembers'),
/\[link\](.*?)\[\/link\]/,
(text) => (
<a
key={text}
href="https://wordpress.org/plugins/members/"
rel="noopener noreferrer"
target="_blank"
>
{text}
</a>
))}
</p>
</Inputs>
</>
);
}

View File

@ -10,8 +10,9 @@ export default function makeDefaultState(window: any): State {
const data = normalizeSettings(window.mailpoet_settings);
const flags = {
error: false,
woocommerce: !!window.mailpoet_woocommerce_active,
newUser: !!window.mailpoet_is_new_user,
woocommerce: !!window.mailpoet_woocommerce_active,
membersPlugin: !!window.mailpoet_members_plugin_active,
};
const premiumStatus = getPremiumStatus(
window.mailpoet_premium_key_valid,

View File

@ -29,6 +29,10 @@ export function hasWooCommerce(state: State) {
return state.flags.woocommerce;
}
export function hasMembersPlugin(state: State) {
return state.flags.membersPlugin;
}
export function isNewUser(state: State) {
return state.flags.newUser;
}

View File

@ -232,6 +232,7 @@ export type State = {
}
flags: {
woocommerce: boolean
membersPlugin: boolean
newUser: boolean
error: boolean
}

View File

@ -75,10 +75,10 @@ class Settings {
'premium_key_valid' => !empty($premiumKeyValid),
'mss_active' => Bridge::isMPSendingServiceEnabled(),
'mss_key_valid' => !empty($mpApiKeyValid),
'members_plugin_active' => $this->wp->isPluginActive('members/members.php'),
'pages' => Pages::getAll(),
'current_user' => $this->wp->wpGetCurrentUser(),
'is_woocommerce_active' => $this->woocommerceHelper->isWooCommerceActive(),
'is_members_plugin_active' => $this->wp->isPluginActive('members/members.php'),
'hosts' => [
'web' => Hosts::getWebHosts(),
'smtp' => Hosts::getSMTPHosts(),

View File

@ -10,6 +10,7 @@
<script type="text/javascript">
<% autoescape 'js' %>
var mailpoet_woocommerce_active = <%= json_encode(is_woocommerce_active == true) %>;
var mailpoet_members_plugin_active = <%= json_encode(is_members_plugin_active == true) %>;
var mailpoet_is_new_user = <%= json_encode(is_new_user == true) %>;
var mailpoet_settings = <%= json_encode(settings) %>;
var mailpoet_segments = <%= json_encode(segments) %>;