From 7ba86aeb54d03d95180127aaae30aa3583293998 Mon Sep 17 00:00:00 2001
From: oetrb <oetrb@github.com>
Date: Thu, 8 Oct 2020 02:06:36 +0200
Subject: [PATCH] modified teacher, ready for backend

---
 src/components/Courses.vue                    |  20 +-
 .../CreateEditComponents/CreateCourse.vue     |   3 +-
 .../CreateEditComponents/CreateTeacher.vue    | 197 +++++++++++++++-
 .../CreateEditComponents/DeleteCourse.vue     |  13 --
 .../CreateEditComponents/DeleteTeacher.vue    |  13 --
 .../CreateEditComponents/EditCourse.vue       |   3 +-
 .../CreateEditComponents/EditTeacher.vue      | 219 +++++++++++++++++-
 src/router.js                                 |   8 +-
 src/services/course.service.js                |   4 +-
 src/services/teacher.service.js               |  50 +++-
 src/store/course.module.js                    |   4 +-
 11 files changed, 488 insertions(+), 46 deletions(-)
 delete mode 100644 src/components/CreateEditComponents/DeleteCourse.vue
 delete mode 100644 src/components/CreateEditComponents/DeleteTeacher.vue

diff --git a/src/components/Courses.vue b/src/components/Courses.vue
index 2b756c3..d960802 100644
--- a/src/components/Courses.vue
+++ b/src/components/Courses.vue
@@ -4,7 +4,7 @@
       <div class="entry_box-inner">
         <a id="editbutton" class="button" href="./editcourse" style="visibility: hidden">Eintrag bearbeiten</a>
         <a id="addbutton" class="button" href="./createcourse">neuen Eintrag hinzufügen</a>
-        <a id="deletebutton" class="button" href="./deletecourse">ausgewählte Einträge löschen</a>
+        <a id="deletebutton" class="button" @click="deleterows">ausgewählte Einträge löschen</a>
         <a id="exportbutton" class="button" href="./exporttablecourse">Tabelle exportieren</a>
       </div>
       <div class="search_box-inner">
@@ -80,6 +80,22 @@ export default {
 
   methods: {
 
+    deleterows(){
+      let x = 0;
+      for (x; x < this.checkedBoxes.length; x++){
+        this.$store.dispatch('course/delete', this.checkedBoxes[x]).then(
+            data => {
+              this.message = data.message;
+              this.successful = true;
+            },
+            error => {
+              this.message = (error.response && error.response.data) || error.message || error.toString();
+              this.successful = false;
+            }
+        );
+      }
+    },
+
     checkAllBoxes(){
       var headercheckbox = document.getElementById('checkbox_headerline');
       var headercheckboxvalue = headercheckbox.checked;
@@ -584,7 +600,7 @@ export default {
 
         return angebotsnummer.includes(searchTerm) || angebot.includes(searchTerm) || kursname.includes(searchTerm) || veranstaltungsart.includes(searchTerm) || kursdatum.includes(searchTerm) || thema.includes(searchTerm) || kursort.includes(searchTerm) || begleitendeLehrkraft.includes(searchTerm) || betreuendeStudenten.includes(searchTerm) || betreuendeStudenten.includes(searchTerm) || anzahlderAnwesenden.includes(searchTerm) || anzahlderAngemeldeten.includes(searchTerm) || kursleiter.includes(searchTerm) || notiz.includes(searchTerm);
       });
-    }
+    },
   }
 }
 </script>
diff --git a/src/components/CreateEditComponents/CreateCourse.vue b/src/components/CreateEditComponents/CreateCourse.vue
index d65d13e..2d05987 100644
--- a/src/components/CreateEditComponents/CreateCourse.vue
+++ b/src/components/CreateEditComponents/CreateCourse.vue
@@ -37,7 +37,7 @@
           </div>
           <div class="form-row">
             <div class="col-md-11 mb-3">
-              <h1  class="formTitle" style="margin-top: 10px">Kursdatum (yyyy-mm-dd)</h1>
+              <h1  class="formTitle" style="margin-top: 10px">Kursdatum (dd.mm.yyyy)</h1>
               <div class="input_container">
                 <input name="coursedate" v-model="course.coursedate" class="form-control inputField" placeholder="Kursdatum" aria-label="coursedate" required>
               </div>
@@ -142,6 +142,7 @@
               console.log("isvalid")
               this.$store.dispatch('course/insert', this.course).then(
                   data => {
+                    this.$router.push('/courses');
                     this.message = data.message;
                     this.successful = true;
                   },
diff --git a/src/components/CreateEditComponents/CreateTeacher.vue b/src/components/CreateEditComponents/CreateTeacher.vue
index 59d9f4a..1f5ff6b 100644
--- a/src/components/CreateEditComponents/CreateTeacher.vue
+++ b/src/components/CreateEditComponents/CreateTeacher.vue
@@ -1,13 +1,204 @@
 <template>
-<div></div>
+<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="teacher.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">Grad</h1>
+            <div class="input_container">
+              <input v-model="teacher.grad" type="text" class="form-control inputField" placeholder="Grad" aria-label="grad" required>
+            </div>
+          </div>
+        </div>
+        <div class="form-row">
+          <div class="col-md-11 mb-3">
+            <h1 class="formTitle" style="margin-top: 10px">Vorname</h1>
+            <div class="input_container">
+              <input v-model="teacher.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" style="margin-top: 30px">Nachname</h1>
+            <div class="input_container">
+              <input v-model="teacher.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="teacher.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="teacher.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="teacher.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">zusätzliche Adresse</h1>
+            <div class="input_container">
+              <input name="addaddress" v-model="teacher.addaddress" class="form-control inputField" placeholder="zusätzliche Adresse" aria-label="addaddress" required>
+            </div>
+          </div>
+        </div>
+        <div class="form-row">
+          <div class="col-md-11 mb-3">
+            <h1  class="formTitle" style="margin-top: 10px">persönlicher Fragebogen</h1>
+            <div class="input_container">
+              <input name="personal_questionnaire" v-model="teacher.personal_questionnaire" class="form-control inputField" placeholder="persönlicher Fragebogen" aria-label="personal_questionnaire" 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="sommeruni_17" v-model="teacher.summeruni_17" class="form-control inputField" placeholder="SommerUni 17" aria-label="summeruni_17" 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="sommeruni_18" v-model="teacher.summeruni_18" class="form-control inputField" placeholder="SommerUni 18" aria-label="summeruni_18" 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="sommeruni_19" v-model="teacher.summeruni_19" class="form-control inputField" placeholder="SommerUni 19" aria-label="summeruni_19" 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="sommeruni_20" v-model="teacher.summeruni_20" class="form-control inputField" placeholder="SommerUni 20" aria-label="summeruni_20" required>
+            </div>
+          </div>
+        </div>
+        <div class="form-row">
+          <div class="col-md-11 mb-3">
+            <h1  class="formTitle" style="margin-top: 10px">NatLab 20</h1>
+            <div class="input_container">
+              <input name="natlab_20" v-model="teacher.natlab_20" class="form-control inputField" placeholder="NatLab 20" aria-label="natlab_20" 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 Teacher from "@/models/teacher";
+
 export default {
-  name: "CreateTeacher"
+  name: "CreateTeacher.vue",
+
+  data(){
+    return {
+      message: "",
+      teacher: new Teacher('', '', '', '', '', '', '', '', '', '', '', '', '', ''),
+    }
+  },
+
+  methods: {
+    validateBeforeSubmit() {
+      this.$validator.validate().then(isValid => {
+        if (isValid) {
+          console.log("isvalid")
+          this.$store.dispatch('teacher/insert', this.teacher).then(
+              data => {
+                this.$router.push('/teachers');
+                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")
+        }
+      });
+    }
+  }
 }
 </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;
+}
 
-</style>
\ No newline at end of file
+.input_container {
+  position:relative;
+}
+
+.btn {
+  margin-bottom: 200px;
+}
+</style>
diff --git a/src/components/CreateEditComponents/DeleteCourse.vue b/src/components/CreateEditComponents/DeleteCourse.vue
deleted file mode 100644
index 81789f4..0000000
--- a/src/components/CreateEditComponents/DeleteCourse.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-<template>
-<div></div>
-</template>
-
-<script>
-export default {
-  name: "DeleteCourse"
-}
-</script>
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/src/components/CreateEditComponents/DeleteTeacher.vue b/src/components/CreateEditComponents/DeleteTeacher.vue
deleted file mode 100644
index d5e1e81..0000000
--- a/src/components/CreateEditComponents/DeleteTeacher.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-<template>
-  <div></div>
-</template>
-
-<script>
-export default {
-  name: "DeleteTeacher"
-}
-</script>
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/src/components/CreateEditComponents/EditCourse.vue b/src/components/CreateEditComponents/EditCourse.vue
index 4e1de2b..a92b96c 100644
--- a/src/components/CreateEditComponents/EditCourse.vue
+++ b/src/components/CreateEditComponents/EditCourse.vue
@@ -37,7 +37,7 @@
           </div>
           <div class="form-row">
             <div class="col-md-11 mb-3">
-              <h1  class="formTitle" style="margin-top: 10px">Kursdatum (yyyy-mm-dd)</h1>
+              <h1  class="formTitle" style="margin-top: 10px">Kursdatum (dd.mm.yyyy)</h1>
               <div class="input_container">
                 <input name="coursedate" v-model="course.coursedate" class="form-control inputField" placeholder="Kursdatum" aria-label="coursedate" required>
               </div>
@@ -174,6 +174,7 @@ export default {
           this.course.id = this.id;
           this.$store.dispatch('course/update', this.course).then(
               data => {
+                this.$router.push('/courses');
                 this.message = data.message;
                 this.successful = true;
               },
diff --git a/src/components/CreateEditComponents/EditTeacher.vue b/src/components/CreateEditComponents/EditTeacher.vue
index bd66b23..00b6f6c 100644
--- a/src/components/CreateEditComponents/EditTeacher.vue
+++ b/src/components/CreateEditComponents/EditTeacher.vue
@@ -1,13 +1,228 @@
 <template>
-  <div></div>
+  <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="teacher.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">Grad</h1>
+              <div class="input_container">
+                <input v-model="teacher.grad" type="text" class="form-control inputField" placeholder="Grad" aria-label="grad" required>
+              </div>
+            </div>
+          </div>
+          <div class="form-row">
+            <div class="col-md-11 mb-3">
+              <h1 class="formTitle" style="margin-top: 10px">Vorname</h1>
+              <div class="input_container">
+                <input v-model="teacher.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" style="margin-top: 30px">Nachname</h1>
+              <div class="input_container">
+                <input v-model="teacher.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="teacher.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="teacher.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="teacher.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">zusätzliche Adresse</h1>
+              <div class="input_container">
+                <input name="addaddress" v-model="teacher.addaddress" class="form-control inputField" placeholder="zusätzliche Adresse" aria-label="addaddress" required>
+              </div>
+            </div>
+          </div>
+          <div class="form-row">
+            <div class="col-md-11 mb-3">
+              <h1  class="formTitle" style="margin-top: 10px">persönlicher Fragebogen</h1>
+              <div class="input_container">
+                <input name="personal_questionnaire" v-model="teacher.personal_questionnaire" class="form-control inputField" placeholder="persönlicher Fragebogen" aria-label="personal_questionnaire" 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="sommeruni_17" v-model="teacher.summeruni_17" class="form-control inputField" placeholder="SommerUni 17" aria-label="summeruni_17" 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="sommeruni_18" v-model="teacher.summeruni_18" class="form-control inputField" placeholder="SommerUni 18" aria-label="summeruni_18" 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="sommeruni_19" v-model="teacher.summeruni_19" class="form-control inputField" placeholder="SommerUni 19" aria-label="summeruni_19" 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="sommeruni_20" v-model="teacher.summeruni_20" class="form-control inputField" placeholder="SommerUni 20" aria-label="summeruni_20" required>
+              </div>
+            </div>
+          </div>
+          <div class="form-row">
+            <div class="col-md-11 mb-3">
+              <h1  class="formTitle" style="margin-top: 10px">NatLab 20</h1>
+              <div class="input_container">
+                <input name="natlab_20" v-model="teacher.natlab_20" class="form-control inputField" placeholder="NatLab 20" aria-label="natlab_20" 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 Teacher from "@/models/teacher";
+
 export default {
-  name: "EditTeacher"
+  name: "EditTeacher.vue",
+
+  data(){
+    return {
+      id: JSON.parse(localStorage.getItem('checkedBoxID')),
+      message: "",
+      teacher: new Teacher('','', '', '', '', '', '', '', '', '', '', '', '', ''),
+    }
+  },
+
+  created() {
+    //this.loadData();
+    this.getData();
+  },
+
+  methods: {
+
+    getData(){
+      this.$store.dispatch('teacher/getByID', this.id).then(
+          (data) => {
+            //this.teacher.anrede = data.courseNumber;
+
+          },
+          error => {
+            this.message = (error.response && error.response.data) || error.message || error.toString();
+            this.successful = false;
+          }
+      );
+    },
+
+    validateBeforeSubmit() {
+      this.$validator.validate().then(isValid => {
+        if (isValid) {
+          this.teacher.id = this.id;
+          this.$store.dispatch('teacher/update', this.teacher).then(
+              data => {
+                this.$router.push('/teachers');
+                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
diff --git a/src/router.js b/src/router.js
index 3e1c359..db389b1 100644
--- a/src/router.js
+++ b/src/router.js
@@ -11,10 +11,8 @@ import Layouts  from "./components/Layouts";
 import Teachers from "./components/Teachers";
 import CreateCourse from "@/components/CreateEditComponents/CreateCourse";
 import EditCourse from "@/components/CreateEditComponents/EditCourse";
-import DeleteCourse from "@/components/CreateEditComponents/DeleteCourse";
 import CreateTeacher from "@/components/CreateEditComponents/CreateTeacher";
 import EditTeacher from "@/components/CreateEditComponents/EditTeacher";
-import DeleteTeacher from "@/components/CreateEditComponents/DeleteTeacher";
 
 Vue.use(Router)
 
@@ -35,8 +33,7 @@ const router = new Router({
         },
         {
             path: '/deletecourse',
-            name: 'Eintrag löschen',
-            component: DeleteCourse
+            name: 'Eintrag löschen'
         },
 
         // Button from Teachers
@@ -52,8 +49,7 @@ const router = new Router({
         },
         {
             path: '/deleteteacher',
-            name: 'Eintrag löschen',
-            component: DeleteTeacher
+            name: 'Eintrag löschen'
         },
 
         // LOGIN / REGISTER
diff --git a/src/services/course.service.js b/src/services/course.service.js
index fe8f030..c137293 100644
--- a/src/services/course.service.js
+++ b/src/services/course.service.js
@@ -53,10 +53,10 @@ class CourseService {
             });
     }
 
-    delete() {
+    delete(id) {
         return axios
             .post(API_URL + 'deleteCourse', {
-                    id:8
+                    id: id
                 }
                 ,{headers: authHeader() })
             .then(response => {
diff --git a/src/services/teacher.service.js b/src/services/teacher.service.js
index 1015cf8..a20b323 100644
--- a/src/services/teacher.service.js
+++ b/src/services/teacher.service.js
@@ -8,7 +8,20 @@ class TeacherService {
     insert(teacher) {
         return axios
             .post(API_URL + 'insertTeacher', {
-                    //angebotsnummer: course.coursenumber,
+                    anrede: teacher.anrede,
+                    grad: teacher.grad,
+                    firstname: teacher.firstname,
+                    lastname: teacher.lastname,
+                    street: teacher.street,
+                    zip: teacher.zip,
+                    city: teacher.city,
+                    addaddress: teacher.addaddress,
+                    personal_questionnaire: teacher.personal_questionnaire,
+                    summeruni_17: teacher.summeruni_17,
+                    summeruni_18: teacher.summeruni_18,
+                    summeruni_19: teacher.summeruni_19,
+                    summeruni_20: teacher.summeruni_20,
+                    natlab_20: teacher.natlab_20,
                 }
 
                 ,{headers: authHeader() })
@@ -17,6 +30,41 @@ class TeacherService {
             });
     }
 
+    update(teacher) {
+        return axios
+            .post(API_URL + 'updateTeacher', {
+                    anrede: teacher.anrede,
+                    grad: teacher.grad,
+                    firstname: teacher.firstname,
+                    lastname: teacher.lastname,
+                    street: teacher.street,
+                    zip: teacher.zip,
+                    city: teacher.city,
+                    addaddress: teacher.addaddress,
+                    personal_questionnaire: teacher.personal_questionnaire,
+                    summeruni_17: teacher.summeruni_17,
+                    summeruni_18: teacher.summeruni_18,
+                    summeruni_19: teacher.summeruni_19,
+                    summeruni_20: teacher.summeruni_20,
+                    natlab_20: teacher.natlab_20,
+                }
+                ,{headers: authHeader() })
+            .then(response => {
+                return response.data;
+            });
+    }
+
+    delete(id) {
+        return axios
+            .post(API_URL + 'deleteTeacher', {
+                    id: id
+                }
+                ,{headers: authHeader() })
+            .then(response => {
+                return response.data;
+            });
+    }
+
     getAll() {
         return axios
             .get(API_URL + 'getTeachers', {
diff --git a/src/store/course.module.js b/src/store/course.module.js
index 13a1f8c..42ab54f 100644
--- a/src/store/course.module.js
+++ b/src/store/course.module.js
@@ -34,8 +34,8 @@ export const course = {
             );
         },
 
-        delete({ commit }) {
-            return CourseService.update().then(
+        delete({ commit }, id) {
+            return CourseService.delete(id).then(
                 response => {
                     commit('insertSuccess', response);
                     return Promise.resolve(response);
-- 
GitLab