diff --git a/assets/js/ProfilePage.jsx b/assets/js/ProfilePage.jsx
index fb1fe596bcbc8ef9ec429d7b502f25dac1b9f0d8..be46addf666836b00f3494855ed3d2ebc4b1bba2 100644
--- a/assets/js/ProfilePage.jsx
+++ b/assets/js/ProfilePage.jsx
@@ -1,6 +1,7 @@
 import React from 'react';
 import { Segment, Image, Header, Icon, Checkbox, Container, Button, Form } from 'semantic-ui-react';
 import Server from './lib/Server';
+import Storage from './lib/Storage';
 import ModalAlert from './components/ModalAlert';
 
 export default class ProfilePage extends React.Component {
@@ -35,12 +36,14 @@ export default class ProfilePage extends React.Component {
         show_transcript: '',
       },
       bagikanTranskrip: '',
+      refresh: 1,
     };
     this.getProfile = this.getProfile.bind(this);
     this.handleChange = this.handleChange.bind(this);
     this.handleCheckbox = this.handleCheckbox.bind(this);
     this.handleSubmit = this.handleSubmit.bind(this);
     this.handleFile = this.handleFile.bind(this);
+    this.gotoLink = this.gotoLink.bind(this);
     this.getProfile();
   }
 
@@ -60,10 +63,16 @@ export default class ProfilePage extends React.Component {
         phone_number: data.phone_number,
         photo: data.photo,
         show_transcript: data.show_transcript,
-        bagikanTranskrip: (data.show_transcript ? 'Ya' : 'Tidak'),
+        bagikanTranskrip: data.show_transcript,
+        refresh: this.state.refresh + 1,
       });
+      if (this.props.route.own) {
+        const newSession = this.props.user.data;
+        newSession.student = data;
+        Storage.set('user-data', newSession);
+        window.scrollTo(0, 0);
+      }
     }, error => error.then(() => {
-        // this.modalAlert.open('Gagal Mengambil ', r.error);
       this.state.name = 'Gagal mendapatkan informasi';
     }));
   }
@@ -78,9 +87,9 @@ export default class ProfilePage extends React.Component {
       }
     });
     Server.submit(`/profiles/students/${this.state.id}/`, submitForm, 'PATCH').then(() => {
-      this.modalAlert.open('Profil berhasil diperbaharui', 'Silakan periksa kembali profil anda' );
+      this.modalAlert.open('Profil berhasil diperbaharui', 'Silakan periksa kembali profil anda', this.getProfile);
     }, error => error.then((r) => {
-      this.modalAlert.open('Pembaharuan profil gagal', r.error);
+      this.modalAlert.open('Pembaharuan profil gagal', r.detail);
     }));
   };
 
@@ -103,6 +112,11 @@ export default class ProfilePage extends React.Component {
     this.setState({ form, show_transcript: d.checked });
   };
 
