Skip to content
Snippets Groups Projects
Commit 20a509e5 authored by oetrb's avatar oetrb
Browse files

fixed student

parent 791306e0
No related branches found
No related tags found
No related merge requests found
<template>
<div class="content col-md-12">
{{events}}
<!--{{events}}-->
<kalendar :configuration="calendar_settings" :events.sync="events">
<!-- CREATED CARD SLOT -->
......
<template>
<div>
<div class="row col-md-12">
<div id="content" class="content col-md-12">
<form @submit="validateBeforeSubmit" class="col-md-10" style="margin-bottom: 20px">
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 30px">Anrede</h1>
<div class="input_container">
<input v-model="student.anrede" type="text" class="form-control inputField" placeholder="Anrede" aria-label="anrede" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 30px">Vorname</h1>
<div class="input_container">
<input v-model="student.firstname" type="text" class="form-control inputField" placeholder="Vorname" aria-label="firstname" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle">Nachname</h1>
<div class="input_container">
<input v-model="student.lastname" type="text" class="form-control inputField" placeholder="Nachname" aria-label="lastname" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 10px">Straße</h1>
<div class="input_container">
<input name="street" v-model="student.street" class="form-control inputField" placeholder="Straße" aria-label="street" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 10px">Postleitzahl</h1>
<div class="input_container">
<input name="zip" v-model="student.zip" class="form-control inputField" placeholder="Postleitzahl" aria-label="zip" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 10px">Ort</h1>
<div class="input_container">
<input name="city" v-model="student.city" class="form-control inputField" placeholder="Ort" aria-label="city" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 10px">SommerUni 17</h1>
<div class="input_container">
<input name="sommeruni17" v-model="student.sommeruni17" class="form-control inputField" placeholder="SommerUni 17" aria-label="sommeruni17" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 10px">SommerUni 18</h1>
<div class="input_container">
<input name="sommeruni18" v-model="student.sommeruni18" class="form-control inputField" placeholder="SommerUni 18" aria-label="sommeruni18" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 10px">SommerUni 19</h1>
<div class="input_container">
<input name="sommeruni19" v-model="student.sommeruni19" class="form-control inputField" placeholder="SommerUni 19" aria-label="sommeruni19" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 10px">SommerUni 20</h1>
<div class="input_container">
<input name="sommeruni20" v-model="student.sommeruni20" class="form-control inputField" placeholder="SommerUni 20" aria-label="sommeruni20" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 10px">Natürlich 20</h1>
<div class="input_container">
<input name="natuerlich20" v-model="student.natuerlich20" class="form-control inputField" placeholder="Natürlich 20" aria-label="natuerlich20" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<h1 class="formTitle" style="margin-top: 10px">Aktiv ?</h1>
<div class="input_container">
<input name="status" v-model="student.status" class="form-control inputField" placeholder="Ist der Student aktiv, dann 1, ansonsten 0 eingeben..." aria-label="status" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-11 mb-3">
<button class="btn btn-primary btn-lg btn-block" style="margin-top: 20px; border-radius: 10px" type="button" @click="validateBeforeSubmit">Eintrag hinzufügen</button>
</div>
</div>
<div class="row">
<div class="col-md-12 mb-3">
</div>
</div>
</form>
</div>
</div>
</div>
</template>
<script>
import Student from "@/models/student";
export default {
name: "EditStudent.vue",
data(){
return {
id: JSON.parse(localStorage.getItem('checkedBoxID')),
message: "",
student: new Student('','', '', '', '', '', '', '', '', '', '', '', '', ''),
}
},
created() {
//this.loadData();
this.getData();
},
methods: {
getData(){
this.$store.dispatch('student/getByID', this.id).then(
(data) => {
console.log(data);
//front = db
this.student.id = this.id;
this.student.anrede = data.anrede;
this.student.firstname = data.firstName;
this.student.lastname = data.lastname;
this.student.street = data.street;
this.student.zip = data.postcode;
this.student.city = data.ort;
this.student.sommeruni17 = data.summerUni_17;
this.student.sommeruni18 = data.summerUni_18;
this.student.sommeruni19 = data.summerUni_19;
this.student.sommeruni20 = data.summerUni_20;
this.student.natuerlich20 = data.natuerlich;
this.student.status = data.status;
},
error => {
this.message = (error.response && error.response.data) || error.message || error.toString();
this.successful = false;
}
);
},
validateBeforeSubmit() {
this.$validator.validate().then(isValid => {
if (isValid) {
this.student.id = this.id;
this.$store.dispatch('student/update', this.student).then(
data => {
this.$router.push('/students');
this.message = data.message;
this.successful = true;
},
error => {
this.message = (error.response && error.response.data) || error.message || error.toString();
this.successful = false;
}
);
} else {
console.log("not isvalid")
}
});
},
loadData(){
}
}
}
</script>
<style scoped>
div.content {
background-color: whitesmoke;
position: fixed;
padding: 1px 16px;
height: 1000px;
overflow-y: auto;
}
.formTitle {
font-size: 14px;
font-weight: 500;
color: #6B6C6F;
}
.inputField {
height: 44px;
margin-top: 10px;
padding-left: 70px;
padding-right: 70px;
border-color: #DFE2E6;
border-width: 2px;
border-radius: 10px;
}
.input_container {
position:relative;
}
.btn {
margin-bottom: 200px;
}
</style>
\ No newline at end of file
......@@ -3,7 +3,6 @@
<div class="content col-md-12">
<div id="search_box" class="search_box col-md-4">
<div class="entry_box-inner">
{{checkedBoxes}}
<a id="editbutton" class="button" href="./editstudent" style="visibility: hidden">Eintrag bearbeiten</a>
<a id="addbutton" class="button" href="./createstudent">neuen Eintrag hinzufügen</a>
<a id="deletebutton" class="button" @click="deleterows">ausgewählte Einträge löschen</a>
......
......@@ -18,6 +18,7 @@ import CreateCertification from "@/components/CreateEditComponents/CreateCertifi
import EditCertificate from "@/components/CreateEditComponents/EditCertificate";
import Student from "@/components/Student";
import CreateStudent from "@/components/CreateEditComponents/CreateStudent";
import EditStudent from "@/components/CreateEditComponents/EditStudent";
Vue.use(Router)
......@@ -46,7 +47,7 @@ const router = new Router({
{
path: '/editstudent',
name: 'Eintrag bearbeiten',
//component: EditStudent
component: EditStudent
},
// Button from Teachers
......
......@@ -32,6 +32,7 @@ class StudentService {
update(student) {
return axios
.post(API_URL + 'updateStudent', {
//backend (request) = front
id: student.id,
anrede: student.anrede,
firstname: student.firstname,
......@@ -44,6 +45,7 @@ class StudentService {
sommeruni_19: student.sommeruni19,
sommeruni_20: student.sommeruni20,
natuerlich_2020: student.natuerlich20,
status: student.status
}
,{headers: authHeader() })
.then(response => {
......@@ -74,7 +76,7 @@ class StudentService {
getByID(idValue) {
return axios
.get(API_URL + 'getStudentsByID/'+idValue, {
.get(API_URL + 'getStudentByID/'+idValue, {
headers: authHeader()
})
.then(response => {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment