diff --git a/assets/stylesheets/_components.scss b/assets/stylesheets/_components.scss index fab26d39ae3fc7..b6075ab1bf80fb 100644 --- a/assets/stylesheets/_components.scss +++ b/assets/stylesheets/_components.scss @@ -218,7 +218,6 @@ @import 'my-sites/plugins/plugin-site-disabled-manage/style'; @import 'my-sites/plugins/plugin-site-jetpack/style'; @import 'my-sites/plugins/plugin-site-update-indicator/style'; -@import 'my-sites/plugins/plugin-site-business/style'; @import 'my-sites/plugins/plugin-install-button/style'; @import 'my-sites/plugins/plugin-settings-link/style'; @import 'my-sites/plugins/plugin-remove-button/style'; diff --git a/client/lib/plugins/actions.js b/client/lib/plugins/actions.js index 550294cb0e75c6..237b69886e509b 100644 --- a/client/lib/plugins/actions.js +++ b/client/lib/plugins/actions.js @@ -8,7 +8,6 @@ var debug = require( 'debug' )( 'calypso:my-sites:plugins:actions' ), */ var analytics = require( 'analytics' ), Dispatcher = require( 'dispatcher' ), - isBusiness = require( 'lib/products-values' ).isBusiness, wpcom = require( 'lib/wp' ).undocumented(); var _actionsQueueBySite = {}, @@ -133,7 +132,7 @@ PluginsActions = { }, fetchSitePlugins: function( site ) { - if ( ! site.user_can_manage || ( ! site.jetpack && ! isBusiness( site.plan ) ) ) { + if ( ! site.user_can_manage || ! site.jetpack ) { defer( () => { Dispatcher.handleViewAction( { type: 'NOT_ALLOWED_TO_RECEIVE_PLUGINS', diff --git a/client/lib/plugins/store.js b/client/lib/plugins/store.js index f9d76401b8db15..cbdc7dd1b7fa74 100644 --- a/client/lib/plugins/store.js +++ b/client/lib/plugins/store.js @@ -219,6 +219,11 @@ PluginsStore = { // Get Plugins for a single site getSitePlugins: function( site ) { var storedList; + + if ( ! site.jetpack ) { + return []; + } + if ( ! _pluginsBySite[ site.ID ] && ! _fetching[ site.ID ] ) { storedList = getPluginsBySiteFromStorage( site.ID ); diff --git a/client/lib/sites-list/list.js b/client/lib/sites-list/list.js index 4391111eb1a792..0918054259dbff 100644 --- a/client/lib/sites-list/list.js +++ b/client/lib/sites-list/list.js @@ -16,7 +16,6 @@ var wpcom = require( 'lib/wp' ), JetpackSite = require( 'lib/site/jetpack' ), Searchable = require( 'lib/mixins/searchable' ), Emitter = require( 'lib/mixins/emitter' ), - isBusiness = require( 'lib/products-values' ).isBusiness, isPlan = require( 'lib/products-values' ).isPlan, PreferencesActions = require( 'lib/preferences/actions' ), PreferencesStore = require( 'lib/preferences/store' ), @@ -554,7 +553,7 @@ SitesList.prototype.getSelectedOrAllWithPlugins = function() { return this.getSelectedOrAll().filter( site => { return site.capabilities && site.capabilities.manage_options && - ( isBusiness( site.plan ) || site.jetpack ) && + site.jetpack && ( site.visible || this.selected ) } ); }; diff --git a/client/my-sites/plugins/controller.js b/client/my-sites/plugins/controller.js index 58d4c1bfbba49d..565be3d840bea3 100644 --- a/client/my-sites/plugins/controller.js +++ b/client/my-sites/plugins/controller.js @@ -30,9 +30,7 @@ var lastPluginsListVisited, lastPluginsQuerystring, controller; -const businessPlugins = [ 'gumroad', 'shopify-store', 'ecwid' ]; - -function renderSinglePlugin( context, siteUrl, isWpcomPlugin ) { +function renderSinglePlugin( context, siteUrl ) { var pluginSlug = decodeURIComponent( context.params.plugin ), site = sites.getSelectedSite(), analyticsPageTitle = 'Plugins', @@ -43,29 +41,6 @@ function renderSinglePlugin( context, siteUrl, isWpcomPlugin ) { baseAnalyticsPath += '/:site'; } - if ( site && - site.jetpack && - context.path.indexOf( '/business' ) >= 0 && - businessPlugins.indexOf( pluginSlug ) >= 0 - ) { - return page.redirect( '/plugins/' + pluginSlug + '/' + site.slug ); - } - - if ( - ( site && ! site.jetpack ) && - businessPlugins.indexOf( pluginSlug ) >= 0 && - context.path.indexOf( '/business' ) < 0 - ) { - return page.redirect( '/plugins/' + pluginSlug + '/business' + ( site ? '/' + site.slug : '' ) ); - } - - if ( ! site && - context.path.indexOf( '/business' ) >= 0 && - -1 === businessPlugins.indexOf( pluginSlug ) - ) { - return page.redirect( '/plugins/' + pluginSlug ); - } - analytics.pageView.record( baseAnalyticsPath, analyticsPageTitle + ' > Plugin Details' ); // Scroll to the top @@ -80,7 +55,6 @@ function renderSinglePlugin( context, siteUrl, isWpcomPlugin ) { sites: sites, pluginSlug: pluginSlug, siteUrl: siteUrl, - isWpcomPlugin: isWpcomPlugin, onPluginRefresh: title => titleActions.setTitle( title ) } ), document.getElementById( 'primary' ), @@ -182,8 +156,7 @@ controller = { }, plugin: function( context ) { - var isWpcomPlugin = 'business' === context.params.business_plugin, - siteUrl = route.getSiteFragment( context.path ); + var siteUrl = route.getSiteFragment( context.path ); if ( siteUrl && context.params.plugin && context.params.plugin === siteUrl.toString() ) { controller.plugins( 'all', context ); @@ -191,7 +164,7 @@ controller = { } notices.clearNotices( 'notices' ); - renderSinglePlugin( context, siteUrl, isWpcomPlugin ); + renderSinglePlugin( context, siteUrl ); }, browsePlugins: function( context ) { diff --git a/client/my-sites/plugins/index.js b/client/my-sites/plugins/index.js index 9e45a229851ca3..b846f5e6f22b6b 100644 --- a/client/my-sites/plugins/index.js +++ b/client/my-sites/plugins/index.js @@ -12,20 +12,20 @@ var controller = require( 'my-sites/controller' ), module.exports = function() { if ( config.isEnabled( 'manage/plugins/browser' ) ) { - page( '/plugins/browse/:category/:site', controller.siteSelection, controller.navigation, controller.awaitSiteLoaded, controller.isJetpackSite, pluginsController.browsePlugins ); - page( '/plugins/browse/:siteOrCategory?', controller.siteSelection, controller.navigation, controller.awaitSiteLoaded, controller.isJetpackSite, pluginsController.browsePlugins ); + page( '/plugins/browse/:category/:site', controller.siteSelection, controller.navigation, pluginsController.browsePlugins ); + page( '/plugins/browse/:siteOrCategory?', controller.siteSelection, controller.navigation, pluginsController.browsePlugins ); } if ( config.isEnabled( 'manage/plugins/setup' ) ) { - page( '/plugins/setup', controller.siteSelection, controller.navigation, controller.awaitSiteLoaded, controller.isJetpackSite, pluginsController.setupPlugins ); - page( '/plugins/setup/:site', controller.siteSelection, controller.navigation, controller.awaitSiteLoaded, controller.isJetpackSite, pluginsController.setupPlugins ); + page( '/plugins/setup', controller.siteSelection, controller.navigation, pluginsController.setupPlugins ); + page( '/plugins/setup/:site', controller.siteSelection, controller.navigation, pluginsController.setupPlugins ); } if ( config.isEnabled( 'manage/plugins' ) ) { - page( '/plugins', controller.siteSelection, controller.navigation, controller.awaitSiteLoaded, controller.isJetpackSite, pluginsController.plugins.bind( null, 'all' ) ); + page( '/plugins', controller.siteSelection, controller.navigation, pluginsController.plugins.bind( null, 'all' ) ); [ 'active', 'inactive', 'updates' ].forEach( function( filter ) { - page( '/plugins/' + filter + '/:site_id?', controller.siteSelection, controller.navigation, controller.awaitSiteLoaded, controller.isJetpackSite, pluginsController.jetpackCanUpdate.bind( null, filter ), pluginsController.plugins.bind( null, filter ) ); + page( '/plugins/' + filter + '/:site_id?', controller.siteSelection, controller.isJetpackSite, pluginsController.jetpackCanUpdate.bind( null, filter ), pluginsController.plugins.bind( null, filter ) ); } ); - page( '/plugins/:plugin/:business_plugin?/:site_id?', controller.siteSelection, controller.navigation, controller.awaitSiteLoaded, controller.isJetpackSite, pluginsController.plugin ); + page( '/plugins/:plugin/:business_plugin?/:site_id?', controller.siteSelection, controller.isJetpackSite, pluginsController.plugin ); } }; diff --git a/client/my-sites/plugins/main.jsx b/client/my-sites/plugins/main.jsx index af29e55c0b4141..1e27eb8f48ca0a 100644 --- a/client/my-sites/plugins/main.jsx +++ b/client/my-sites/plugins/main.jsx @@ -8,12 +8,10 @@ import debugModule from 'debug'; import classNames from 'classnames'; import some from 'lodash/collection/some'; import find from 'lodash/collection/find'; -import filter from 'lodash/collection/filter'; import reject from 'lodash/collection/reject'; import assign from 'lodash/object/assign'; import property from 'lodash/utility/property'; import isEmpty from 'lodash/lang/isEmpty'; -import get from 'lodash/object/get'; /** * Internal dependencies @@ -90,25 +88,18 @@ const PluginsMain = React.createClass( { // plugins for Jetpack sites require additional data from the wporg-data store addWporgDataToPlugins( plugins ) { return plugins.map( plugin => { - if ( ! plugin.wpcom ) { - let pluginData = WporgPluginsSelectors.getPlugin( this.props.wporgPlugins, plugin.slug ); - if ( !pluginData ) { - this.props.wporgFetchPluginData( plugin.slug ); - } - return assign( {}, plugin, pluginData ); + let pluginData = WporgPluginsSelectors.getPlugin( this.props.wporgPlugins, plugin.slug ); + if ( !pluginData ) { + this.props.wporgFetchPluginData( plugin.slug ); } - return plugin; + return assign( {}, plugin, pluginData ); } ); }, - getJetpackPlugins() { + getWporgPlugins() { return reject( this.state.plugins, property( 'wpcom' ) ); }, - getWpcomPlugins() { - return filter( this.state.plugins, property( 'wpcom' ) ); - }, - getPluginsState( nextProps ) { const sites = this.props.sites.getSelectedOrAllWithPlugins(), pluginUpdate = PluginsStore.getPlugins( sites, 'updates' ); @@ -261,21 +252,14 @@ const PluginsMain = React.createClass( { return some( this.props.sites.getSelectedOrAllWithPlugins(), site => site && site.jetpack && site.canUpdateFiles ); }, - shouldShowPluginListPlaceholders( isWpCom ) { + shouldShowPluginListPlaceholders() { const { plugins } = this.state; - const { sites } = this.props; - - let showPlaceholders = isEmpty( plugins ) && this.isFetchingPlugins(); - if ( showPlaceholders && isWpCom === get( sites.getSelectedSite(), 'jetpack' ) ) { - return false; - } - return showPlaceholders; + return isEmpty( plugins ) && this.isFetchingPlugins(); }, renderPluginsContent() { const plugins = this.state.plugins || []; - const selectedSite = this.props.sites.getSelectedSite(); if ( isEmpty( plugins ) && ! this.isFetchingPlugins() ) { if ( this.props.search ) { @@ -296,21 +280,13 @@ const PluginsMain = React.createClass( { } return (
- { ( ! selectedSite || selectedSite.jetpack === false ) && } - { ( ! selectedSite || selectedSite.jetpack === true ) && } + isPlaceholder= { this.shouldShowPluginListPlaceholders() } />
); }, @@ -336,7 +312,7 @@ const PluginsMain = React.createClass( { slug: 'no-slug', canUpdateFiles: true, name: 'Not a real site' - } + }; return plugins.map( plugin => { return
@@ -186,31 +185,17 @@ export default React.createClass( { { this.renderHomepageLink() }
- { ! this.props.isWpcomPlugin && } + placeholder={ true } /> ); }, - renderWpcom() { - return ( -
-

- { this.props.plugin.description } -

-
- { this.renderWPCOMPluginSupportLink() } -
-
- ); - }, - renderWporg() { const classes = classNames( { 'plugin-information__version-info': true, @@ -250,13 +235,6 @@ export default React.createClass( { return this.renderPlaceholder(); } - if ( this.props.plugin.wpcom ) { - return this.renderWpcom(); - } - - if ( this.props.plugin.wporg ) { - return this.renderWporg(); - } - return null; + return this.renderWporg(); } } ); diff --git a/client/my-sites/plugins/plugin-item/plugin-item.jsx b/client/my-sites/plugins/plugin-item/plugin-item.jsx index 4ba50641003c98..a5b769bc7ad459 100644 --- a/client/my-sites/plugins/plugin-item/plugin-item.jsx +++ b/client/my-sites/plugins/plugin-item/plugin-item.jsx @@ -171,8 +171,7 @@ module.exports = React.createClass( { plugin={ this.props.plugin } disabled={ this.props.isSelectable } site={ this.props.selectedSite } - notices={ this.props.notices } - wporg={ !! this.props.plugin.wporg } /> + notices={ this.props.notices } /> ); }, diff --git a/client/my-sites/plugins/plugin-list-header/index.jsx b/client/my-sites/plugins/plugin-list-header/index.jsx index 1303433b3a3e49..4eee8dfdfc2735 100644 --- a/client/my-sites/plugins/plugin-list-header/index.jsx +++ b/client/my-sites/plugins/plugin-list-header/index.jsx @@ -51,8 +51,7 @@ export default React.createClass( { bulkManagement: React.PropTypes.bool, sites: React.PropTypes.object.isRequired, plugins: React.PropTypes.array.isRequired, - selected: React.PropTypes.array.isRequired, - isWpCom: React.PropTypes.bool + selected: React.PropTypes.array.isRequired }, getDefaultProps() { @@ -106,7 +105,7 @@ export default React.createClass( { }, canAddNewPlugins() { - return config.isEnabled( 'manage/plugins/browser' ) && ! this.props.isWpCom; + return config.isEnabled( 'manage/plugins/browser' ); }, canUpdatePlugins() { @@ -120,7 +119,6 @@ export default React.createClass( { }, renderCurrentActionButtons() { - const { isWpCom } = this.props; let buttons = []; let rightSideButtons = []; let leftSideButtons = []; @@ -131,7 +129,7 @@ export default React.createClass( { const isJetpackSelected = this.props.selected.some( plugin => 'jetpack' === plugin.slug ); const needsRemoveButton = this.props.selected.length && ! hasWpcomPlugins && this.canUpdatePlugins() && ! isJetpackSelected; if ( ! this.props.isBulkManagementActive ) { - if ( ! isWpCom && 0 < this.props.pluginUpdateCount ) { + if ( 0 < this.props.pluginUpdateCount ) { rightSideButtons.push( ); - if ( ! isWpCom && this.canAddNewPlugins() ) { + if ( this.canAddNewPlugins() ) { const selectedSite = this.props.sites.getSelectedSite(); const browserUrl = '/plugins/browse' + ( selectedSite ? '/' + selectedSite.slug : '' ); @@ -174,18 +172,16 @@ export default React.createClass( { ); } } else { - if ( ! isWpCom ) { - const updateButton = ( - - ); - leftSideButtons.push( { updateButton } ); - } + const updateButton = ( + + ); + leftSideButtons.push( { updateButton } ); activateButtons.push( - ); - autoupdateButtons.push( - - ); + autoupdateButtons.push( + + ); + autoupdateButtons.push( + + ); - leftSideButtons.push( { autoupdateButtons } ); - leftSideButtons.push( - - - - ); - } + leftSideButtons.push( { autoupdateButtons } ); + leftSideButtons.push( + + + + ); rightSideButtons.push(