@@ -17,7 +17,7 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
import { getJSON, postJSON } from '../helpers/request'; | |||
import { getJSON } from '../helpers/request'; | |||
import throwGlobalError from '../app/utils/throwGlobalError'; | |||
export interface License { | |||
@@ -37,14 +37,6 @@ export interface License { | |||
type: string; | |||
} | |||
export interface EditionStatus { | |||
currentEditionKey?: string; | |||
} | |||
export function getEditionStatus(): Promise<EditionStatus> { | |||
return getJSON('/api/editions/status'); | |||
} | |||
export function showLicense(): Promise<License> { | |||
return getJSON('/api/editions/show_license').catch((e: { response: Response }) => { | |||
if (e.response && e.response.status === 404) { | |||
@@ -54,19 +46,6 @@ export function showLicense(): Promise<License> { | |||
}); | |||
} | |||
export function getLicensePreview(data: { | |||
license: string; | |||
}): Promise<{ | |||
nextEditionKey: string; | |||
previewStatus: 'NO_INSTALL' | 'AUTOMATIC_INSTALL' | 'MANUAL_INSTALL'; | |||
}> { | |||
return postJSON('/api/editions/preview', data).catch(throwGlobalError); | |||
} | |||
export function getFormData(): Promise<{ serverId: string; ncloc: number }> { | |||
return getJSON('/api/editions/form_data').catch(throwGlobalError); | |||
} | |||
export function applyLicense(data: { license: string }): Promise<EditionStatus> { | |||
return postJSON('/api/editions/apply_license', data).catch(throwGlobalError); | |||
} |
@@ -25,7 +25,7 @@ import SettingsNav from './nav/settings/SettingsNav'; | |||
import { getAppState, getMarketplacePendingPlugins } from '../../store/rootReducer'; | |||
import { getSettingsNavigation } from '../../api/nav'; | |||
import { setAdminPages } from '../../store/appState/duck'; | |||
import { fetchCurrentEdition, fetchPendingPlugins } from '../../store/marketplace/actions'; | |||
import { fetchPendingPlugins } from '../../store/marketplace/actions'; | |||
import { translate } from '../../helpers/l10n'; | |||
import { Extension } from '../types'; | |||
import { PluginPendingResult } from '../../api/plugins'; | |||
@@ -34,6 +34,7 @@ import handleRequiredAuthorization from '../utils/handleRequiredAuthorization'; | |||
interface StateProps { | |||
appState: { | |||
adminPages: Extension[]; | |||
edition: string; | |||
organizationsEnabled: boolean; | |||
version: string; | |||
}; | |||
@@ -42,7 +43,6 @@ interface StateProps { | |||
interface DispatchToProps { | |||
fetchPendingPlugins: () => void; | |||
fetchCurrentEdition: () => void; | |||
setAdminPages: (adminPages: Extension[]) => void; | |||
} | |||
@@ -62,7 +62,6 @@ class AdminContainer extends React.PureComponent<Props> { | |||
handleRequiredAuthorization(); | |||
} else { | |||
this.fetchNavigationSettings(); | |||
this.props.fetchCurrentEdition(); | |||
} | |||
} | |||
@@ -101,7 +100,6 @@ const mapStateToProps = (state: any): StateProps => ({ | |||
}); | |||
const mapDispatchToProps: DispatchToProps = { | |||
fetchCurrentEdition, | |||
fetchPendingPlugins, | |||
setAdminPages | |||
}; |
@@ -39,6 +39,7 @@ import CoverageRating from '../../components/ui/CoverageRating'; | |||
import DuplicationsRating from '../../components/ui/DuplicationsRating'; | |||
import Level from '../../components/ui/Level'; | |||
import { EditButton, Button, SubmitButton, ResetButtonLink } from '../../components/ui/buttons'; | |||
import Checkbox from '../../components/controls/Checkbox'; | |||
import DeferredSpinner from '../../components/common/DeferredSpinner'; | |||
import Dropdown from '../../components/controls/Dropdown'; | |||
import ReloadButton from '../../components/controls/ReloadButton'; | |||
@@ -65,6 +66,7 @@ const exposeLibraries = () => { | |||
AlertSuccessIcon, | |||
AlertWarnIcon, | |||
Button, | |||
Checkbox, | |||
CheckIcon, | |||
ClearIcon, | |||
CoverageRating, |
@@ -22,7 +22,6 @@ import App from './App'; | |||
import { | |||
getAppState, | |||
getGlobalSettingValue, | |||
getMarketplaceCurrentEdition, | |||
getMarketplacePendingPlugins | |||
} from '../../store/rootReducer'; | |||
import { fetchPendingPlugins } from '../../store/marketplace/actions'; | |||
@@ -46,7 +45,7 @@ interface DispatchToProps { | |||
const mapStateToProps = (state: any) => { | |||
return { | |||
currentEdition: getMarketplaceCurrentEdition(state), | |||
currentEdition: getAppState(state).edition, | |||
pendingPlugins: getMarketplacePendingPlugins(state), | |||
standaloneMode: getAppState(state).standalone, | |||
updateCenterActive: |
@@ -18,7 +18,6 @@ | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
import { Dispatch } from 'react-redux'; | |||
import { getEditionStatus } from '../../api/marketplace'; | |||
import { getPendingPlugins, PluginPendingResult } from '../../api/plugins'; | |||
interface SetPendingPluginsAction { | |||
@@ -26,28 +25,12 @@ interface SetPendingPluginsAction { | |||
pending: PluginPendingResult; | |||
} | |||
interface SetCurrentEditionAction { | |||
type: 'SET_CURRENT_EDITION'; | |||
currentEdition?: string; | |||
} | |||
export type Action = SetCurrentEditionAction | SetPendingPluginsAction; | |||
export type Action = SetPendingPluginsAction; | |||
export function setPendingPlugins(pending: PluginPendingResult): SetPendingPluginsAction { | |||
return { type: 'SET_PENDING_PLUGINS', pending }; | |||
} | |||
export const setCurrentEdition = (currentEdition?: string) => (dispatch: Dispatch<Action>) => { | |||
dispatch({ type: 'SET_CURRENT_EDITION', currentEdition }); | |||
}; | |||
export const fetchCurrentEdition = () => (dispatch: Dispatch<Action>) => { | |||
getEditionStatus().then( | |||
editionStatus => dispatch(setCurrentEdition(editionStatus.currentEditionKey)), | |||
() => {} | |||
); | |||
}; | |||
export const fetchPendingPlugins = () => (dispatch: Dispatch<Action>) => { | |||
getPendingPlugins().then( | |||
pending => { |
@@ -21,7 +21,6 @@ import { Action } from './actions'; | |||
import { PluginPendingResult } from '../../api/plugins'; | |||
interface State { | |||
currentEdition?: string; | |||
pending: PluginPendingResult; | |||
} | |||
@@ -34,14 +33,7 @@ export default function(state: State = defaultState, action: Action): State { | |||
pending: action.pending | |||
}; | |||
} | |||
if (action.type === 'SET_CURRENT_EDITION') { | |||
return { | |||
...state, | |||
currentEdition: action.currentEdition | |||
}; | |||
} | |||
return state; | |||
} | |||
export const getCurrentEdition = (state: State) => state.currentEdition; | |||
export const getPendingPlugins = (state: State) => state.pending; |
@@ -73,9 +73,6 @@ export const isFavorite = (state, componentKey) => | |||
export const getMarketplaceState = state => state.marketplace; | |||
export const getMarketplaceCurrentEdition = state => | |||
fromMarketplace.getCurrentEdition(state.marketplace); | |||
export const getMarketplacePendingPlugins = state => | |||
fromMarketplace.getPendingPlugins(state.marketplace); | |||
@@ -2166,21 +2166,13 @@ marketplace.update_status.COMPATIBLE=Compatible | |||
marketplace.update_status.INCOMPATIBLE=Incompatible | |||
marketplace.update_status.REQUIRES_SYSTEM_UPGRADE=Requires system update | |||
marketplace.update_status.DEPS_REQUIRE_SYSTEM_UPGRADE=Some of dependencies requires system update | |||
marketplace.license_preview_status.NO_INSTALL=No installation needed, your license will be updated directly. | |||
marketplace.license_preview_status.AUTOMATIC_INSTALL=After clicking on "Install", your {0} will be automatically downloaded and installed, and you'll need to restart your server once it's completed. | |||
marketplace.license_preview_status.MANUAL_INSTALL={0} can't automatically be installed because of internet access issues. A manual installation is required. | |||
marketplace.installing_this_plugin_will_also_install_x=Installing this plugin will also install: {0} | |||
marketplace.update_to_x=Update to {0} | |||
marketplace.uninstall=Uninstall | |||
marketplace.i_accept_the=I accept the | |||
marketplace.commercial_edition=Commercial Edition | |||
marketplace.terms_and_conditions=Terms and Conditions | |||
marketplace.release_notes=Release Notes | |||
marketplace.how_to_setup_cluster_url=Further configuration is required to set up a cluster. See {url} documentation. | |||
marketplace.enter_license_for_x=Enter your license key for {0} | |||
marketplace.wrong_license_type=Your license is not compatible with any existing editions. Please provide a valid license. | |||
marketplace.wrong_license_type_x=Your license is not compatible with the selected edition. Please provide a valid license for {0}. | |||
marketplace.i_need_a_license=I need a license key | |||
marketplace.search=Search by features, tags, or categories... | |||