Sha256: e87774ae03eacc01677889b961cbcba27ce028fc31f2db7112f51558f532b193

Contents?: true

Size: 1.61 KB

Versions: 18

Compression:

Stored size: 1.61 KB

Contents

import React from 'react';
import PropTypes from 'prop-types';
import { translate as __ } from 'foremanReact/common/I18n';
import { Icon } from 'patternfly-react';
import {
  Title,
  Button,
  EmptyState,
  EmptyStateVariant,
  EmptyStateBody,
} from '@patternfly/react-core';

const PermissionDenied = ({ missingPermissions, setProceedAnyway }) => {
  const description = (
    <span>
      {__('You are not authorized to perform this action.')}
      <br />
      {__(
        'Please request the required permissions listed below from a Foreman administrator:'
      )}
      <br />
      <ul className="list-unstyled">
        {missingPermissions.map(permission => (
          <li key={permission}>
            <strong>{permission}</strong>
          </li>
        ))}
      </ul>
    </span>
  );
  const handleProceedAnyway = () => {
    setProceedAnyway(true);
  };

  return (
    <EmptyState variant={EmptyStateVariant.xl}>
      <span className="empty-state-icon">
        <Icon name="lock" type="fa" size="2x" />
      </span>
      <Title ouiaId="empty-state-header" headingLevel="h5" size="4xl">
        {__('Permission Denied')}
      </Title>
      <EmptyStateBody>{description}</EmptyStateBody>
      <Button
        ouiaId="job-invocation-proceed-anyway-button"
        variant="primary"
        onClick={handleProceedAnyway}
      >
        {__('Proceed Anyway')}
      </Button>
    </EmptyState>
  );
};

PermissionDenied.propTypes = {
  missingPermissions: PropTypes.array,
  setProceedAnyway: PropTypes.func.isRequired,
};

PermissionDenied.defaultProps = {
  missingPermissions: ['unknown'],
};

export default PermissionDenied;

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
foreman_remote_execution-13.2.7 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-15.0.0 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-14.1.4 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-14.1.3 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-14.1.2 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-14.1.1 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-14.1.0 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-14.0.2 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-14.0.1 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-13.2.6 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-14.0.0 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-13.2.5 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-13.2.4 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-13.2.3 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-13.2.2 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-13.2.1 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-13.2.0 webpack/JobWizard/PermissionDenied.js
foreman_remote_execution-13.0.0 webpack/JobWizard/PermissionDenied.js