Skip to content

Commit

Permalink
EPMRPP-81141 || addition to fix for EPMRPP-81141: form buttons are hi…
Browse files Browse the repository at this point in the history
…dden too (#3388)

* EPMRPP-81141 || fastfix: hidden form button too

* EPMRPP-81141 || fix comment
Alexander authored Jan 20, 2023
1 parent ee731ff commit 970dbc0
Showing 3 changed files with 17 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -25,8 +25,6 @@ import Parser from 'html-react-parser';
import { showModalAction } from 'controllers/modal';
import { PLUGIN_NAME_TITLES } from 'components/integrations/constants';
import { namedProjectIntegrationsSelector } from 'controllers/plugins';
import { activeProjectRoleSelector, userAccountRoleSelector } from 'controllers/user';
import { canUpdateSettings } from 'common/utils/permissions';
import { PLUGINS_PAGE_EVENTS, SETTINGS_PAGE_EVENTS } from 'components/main/analytics/events';
import { SystemMessage } from 'componentLibrary/systemMessage';
import PencilIcon from 'common/img/newIcons/pencil-inline.svg';
@@ -79,8 +77,6 @@ const messages = defineMessages({
@connect(
(state) => ({
projectIntegrations: namedProjectIntegrationsSelector(state),
accountRole: userAccountRoleSelector(state),
userRole: activeProjectRoleSelector(state),
}),
{
showModalAction,
@@ -93,8 +89,6 @@ export class ConnectionSection extends Component {
intl: PropTypes.object.isRequired,
showModalAction: PropTypes.func.isRequired,
projectIntegrations: PropTypes.object.isRequired,
accountRole: PropTypes.string.isRequired,
userRole: PropTypes.string.isRequired,
onRemoveIntegration: PropTypes.func.isRequired,
testConnection: PropTypes.func,
blocked: PropTypes.bool,
@@ -105,6 +99,7 @@ export class ConnectionSection extends Component {
trackEvent: PropTypes.func,
getTrackingData: PropTypes.func,
}).isRequired,
isEditable: PropTypes.bool.isRequired,
isGlobal: PropTypes.bool,
data: PropTypes.shape({
creationDate: PropTypes.number,
@@ -169,13 +164,11 @@ export class ConnectionSection extends Component {
connected,
projectIntegrations,
pluginName,
accountRole,
userRole,
isEditable,
data: { name, creator, creationDate },
} = this.props;

const availableProjectIntegrations = projectIntegrations[pluginName] || [];
const isAbleToEdit = canUpdateSettings(accountRole, userRole);

return (
<>
@@ -232,7 +225,7 @@ export class ConnectionSection extends Component {
</p>
{editAuthConfig && editAuthConfig.content}
</div>
{isAbleToEdit && (
{isEditable && (
<div className={cx('buttons-block')}>
{editAuthConfig && !blocked && (
<button onClick={this.onEditAuth} className={cx('action-button')}>
Original file line number Diff line number Diff line change
@@ -60,6 +60,7 @@ export class IntegrationForm extends Component {
connected: PropTypes.bool.isRequired,
isEmptyConfiguration: PropTypes.bool.isRequired,
pluginName: PropTypes.string.isRequired,
isEditable: PropTypes.bool.isRequired,
isGlobal: PropTypes.bool,
tracking: PropTypes.shape({
trackEvent: PropTypes.func,
@@ -122,6 +123,7 @@ export class IntegrationForm extends Component {
isEmptyConfiguration,
isGlobal,
pluginName,
isEditable,
} = this.props;
const isSupportsMultipleInstances = isIntegrationSupportsMultipleInstances(pluginName);

@@ -155,7 +157,7 @@ export class IntegrationForm extends Component {
)}
</div>
)}
{!blocked && (
{!blocked && isEditable && (
<div className={cx('controls-block')}>
{disabled ? (
<Button onClick={this.toggleDisabled} disabled={shouldFieldsBeHidden}>
Original file line number Diff line number Diff line change
@@ -23,7 +23,12 @@ import { fetch } from 'common/utils';
import { URLS } from 'common/urls';
import { projectIdSelector, querySelector, PROJECT_SETTINGS_TAB_PAGE } from 'controllers/pages';
import { omit } from 'common/utils/omit';
import { activeProjectSelector } from 'controllers/user';
import {
activeProjectSelector,
activeProjectRoleSelector,
userAccountRoleSelector,
} from 'controllers/user';
import { canUpdateSettings } from 'common/utils/permissions';
import {
removeIntegrationAction,
namedGlobalIntegrationsSelector,
@@ -47,6 +52,9 @@ export const IntegrationSettings = (props) => {
const projectIntegrations = useSelector(namedProjectIntegrationsSelector);
const projectId = useSelector(projectIdSelector);
const activeProject = useSelector(activeProjectSelector);
const accountRole = useSelector(userAccountRoleSelector);
const userRole = useSelector(activeProjectRoleSelector);
const isEditable = canUpdateSettings(accountRole, userRole);
const query = useSelector(querySelector);
const dispatch = useDispatch();
const { trackEvent } = useTracking();
@@ -130,6 +138,7 @@ export const IntegrationSettings = (props) => {
pluginName={pluginName}
data={data}
isGlobal={isGlobal}
isEditable={isEditable}
/>
<IntegrationForm
form={formKey}
@@ -140,6 +149,7 @@ export const IntegrationSettings = (props) => {
onSubmit={onUpdate}
formFieldsComponent={formFieldsComponent}
isEmptyConfiguration={isEmptyConfiguration}
isEditable={isEditable}
/>
</>
)}

0 comments on commit 970dbc0

Please sign in to comment.