Blame view
imports/ui/pages/Signup.js
3.64 KB
ff976df49
|
1 2 3 4 5 6 7 |
import React from 'react'; import { Link } from 'react-router'; import { Row, Col, FormGroup, ControlLabel, FormControl, InputGroup, Button } from 'react-bootstrap'; import handleSignup from '../../modules/signup'; import { Orgs } from '/imports/collections/orgs/index'; |
2b1ad7917
|
8 |
|
3540345c5
|
9 |
export default class Signup extends React.Component { |
ff976df49
|
10 11 12 |
constructor(props) { super(props); this.state = { |
79c6eb079
|
13 |
orgSlug: "" |
ff976df49
|
14 15 16 17 18 |
}; } componentWillMount(){ Meteor.subscribe('allOrgsSlug'); } |
7df77f0fa
|
19 |
componentDidMount() { |
f0c912bf1
|
20 |
handleSignup({ component: this }); |
7df77f0fa
|
21 |
} |
79c6eb079
|
22 23 24 |
handleChange(e) { this.setState({ orgSlug: e.target.value }); } |
c42d4eeac
|
25 26 |
handleSubmit(event) { event.preventDefault(); |
7df77f0fa
|
27 |
} |
79c6eb079
|
28 29 30 31 32 33 34 35 36 |
checkExistingOrgSlug() { console.log(this.state.orgSlug); if(this.state.orgSlug==""){return null} searchOrg = Orgs.find({slug:this.state.orgSlug}).fetch(); if(searchOrg.length>0){ return "error" }else{ return "success" } |
ff976df49
|
37 |
} |
7df77f0fa
|
38 |
render() { |
4c9b3dfc1
|
39 40 41 42 43 44 45 46 47 |
return ( <div className="Signup"> <Row> <Col xs={ 12 } sm={ 6 } md={ 4 }> <h4 className="page-header">Sign Up</h4> <form ref={ form => (this.signupForm = form) } onSubmit={ this.handleSubmit } > |
ff976df49
|
48 49 |
<Row> <Col xs={ 12 } sm={ 12 }> |
79c6eb079
|
50 |
<FormGroup controlId="orgSlugField" validationState={this.checkExistingOrgSlug()}> |
ff976df49
|
51 52 53 |
<ControlLabel>Organisation name</ControlLabel> <InputGroup> <FormControl |
79c6eb079
|
54 55 56 57 58 |
type ="text" ref ="orgSlug" name ="orgSlug" placeholder ="School Name" onChange = {(e) => this.handleChange(e)} |
ff976df49
|
59 60 61 62 63 64 |
/> <InputGroup.Addon>@yd.com</InputGroup.Addon> </InputGroup> </FormGroup> </Col> </Row> |
4c9b3dfc1
|
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
<Row> <Col xs={ 6 } sm={ 6 }> <FormGroup> <ControlLabel>First Name</ControlLabel> <FormControl type="text" ref="firstName" name="firstName" placeholder="First Name" /> </FormGroup> </Col> <Col xs={ 6 } sm={ 6 }> <FormGroup> <ControlLabel>Last Name</ControlLabel> <FormControl type="text" ref="lastName" name="lastName" placeholder="Last Name" /> </FormGroup> </Col> </Row> |
cac7cbc73
|
89 |
<FormGroup> |
4c9b3dfc1
|
90 |
<ControlLabel>Email Address</ControlLabel> |
cac7cbc73
|
91 92 |
<FormControl type="text" |
4c9b3dfc1
|
93 94 95 |
ref="emailAddress" name="emailAddress" placeholder="Email Address" |
cac7cbc73
|
96 97 |
/> </FormGroup> |
cac7cbc73
|
98 |
<FormGroup> |
4c9b3dfc1
|
99 |
<ControlLabel>Password</ControlLabel> |
cac7cbc73
|
100 |
<FormControl |
4c9b3dfc1
|
101 102 103 104 |
type="password" ref="password" name="password" placeholder="Password" |
cac7cbc73
|
105 106 |
/> </FormGroup> |
4c9b3dfc1
|
107 108 109 110 111 112 113 |
<Button type="submit" bsStyle="success">Sign Up</Button> </form> <p>Already have an account? <Link to="/login">Log In</Link>.</p> </Col> </Row> </div> ); |
7df77f0fa
|
114 115 |
} } |