source: client_app/src/components/register/register_company_form.js@ df3a395

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

registration complete for all users

  • Property mode set to 100644
File size: 3.4 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 UserRegister from "../../repository/register_repo";
6import {Component} from "react/cjs/react.production.min";
7
8class RegisterCompany extends Component {
9 constructor(props){
10 super(props);
11 this.state = {
12 email: "",
13 password: "",
14 name:"",
15 members: "",
16 city: "",
17 street: "",
18 error: null,
19 success: null
20 }
21 this.attemptCompanyRegister = this.attemptCompanyRegister.bind(this);
22 }
23
24 handleCheck = (e, {value}) => {
25 this.setState({
26 ...this.state,
27 [e.target.name]: value
28 })
29 }
30
31 attemptCompanyRegister = () => {
32 UserRegister.companyRegister(
33 this.state.email,
34 this.state.password,
35 this.state.name,
36 this.state.country
37 ,this.state.city,
38 this.state.street
39 ).then(res =>{
40 if(res.data.success!=null){
41 this.setState({
42 success: res.data.success,
43 error: null
44 })
45 this.props.message(this.state.success);
46 }else{
47 this.setState({
48 error: res.data.error,
49 success: null
50 })
51 }
52 }).catch(err => {
53 this.setState({
54 error: "Company already exists!",
55 success: null
56 })
57 })
58 }
59
60 componentDidMount(){
61 this.props.message(null);
62 }
63
64 render() {
65 if(this.state.success!=null){
66 return(
67 <Redirect to={"/login"}/>
68 );
69 }
70
71 return (
72 <Container>
73 <h1 style={{color: "red"}}>{this.state.error}</h1>
74 <Form onSubmit={this.attemptCompanyRegister}>
75 <Form.Input id="email" name="email" type='email' required fluid label='E-mail'
76 placeholder='Enter e-mail.' onChange={this.handleCheck}/>
77 <Form.Input id="password" name="password" type='password' required fluid label='Password'
78 placeholder='Enter password.' onChange={this.handleCheck}/>
79 <Form.Input id="name" name="name" type='text' required fluid label='Name'
80 placeholder='Enter company name.' onChange={this.handleCheck}/>
81 <Form.Input id="country" name="country" type='text' required fluid label='Country'
82 placeholder='Enter your country.' onChange={this.handleCheck}/>
83 <Form.Input id="city" name="city" type='text' required fluid label='City'
84 placeholder='Enter your city.' onChange={this.handleCheck}/>
85 <Form.Input id="street" name="street" type='text' required fluid label='Street'
86 placeholder='Enter address street.' onChange={this.handleCheck}/>
87 <Form.Field control={Button}>Register</Form.Field>
88 </Form>
89 </Container>
90 );
91 }
92}
93
94export default RegisterCompany;
Note: See TracBrowser for help on using the repository browser.