From 89256d62bd09eda30b80599db53d79009fd7ddfb Mon Sep 17 00:00:00 2001 From: Tomas Bures Date: Thu, 27 Jul 2017 17:11:22 +0300 Subject: [PATCH] WiP on permissions Table of shares per user --- app.js | 1 + client/src/shares/Share.js | 22 +-- client/src/shares/UserShares.js | 93 +++++++++++++ client/src/users/CUD.js | 22 +-- client/src/users/List.js | 5 + client/src/users/root.js | 34 ++--- index.js | 5 +- lib/client-helpers.js | 18 +-- lib/dt-helpers.js | 14 +- lib/passport.js | 4 +- models/reports.js | 9 +- models/shares.js | 130 +++++++++++++++--- models/users.js | 52 ++++--- routes/reports.js | 2 +- routes/rest/account.js | 2 +- routes/rest/reports.js | 8 +- routes/rest/shares.js | 16 ++- routes/rest/users.js | 4 +- .../20170507084114_create_permissions.js | 83 ++++++----- shared/interoperable-errors.js | 1 + 20 files changed, 354 insertions(+), 171 deletions(-) create mode 100644 client/src/shares/UserShares.js diff --git a/app.js b/app.js index 64039a41..426e15b1 100644 --- a/app.js +++ b/app.js @@ -329,6 +329,7 @@ if (app.get('env') === 'development') { return next(); } + console.log(err); if (req.needsJSONResponse) { const resp = { message: err.message, diff --git a/client/src/shares/Share.js b/client/src/shares/Share.js index d1b491a8..2fbb9362 100644 --- a/client/src/shares/Share.js +++ b/client/src/shares/Share.js @@ -110,19 +110,18 @@ export default class Share extends Component { render() { const t = this.props.t; - const roles = mailtrainConfig.roles[this.props.entityTypeId]; const actions = data => [ { label: 'Delete', - action: () => this.deleteShare(data[4]) + action: () => this.deleteShare(data[3]) } ]; const sharesColumns = [ - { data: 1, title: t('Username') }, - { data: 2, title: t('Name') }, - { data: 3, title: t('Role'), render: data => roles[data] ? roles[data].name : data } + { data: 0, title: t('Username') }, + { data: 1, title: t('Name') }, + { data: 2, title: t('Role') } ]; @@ -144,13 +143,6 @@ export default class Share extends Component { ]; - const rolesData = []; - for (const key in roles) { - const role = roles[key]; - rolesData.push([ key, role.name, role.description ]); - } - - if (this.state.entity) { return (
@@ -158,8 +150,8 @@ export default class Share extends Component {

{t('Add User')}

- this.usersTableSelect = node} id="userId" label={t('User')} withHeader dropdown dataUrl={`/rest/shares-users-table/${this.props.entityTypeId}/${this.state.entityId}`} columns={usersColumns} selectionLabelIndex={usersLabelIndex}/> - + this.usersTableSelect = node} id="userId" label={t('User')} withHeader dropdown dataUrl={`/rest/shares-unassigned-users-table/${this.props.entityTypeId}/${this.state.entityId}`} columns={usersColumns} selectionLabelIndex={usersLabelIndex}/> +