source: client_app/src/components/account_edit/team_edit.js@ ed3f5c4

Last change on this file since ed3f5c4 was be373a8, checked in by Vzdra <vladko.zdravkovski@…>, 3 years ago

edit complete

  • Property mode set to 100644
File size: 2.7 KB
Line 
1import React from 'react';
2import 'semantic-ui-react';
3import {Button, Container, Form} from "semantic-ui-react";
4import { Redirect } from 'react-router-dom';
5import {Component} from "react/cjs/react.production.min";
6import AccountEdit from "../../repository/edit_account_repo";
7
8class EditTeam extends Component {
9 constructor(props){
10 super(props);
11 this.state = {
12 email: props.oldUser.email,
13 name: props.oldUser.name,
14 members: props.oldUser.members,
15 error: null,
16 success: null,
17 id: props.oldUser.id,
18 oldEmail: props.oldUser.email,
19 type: props.oldUser.type
20 }
21 this.attemptTeamEdit = this.attemptTeamEdit.bind(this);
22 }
23
24 handleCheck = (e, {value}) => {
25 this.setState({
26 ...this.state,
27 [e.target.name]: value
28 })
29 }
30
31 attemptTeamEdit = () => {
32 AccountEdit.teamEdit(
33 this.state.id,
34 this.state.oldEmail,
35 this.state.email,
36 this.state.name,
37 this.state.members
38 ).then(res =>{
39 this.setState({
40 success: true,
41 error: null
42 })
43 this.props.updateUser(res.data);
44 }).catch(err => {
45 this.setState({
46 error: "Team already exists!",
47 success: null
48 })
49 })
50 }
51
52 componentDidMount(){
53 this.props.message(null);
54 }
55
56 render() {
57 if(this.state.success!=null){
58 return(
59 <Redirect to={"/profile"}/>
60 );
61 }
62
63 if(this.state.type!=="TEAM"){
64 return(
65 <Redirect to={"/profile"}/>
66 );
67 }
68
69 return (
70 <Container>
71 <h1 style={{color: "red"}}>{this.state.error}</h1>
72 <Form onSubmit={this.attemptTeamEdit}>
73 <Form.Input id="email" name="email" type='email' required fluid label='E-mail'
74 placeholder='Enter e-mail.' value={this.state.email} onChange={this.handleCheck}/>
75 <Form.Input id="name" name="name" type='text' required fluid label='Name'
76 placeholder='Enter company name.' value={this.state.name} onChange={this.handleCheck}/>
77 <Form.Input id="members" name="members" type="number" required fluid label="Number of members"
78 placeholder="Enter member count." value={this.state.members} onChange={this.handleCheck}/>
79 <Form.Field control={Button}>Register</Form.Field>
80 </Form>
81 </Container>
82 );
83 }
84}
85
86export default EditTeam;
Note: See TracBrowser for help on using the repository browser.