Fakultas Ilmu Komputer UI

Skip to content
Snippets Groups Projects
Commit 65d50a79 authored by M. Reza Qorib's avatar M. Reza Qorib
Browse files

Merge branch 'UserStory2' of https://gitlab.com/PPL2017csui/PPLA1 into UserStory2

parents d86740f3 9ca43d3e
No related branches found
No related tags found
No related merge requests found
...@@ -109,15 +109,14 @@ font-size: 30px; ...@@ -109,15 +109,14 @@ font-size: 30px;
} }
.registerForm{ .registerForm{
width: 500px; width: 800px;
margin: 0 auto; margin: 0 auto;
padding:50px; padding:50px;
background-color: white; background-color: #3B8686;
} }
.register{ .register{
background-color: white;
background-color:#3B8686; background-color:#3B8686;
} }
...@@ -141,3 +140,6 @@ input.active:invalid { ...@@ -141,3 +140,6 @@ input.active:invalid {
margin-top: 5px; margin-top: 5px;
} }
card .formRegis{
margin-top: 100px;
}
\ No newline at end of file
import React from 'react'; import React from 'react';
import { Button, Checkbox, Form, Input, TextArea, Grid, Divider, Header, Icon} from 'semantic-ui-react'; import { Button, Checkbox, Form, Input, TextArea, Grid, Divider, Header, Icon, Card } from 'semantic-ui-react';
export default class companyRegister extends React.Component { export default class companyRegister extends React.Component {
render = () => ( render = () => (
<div className="register"> <div className="register">
<div className="registerForm"> <div className="registerForm">
<Card fluid >
<Card.Content>
<Form> <Form>
<Header as='h2' icon textAlign='center'> <Header as='h2' icon textAlign='center'>
<Icon name='signup' circular /> <Icon name='signup' circular />
...@@ -57,9 +60,11 @@ export default class companyRegister extends React.Component { ...@@ -57,9 +60,11 @@ export default class companyRegister extends React.Component {
</Form.Field > </Form.Field >
<Button type='submit' floated='right' color='blue'>Submit</Button> <Button type='submit' floated='right' color='blue'>Submit</Button>
</Form> </Form>
</div> </Card.Content>
</Card>
</div> </div>
</div>
) )
} }
...@@ -11,7 +11,7 @@ export default class Dashboard extends React.Component { ...@@ -11,7 +11,7 @@ export default class Dashboard extends React.Component {
render = () => ( render = () => (
<div> <div>
<TopMenu /> <TopMenu color="blue" />
{this.props.children} {this.props.children}
</div> </div>
) )
......
...@@ -5,6 +5,7 @@ import { Segment, Modal, Button, Icon, Image as ImageComponent, Item, TextArea, ...@@ -5,6 +5,7 @@ import { Segment, Modal, Button, Icon, Image as ImageComponent, Item, TextArea,
import Dashboard from './Dashboard'; import Dashboard from './Dashboard';
import Login from './Login'; import Login from './Login';
import VacancyPage from './VacancyPage'; import VacancyPage from './VacancyPage';
import CompanyRegister from './CompanyRegister';
// import Register from './CompanyRegister' // import Register from './CompanyRegister'
import Pane from './components/Pane'; import Pane from './components/Pane';
import Tabs from './components/Tabs'; import Tabs from './components/Tabs';
...@@ -19,6 +20,7 @@ export const Profile = () => ( ...@@ -19,6 +20,7 @@ export const Profile = () => (
export const App = () => ( export const App = () => (
<Router history={browserHistory}> <Router history={browserHistory}>
<Route path="/login" component={Login} /> <Route path="/login" component={Login} />
<Route path="/register" component={CompanyRegister} />
{/*<Route path="/register" component={Register} />*/} {/*<Route path="/register" component={Register} />*/}
<Route component={Dashboard}> <Route component={Dashboard}>
<Route path="/" component={Profile} /> <Route path="/" component={Profile} />
......
...@@ -29,7 +29,7 @@ export default class VacancyPage extends React.Component { ...@@ -29,7 +29,7 @@ export default class VacancyPage extends React.Component {
// } // }
render() { render() {
const data = [{ data1: 'val1' }, { data1: 'val2' }]; const data = [{ data1: 'Software Enggineer' }, { data1: 'System Analyst' }];
return (<div> return (<div>
<Tabs selected={0}> <Tabs selected={0}>
......
...@@ -4,7 +4,7 @@ import ModalPendaftaran from './ModalPendaftaran'; ...@@ -4,7 +4,7 @@ import ModalPendaftaran from './ModalPendaftaran';
const paragraph = <ImageComponent src="http://semantic-ui.com/images/wireframe/short-paragraph.png" />; const paragraph = <ImageComponent src="http://semantic-ui.com/images/wireframe/short-paragraph.png" />;
const image = <Item.Image size="small" src="http://semantic-ui.com/images/wireframe/image.png" />;
export default class Lowongan extends React.Component { export default class Lowongan extends React.Component {
static propTypes = { static propTypes = {
data: React.PropTypes.object.isRequired, data: React.PropTypes.object.isRequired,
...@@ -14,14 +14,16 @@ export default class Lowongan extends React.Component { ...@@ -14,14 +14,16 @@ export default class Lowongan extends React.Component {
return ( return (
<Item > <Item >
{this.props.image} {image}
<Item.Content verticalAlign="middle"> <Item.Content verticalAlign="middle">
<Item.Header>{this.props.header}</Item.Header> <Item.Header>{this.props.header}</Item.Header>
<Item.Description>{this.props.content}</Item.Description> <Item.Description>{this.props.content}</Item.Description>
<Item.Extra> <Item.Extra>
<h4>{ this.props.data.data1 }</h4> <h3>{ this.props.data.data1 }</h3>
{paragraph} <h4>PT. Koding Kuat </h4>
<h5> JL.Kali deres utara no.1 </h5>
<h5> Jakarta Barat, DKI Jakarta</h5>
<ModalPendaftaran id={1} data={ { header: 'Deskripsi Lowongan', description: 'Lorem ipsum dolor sit amet, consectetur' + <ModalPendaftaran id={1} data={ { header: 'Deskripsi Lowongan', description: 'Lorem ipsum dolor sit amet, consectetur' +
' adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim ' + ' adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim ' +
......
...@@ -6,12 +6,15 @@ import Server from '../lib/Server'; ...@@ -6,12 +6,15 @@ import Server from '../lib/Server';
export default class TopMenu extends React.Component { export default class TopMenu extends React.Component {
state = { activeItem: 'home' }; state = { activeItem: 'home' };
handleItemClick = (e, { name2 }) => this.setState({ activeItem: name })
render() { render() {
const { activeItem } = this.state
return ( return (
<Menu pointing secondary> <Menu pointing secondary>
<Image as="a" size="small" src="/assets/img/logo.png" href="/" /> <Image as="a" size="small" src="/assets/img/logo.png" href="/" />
<Menu.Menu position="right"> <Menu.Menu position="right">
<Menu.Item as={Link} to="/home" name="home" /> <Menu.Item as={Link} to="/lowongan" name="home" />
<Menu.Item as={Link} to="/profile" name="profil" /> <Menu.Item as={Link} to="/profile" name="profil" />
{Server.isLoggedIn() ? {Server.isLoggedIn() ?
<Menu.Item as={Link} href="/api/api-auth/logout/?next=/" name="logout" /> : <Menu.Item as={Link} href="/api/api-auth/logout/?next=/" name="logout" /> :
......
...@@ -9,7 +9,8 @@ from rest_framework.response import Response ...@@ -9,7 +9,8 @@ from rest_framework.response import Response
from core.lib.permissions import IsAdminOrStudent, IsAdminOrSelfOrReadOnly, IsAdminOrCompany, IsAdminOrSupervisor from core.lib.permissions import IsAdminOrStudent, IsAdminOrSelfOrReadOnly, IsAdminOrCompany, IsAdminOrSupervisor
from core.models.accounts import Student, Company, Supervisor from core.models.accounts import Student, Company, Supervisor
from core.serializers.accounts import UserSerializer, StudentSerializer, CompanySerializer, SupervisorSerializer from core.serializers.accounts import UserSerializer, StudentSerializer, CompanySerializer, SupervisorSerializer, \
LoginSerializer
class UserViewSet(viewsets.ModelViewSet): class UserViewSet(viewsets.ModelViewSet):
...@@ -65,7 +66,7 @@ class SupervisorViewSet(viewsets.ModelViewSet): ...@@ -65,7 +66,7 @@ class SupervisorViewSet(viewsets.ModelViewSet):
class LoginViewSet(viewsets.GenericViewSet): class LoginViewSet(viewsets.GenericViewSet):
permission_classes = (AllowAny, ) permission_classes = (AllowAny, )
serializer_class = UserSerializer serializer_class = LoginSerializer
queryset = User.objects.all() queryset = User.objects.all()
def create(self, request): def create(self, request):
...@@ -111,23 +112,26 @@ class LoginViewSet(viewsets.GenericViewSet): ...@@ -111,23 +112,26 @@ class LoginViewSet(viewsets.GenericViewSet):
resume=None, resume=None,
phone_number=None phone_number=None
) )
user.save()
student.save() student.save()
else: else:
supervisor = Supervisor.objects.create( supervisor = Supervisor.objects.create(
user=user, user=user,
nip=resp.get("kodeidentitas") nip=resp.get("kodeidentitas")
) )
user.save()
supervisor.save() supervisor.save()
return Response(status=status.HTTP_201_CREATED) serializer = LoginSerializer(user, context={'request': request})
return Response(status=status.HTTP_200_OK) return Response(serializer.data, status=status.HTTP_201_CREATED)
serializer = LoginSerializer(user, context={'request': request})
return Response(serializer.data, status=status.HTTP_200_OK)
else: else:
return Response(status=status.HTTP_401_UNAUTHORIZED) return Response(status=status.HTTP_401_UNAUTHORIZED)
else: elif login_type == "company":
user = authenticate(username = username, password = password) user = authenticate(username = username, password = password)
if user is not None: if user is not None:
login(request, user) login(request, user)
return Response(status=status.HTTP_200_OK) serializer = LoginSerializer(user, context={'request': request})
return Response(serializer.data, status=status.HTTP_200_OK)
else: else:
return Response(status=status.HTTP_401_UNAUTHORIZED) return Response(status=status.HTTP_401_UNAUTHORIZED)
else:
return Response(status=status.HTTP_400_BAD_REQUEST)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment