Various fixes in the UI.
Check permissions mechanism reworked to allow specifying permission checks already in menu structure.
This commit is contained in:
parent
a46c8fa9c3
commit
a258479621
37 changed files with 485 additions and 399 deletions
|
|
@ -19,7 +19,7 @@ import {withErrorHandling} from '../lib/error-handling';
|
|||
import interoperableErrors from '../../../shared/interoperable-errors';
|
||||
import passwordValidator from '../../../shared/password-validator';
|
||||
import mailtrainConfig from 'mailtrainConfig';
|
||||
import {NamespaceSelect, validateNamespace} from '../lib/namespace';
|
||||
import {getDefaultNamespace, NamespaceSelect, validateNamespace} from '../lib/namespace';
|
||||
import {DeleteModalDialog} from "../lib/modals";
|
||||
import {withComponentMixins} from "../lib/decorator-helpers";
|
||||
|
||||
|
|
@ -49,7 +49,8 @@ export default class CUD extends Component {
|
|||
|
||||
static propTypes = {
|
||||
action: PropTypes.string.isRequired,
|
||||
entity: PropTypes.object
|
||||
entity: PropTypes.object,
|
||||
permissions: PropTypes.object
|
||||
}
|
||||
|
||||
getFormValuesMutator(data) {
|
||||
|
|
@ -71,7 +72,7 @@ export default class CUD extends Component {
|
|||
email: '',
|
||||
password: '',
|
||||
password2: '',
|
||||
namespace: mailtrainConfig.user.namespace,
|
||||
namespace: getDefaultNamespace(this.props.permissions),
|
||||
role: null
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,12 +5,17 @@ import CUD from './CUD';
|
|||
import List from './List';
|
||||
import UserShares from '../shares/UserShares';
|
||||
import {ellipsizeBreadcrumbLabel} from "../lib/helpers";
|
||||
import {namespaceCheckPermissions} from "../lib/namespace";
|
||||
import MosaicoCUD from "../templates/mosaico/CUD";
|
||||
|
||||
function getMenus(t) {
|
||||
return {
|
||||
'users': {
|
||||
title: t('users'),
|
||||
link: '/users',
|
||||
checkPermissions: {
|
||||
...namespaceCheckPermissions('manageUsers')
|
||||
},
|
||||
panelComponent: List,
|
||||
children: {
|
||||
':userId([0-9]+)': {
|
||||
|
|
@ -23,7 +28,7 @@ function getMenus(t) {
|
|||
':action(edit|delete)': {
|
||||
title: t('edit'),
|
||||
link: params => `/users/${params.userId}/edit`,
|
||||
panelRender: props => <CUD action={props.match.params.action} entity={props.resolved.user} />
|
||||
panelRender: props => <CUD action={props.match.params.action} entity={props.resolved.user} permissions={props.permissions} />
|
||||
},
|
||||
shares: {
|
||||
title: t('shares'),
|
||||
|
|
@ -34,7 +39,7 @@ function getMenus(t) {
|
|||
},
|
||||
create: {
|
||||
title: t('create'),
|
||||
panelRender: props => <CUD action="create" />
|
||||
panelRender: props => <CUD action="create" permissions={props.permissions} />
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue