From 26bc566e36a58649d7d79e25715ff333a332d1d0 Mon Sep 17 00:00:00 2001 From: Sonja Happ Date: Mon, 19 Aug 2019 16:07:21 +0200 Subject: [PATCH] - some changes due to React update - make edit user dialog work with new backend - form validation moved to handle changes method - Admins can change any user's password --- src/components/dialogs/edit-user.js | 63 ++++++++++++++++++----------- 1 file changed, 39 insertions(+), 24 deletions(-) diff --git a/src/components/dialogs/edit-user.js b/src/components/dialogs/edit-user.js index d6f1f84..0d901bd 100644 --- a/src/components/dialogs/edit-user.js +++ b/src/components/dialogs/edit-user.js @@ -20,7 +20,7 @@ ******************************************************************************/ import React from 'react'; -import { FormGroup, FormControl, FormLabel } from 'react-bootstrap'; +import {FormGroup, FormControl, FormLabel, Col} from 'react-bootstrap'; import Dialog from './dialog'; @@ -34,7 +34,8 @@ class EditUserDialog extends React.Component { username: '', mail: '', role: '', - _id: '' + id: '', + password: '' } } @@ -50,52 +51,66 @@ class EditUserDialog extends React.Component { handleChange(e) { this.setState({ [e.target.id]: e.target.value }); - } - resetState() { - this.setState({ - username: this.props.user.username, - mail: this.props.user.mail, - role: this.props.user.role, - _id: this.props.user._id - }); - } - - validateForm(target) { // check all controls var username = true; + var role = true; + var mail = true; + var pw = true if (this.state.username === '') { username = false; } - this.valid = username; + if (this.state.role === ''){ + role = false; + } - // return state to control - if (target === 'username') return username ? "success" : "error"; + if(this.state.mail === ''){ + mail = false; + } - return "success"; + if(this.state.password === ''){ + pw = false; + } + + // form is valid if any of the fields contain somethig + this.valid = username || role || mail || pw; + + } + + resetState() { + this.setState({ + //username: this.props.user.username, + //mail: this.props.user.mail, + role: this.props.user.role, + id: this.props.user.id + }); } render() { return ( this.onClose(c)} onReset={() => this.resetState()} valid={this.valid}>
- + Username this.handleChange(e)} /> - + E-mail this.handleChange(e)} /> - + + Password + this.handleChange(e)} /> + + Role - this.handleChange(e)}> - - - + this.handleChange(e)}> + + +