+  gotoLink = (url) => {
+    const win = window.open(url);
+    win.focus();
+  };
+
   updateForm(show) {
     if (show) {
       return (
@@ -114,7 +128,7 @@ export default class ProfilePage extends React.Component {
             </Header.Content>
           </Header>
           <ModalAlert ref={(modal) => { this.modalAlert = modal; }} />
-          <Form size="small" onSubmit={this.handleSubmit}>
+          <Form ref={(input) => { this.form = input; }} key={this.state.refresh} size="small" onSubmit={this.handleSubmit}>
             <Form.Field>
               <label htmlFor="photo">Profile Picture</label>
               <input onChange={this.handleFile} placeholder="Profile Photo.jpg" name="photo" type="File" />
@@ -134,7 +148,7 @@ export default class ProfilePage extends React.Component {
             <Form.Field>
               <Checkbox
                 onChange={this.handleCheckbox}
-                checked={ this.state.show_transcript ? true : false }
+                checked={!!this.state.show_transcript}
                 label="Ijinkan perusahaan tempat saya mendaftar untuk melihat transkrip akademik saya"
                 name="show_transcript"
               />
@@ -165,19 +179,18 @@ export default class ProfilePage extends React.Component {
               <h5> { this.state.cityOfBirth}, { this.state.dateOfBirth } </h5>
             </div>
             <div className="button-profile">
-              <a href={this.state.resume ? this.state.resume : '#'} ><Button primary size="small">Resume</Button></a>
-              { this.state.show_transcript &&
-                <Button primary size="small">Transkrip</Button>
-              }
+              <a target="_blank" rel="noopener noreferrer" href={this.state.resume ? this.state.resume : '#'} >
+                <Button primary size="small">Resume</Button>
+              </a>
             </div>
             <div>
-              Bagikan Transkrip: <b>{ this.state.bagikanTranskrip }</b>
+              <br />
+              Bagikan Transkrip: <b>{ this.state.bagikanTranskrip ? 'Ya' : 'Tidak'}</b>
             </div>
           </Container>
         </Segment >
         { this.updateForm(this.props.route.own) }
       </div>
-
     );
   }
 }
diff --git a/assets/js/components/ApplyModal.jsx b/assets/js/components/ApplyModal.jsx
index 6a830a8664e2dfbd252cfd0848491783a940b5d1..256466392b0e1621ececc3a8664dbcb90effe2c5 100644
--- a/assets/js/components/ApplyModal.jsx
+++ b/assets/js/components/ApplyModal.jsx
@@ -1,5 +1,5 @@
 import React from 'react';
-import { Icon, Modal, Button, TextArea, Form } from 'semantic-ui-react';
+import { Icon, Modal, Button, TextArea, Form, Message } from 'semantic-ui-react';
 import ModalAlert from './../components/ModalAlert';
 import Server from './../lib/Server';
 
@@ -68,7 +68,15 @@ export default class ApplyModal extends React.Component {
           <div className="coverLetter">
             <br />
             <div className="linkCV">
-              <a href={this.props.resume} target="_blank" rel="noopener noreferrer"> Klik untuk lihat CV terakhirmu</a>
+              { this.props.resume ? (<a href={this.props.resume} target="_blank" rel="noopener noreferrer"> Klik untuk lihat CV terakhirmu</a>)
+                : (
+                  <Message
+                    error
+                    icon="warning sign"
+                    header="CV Tidak Ditemukan"
+                    content="Anda belum mengunggah CV. Harap ubah profil anda terlebih dahulu pada halaman Profil."
+                  />)
+              }
             </div>
             <br />
             <div>
@@ -82,7 +90,7 @@ export default class ApplyModal extends React.Component {
 
       </Modal.Content>
       <Modal.Actions>
-        <Button loading={this.state.load} color="blue" disabled={!this.props.active} onClick={this.handleApply}>
+        <Button loading={this.state.load} color="blue" disabled={!this.props.active || this.props.resume == null} onClick={this.handleApply}>
           { this.props.active ? 'Daftar' : 'Sudah Terdaftar' } <Icon name="right chevron" />
         </Button>
       </Modal.Actions>
diff --git a/assets/js/components/ApproveModal.jsx b/assets/js/components/ApproveModal.jsx
index 132083a6b9dcaa27338a0b8c8e95b4af37f310a4..fa04bed2af8c90b015b45b1f7e0fdcf7780b5bea 100644
--- a/assets/js/components/ApproveModal.jsx
+++ b/assets/js/components/ApproveModal.jsx
@@ -1,5 +1,5 @@
 import React from 'react';
-import { Modal, Button } from 'semantic-ui-react';
+import { Modal, Button, Icon, Segment } from 'semantic-ui-react';
 import Server from './../lib/Server';
 import ConfirmationModal from './../components/ConfirmationModal';
 import Applicant from './../components/Applicant';
@@ -21,6 +21,7 @@ export default class ApproveModal extends React.Component {
     this.handleOpen = this.handleOpen.bind(this);
     this.reject = this.reject.bind(this);
     this.accept = this.accept.bind(this);
+    this.gotoStudentProfile = this.gotoStudentProfile.bind(this);
     this.gotoStudentResume = this.gotoStudentResume.bind(this);
     this.gotoStudentTranscript = this.gotoStudentTranscript.bind(this);
   }
@@ -69,6 +70,8 @@ export default class ApproveModal extends React.Component {
 
   gotoStudentTranscript = () => this.gotoLink(`/transcript/${this.props.data.id}`);
 
+  gotoStudentProfile = () => this.gotoLink(`/mahasiswa/${this.props.data.student.id}`);
+
   accept = () => {
     this.modal.open(
       'Terima Lamaran?',
@@ -89,15 +92,25 @@ export default class ApproveModal extends React.Component {
       <Modal.Header>Data Lamaran</Modal.Header>
       <Modal.Content>
         <h4> Cover Letter </h4>
-        { this.props.data.cover_letter ? this.props.data.cover_letter : 'Kosong' }
-        <div style={{ float: 'right', textAlign: 'right' }}>
-          {this.props.data.student.resume ? <a onClick={this.gotoStudentResume} href="#" >CV Pelamar </a> : ''}
-          <br />
-          {this.props.data.student.show_transcript ? <a onClick={this.gotoStudentTranscript} href="#" >Transkrip Pelamar</a> : ''}
-          <br />
+        <Segment>
+          <p>
+            { this.props.data.cover_letter ? this.props.data.cover_letter : 'Kosong' }
+          </p>
+        </Segment>
+        <br />
+        <div>
+          <b>
+            {this.props.data.student.resume ? <a onClick={this.gotoStudentResume} href="#" >CV Pelamar </a> : 'Pelamar tidak memiliki CV'}
+            <br />
+            {this.props.data.student.show_transcript ? <a onClick={this.gotoStudentTranscript} href="#" >Transkrip Pelamar</a> : 'Pelamar tidak mengijinkan transktip dilihat'}
+            <br />
+          </b>
         </div>
       </Modal.Content>
       <Modal.Actions>
+        <Button color="facebook" onClick={this.gotoStudentProfile} floated="left" >
+          <Icon name="user outline" /> Lihat Profil
+        </Button>
         <Button.Group>
           <Button disabled={this.props.data.status === Applicant.APPLICATION_STATUS.REJECTED} loading={this.state.rejectLoading} color="red" onClick={this.reject}>Tolak Lamaran</Button>
           <Button.Or />