Skip to content

Commit

Permalink
Fixed issue with role_enable for users
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Aug 23, 2021
1 parent 000bf13 commit c9dc17c
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 4 deletions.
13 changes: 12 additions & 1 deletion ui/src/app/core/user/UserContext.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ function useIsAdmin() {
return user.role === 'ROLE_ADMIN';
}

function useIsEnabler() {
const user = useCurrentUser();
return user.role === 'ROLE_ENABLE';
}

function useIsInGroup(id) {
const user = useCurrentUser();
return user.group === id;
Expand All @@ -50,5 +55,11 @@ function useIsAdminOrInGroup() {
return isAdmin || isInGroup;
}

function useCanEnable() {
const isAdmin = useIsAdmin();
const isEnabler = useIsEnabler();
return isAdmin || isEnabler;
}


export { UserContext, UserProvider, Consumer as UserConsumer, useCurrentUser, useIsAdmin, useIsAdminOrInGroup };
export { UserContext, UserProvider, Consumer as UserConsumer, useCurrentUser, useIsAdmin, useIsAdminOrInGroup, useCanEnable};
5 changes: 3 additions & 2 deletions ui/src/app/metadata/domain/source/component/SourceList.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,14 @@ import FormattedDate from '../../../../core/components/FormattedDate';
import Translate from '../../../../i18n/components/translate';
import { Scroller } from '../../../../dashboard/component/Scroller';
import { useTranslator } from '../../../../i18n/hooks';
import { useIsAdmin } from '../../../../core/user/UserContext';
import { useCanEnable, useIsAdmin } from '../../../../core/user/UserContext';
import { GroupsProvider } from '../../../../admin/hoc/GroupsProvider';

export default function SourceList({ entities, onDelete, onEnable, onChangeGroup }) {

const translator = useTranslator();
const isAdmin = useIsAdmin();
const canEnable = useCanEnable();

return (
<Scroller entities={entities}>
Expand Down Expand Up @@ -52,7 +53,7 @@ export default function SourceList({ entities, onDelete, onEnable, onChangeGroup
<td className="align-middle"><FormattedDate date={source.createdDate} /></td>
<td className="text-center align-middle">
<span className="d-flex justify-content-center align-items-center">
{onEnable && isAdmin ?
{onEnable && canEnable ?
<Form.Check
type="switch"
id={`enable-switch-${source.id}`}
Expand Down
5 changes: 4 additions & 1 deletion ui/src/app/metadata/view/MetadataOptions.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { MetadataFilterConfigurationList } from '../domain/filter/component/Meta
import { MetadataFilterTypes } from '../domain/filter';
import { useMetadataSchema } from '../hooks/schema';
import { FilterableProviders } from '../domain/provider';
import { useCanEnable } from '../../core/user/UserContext';

export function MetadataOptions ({reload}) {

Expand Down Expand Up @@ -51,6 +52,8 @@ export function MetadataOptions ({reload}) {

const enabled = type === 'source' ? metadata.serviceEnabled : metadata.enabled;

const canEnable = useCanEnable();

return (
<MetadataActions type={type}>
{(enable, remove) =>
Expand All @@ -65,7 +68,7 @@ export function MetadataOptions ({reload}) {
model={metadata}
showGroup={type === 'source'}>
<div className="d-flex align-items-start btn-group">
{enable &&
{enable && canEnable &&
<Button variant={enabled ? 'outline-secondary' : 'outline-secondary' } size="sm" className=""
onClick={() => enable(metadata, !enabled, reload)}>
<span className=" mr-1">
Expand Down

0 comments on commit c9dc17c

Please sign in to comment.