Store edited page in DB

This commit is contained in:
Torsten 2020-01-30 11:51:41 +01:00
parent fb0f00c184
commit 5b06cba327
4 changed files with 235 additions and 234 deletions

View file

@ -4,10 +4,8 @@
<list default="true" id="eed7de89-f054-487c-bf59-36356758942b" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/public/js/app.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/js/app.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/store.js" beforeDir="false" afterPath="$PROJECT_DIR$/resources/js/store.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/views/EditPage.vue" beforeDir="false" afterPath="$PROJECT_DIR$/resources/js/views/EditPage.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/views/Main.vue" beforeDir="false" afterPath="$PROJECT_DIR$/resources/js/views/Main.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/routes/api.php" beforeDir="false" afterPath="$PROJECT_DIR$/routes/api.php" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -224,7 +222,8 @@
<workItem from="1579075615585" duration="8354000" />
<workItem from="1579595422946" duration="16270000" />
<workItem from="1579800919877" duration="5421000" />
<workItem from="1580281771610" duration="2954000" />
<workItem from="1580281771610" duration="2990000" />
<workItem from="1580370378793" duration="3758000" />
</task>
<servers />
</component>

View file

@ -1894,7 +1894,6 @@ __webpack_require__.r(__webpack_exports__);
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
@ -1921,6 +1920,23 @@ __webpack_require__.r(__webpack_exports__);
//console.log(this.editor.docView.dom.innerHTML);
console.log(this.editor.view.docView.dom.innerHTML);
},
savePage: function savePage() {
var _this = this;
axios.post('http://localhost:8000/api/v1/auth/save_page', {
page: 'testpage',
body: this.editor.view.docView.dom.innerHTML
}, {
headers: {
'Authorization': 'Bearer ' + this.$store.state.user_token
}
}).then(function (res) {
console.log("savePage: Wrote Testpage");
console.log("Going back to main view");
_this.$router.push("/");
});
}
}
});
@ -1983,14 +1999,6 @@ __webpack_require__.r(__webpack_exports__);
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data: function data() {
return {
@ -2053,15 +2061,15 @@ __webpack_require__.r(__webpack_exports__);
},
created: function created() {
console.log("Main component created");
/*
if (!this.$store.state.user.token) {
console.log("No token on user detected. Waiting for user login.");
console.log("store.state.user:");
console.log(this.$store.state.user);
if (!this.$store.state.user_token) {
console.log("No token on user detected. Waiting for user login.");
console.log("store.state.user:");
console.log(this.$store.state.user);
} else {
this.$router.push("/main");
//this.$router.push("/main");
this.loadPage();
}
*/
}
});
@ -31065,7 +31073,22 @@ var render = function() {
])
}),
_vm._v(" "),
_c("editor-content", { attrs: { editor: _vm.editor } })
_c("editor-content", { attrs: { editor: _vm.editor } }),
_vm._v(" "),
_c("p", [
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.savePage()
}
}
},
[_vm._v("Speichern")]
)
])
],
1
)
@ -31098,197 +31121,160 @@ var render = function() {
_vm._v("Motorrad IG\n ")
]),
_vm._v(" "),
_c(
"div",
{ staticClass: "has-text-centered" },
[
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Über uns")
}
_c("div", { staticClass: "has-text-centered" }, [
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Über uns")
}
},
[_vm._v("Über uns")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Aktuelles")
}
}
},
[_vm._v("Über uns")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Aktuelles")
}
},
[_vm._v("Aktuelles")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Mitgliedsantrag")
}
}
},
[_vm._v("Aktuelles")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Mitgliedsantrag")
}
},
[_vm._v("Mitgliedsantrag")]
),
_vm._v(" "),
!this.$store.state.user.hasOwnProperty("role")
? _c("span", [
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Tourplan")
}
}
},
[_vm._v("Mitgliedsantrag")]
),
_vm._v(" "),
!this.$store.state.user.hasOwnProperty("role")
? _c("span", [
_c(
"button",
{ staticClass: "button", on: { click: function($event) {} } },
[_vm._v("Tourplan (Beispiel)")]
)
])
: this.$store.state.user.role === "GUEST"
? _c("span", [
_c(
"button",
{ staticClass: "button", on: { click: function($event) {} } },
[_vm._v("Tourplan (Gast)")]
)
])
: this.$store.state.user.role === "MEMBER"
? _c("span", [
_c(
"button",
{ staticClass: "button", on: { click: function($event) {} } },
[_vm._v("Tourplan (komplett)")]
)
])
: this.$store.state.user.role === "ADMIN"
? _c("span", [
_c(
"button",
{ staticClass: "button", on: { click: function($event) {} } },
[_vm._v("Tourplan (komplett)")]
)
])
: _vm._e(),
_vm._v(" "),
this.$store.state.user.role === "ADMIN"
? _c("span", [
_c(
"button",
{ staticClass: "button", on: { click: function($event) {} } },
[_vm._v("Userverwaltung")]
)
])
: _vm._e(),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Wetter")
}
}
},
[_vm._v("Wetter")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Links")
}
}
},
[_vm._v("Links")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Impressum")
}
}
},
[_vm._v("Impressum")]
),
_vm._v(" "),
this.$store.state.user.hasOwnProperty("role")
? _c("span", [
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.logout()
}
},
[_vm._v("Tourplan (Beispiel)")]
)
])
: this.$store.state.user.role === "GUEST"
? _c("span", [
}
},
[_vm._v("Logout")]
)
])
: _vm._e(),
_vm._v(" "),
!this.$store.state.user.hasOwnProperty("role")
? _c(
"span",
[
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Tourplan")
}
}
},
[_vm._v("Tourplan (Gast)")]
"router-link",
{ staticClass: "button", attrs: { to: { name: "Login" } } },
[_vm._v("Log-In")]
)
])
: this.$store.state.user.role === "MEMBER"
? _c("span", [
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Tourplan")
}
}
},
[_vm._v("Tourplan (komplett)")]
)
])
: this.$store.state.user.role === "ADMIN"
? _c("span", [
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Tourplan")
}
}
},
[_vm._v("Tourplan (komplett)")]
)
])
: _vm._e(),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Wetter")
}
}
},
[_vm._v("Wetter")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Links")
}
}
},
[_vm._v("Links")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Impressum")
}
}
},
[_vm._v("Impressum")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.savePage()
}
}
},
[_vm._v("Save Page")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.loadPage()
}
}
},
[_vm._v("Load Page")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.logout()
}
}
},
[_vm._v("Logout")]
),
_vm._v(" "),
_c(
"router-link",
{ staticClass: "button", attrs: { to: { name: "Login" } } },
[_vm._v("Log-In")]
)
],
1
),
],
1
)
: _vm._e()
]),
_vm._v(" "),
_c("p", [_vm._v(" ")]),
_vm._v(" "),
@ -31302,20 +31288,27 @@ var render = function() {
"p",
{ staticStyle: { "text-align": "center" }, attrs: { visible: "true" } },
[
_c("span", {
domProps: { innerHTML: _vm._s(this.$store.state.page_content) }
}),
_vm._v(" "),
this.$store.state.user.role === "ADMIN"
? _c("span", [
_c("br"),
_c(
"button",
{ staticClass: "button", on: { click: _vm.editPage } },
{
staticClass: "button",
on: {
click: function($event) {
return _vm.editPage()
}
}
},
[_vm._v("Text bearbeiten")]
)
])
: _vm._e(),
_vm._v(" "),
_c("span", {
domProps: { innerHTML: _vm._s(this.$store.state.page_content) }
})
: _vm._e()
]
)
])

View file

@ -10,7 +10,6 @@
<button class="button" @click="changeMainText('Aktuelles')" >Aktuelles</button>
<button class="button" @click="changeMainText('Mitgliedsantrag')">Mitgliedsantrag</button>
<span v-if="!this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Beispiel)</button></span>
<span v-else-if="this.$store.state.user.role==='GUEST'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Gast)</button></span>
<span v-else-if="this.$store.state.user.role==='MEMBER'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (komplett)</button></span>
@ -21,7 +20,6 @@
<button class="button" @click="changeMainText('Links')" >Links</button>
<button class="button" @click="changeMainText('Impressum')" >Impressum</button>
<button class="button" @click="showContent()" >Show content</button>
@ -43,10 +41,11 @@
</div>
</editor-menu-bar>
<editor-content :editor="editor" />
<p><button class="button" @click="savePage()" >Speichern</button></p>
</div>
@ -115,6 +114,23 @@
//console.log(this.editor.view.dom.innerText);
//console.log(this.editor.docView.dom.innerHTML);
console.log(this.editor.view.docView.dom.innerHTML);
},
savePage() {
axios.post('http://localhost:8000/api/v1/auth/save_page',{
page: 'testpage',
body: this.editor.view.docView.dom.innerHTML
}, {
headers: {
'Authorization': 'Bearer ' + this.$store.state.user_token
}
})
.then(res => {
console.log("savePage: Wrote Testpage");
console.log("Going back to main view");
this.$router.push("/");
}
)
}
}
}

View file

@ -9,24 +9,20 @@
<button class="button" @click="changeMainText('Aktuelles')" >Aktuelles</button>
<button class="button" @click="changeMainText('Mitgliedsantrag')">Mitgliedsantrag</button>
<span v-if="!this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="" >Tourplan (Beispiel)</button></span>
<span v-else-if="this.$store.state.user.role==='GUEST'"><button class="button" @click="" >Tourplan (Gast)</button></span>
<span v-else-if="this.$store.state.user.role==='MEMBER'"><button class="button" @click="" >Tourplan (komplett)</button></span>
<span v-else-if="this.$store.state.user.role==='ADMIN'"><button class="button" @click="" >Tourplan (komplett)</button></span>
<span v-if="!this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Beispiel)</button></span>
<span v-else-if="this.$store.state.user.role==='GUEST'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Gast)</button></span>
<span v-else-if="this.$store.state.user.role==='MEMBER'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (komplett)</button></span>
<span v-else-if="this.$store.state.user.role==='ADMIN'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (komplett)</button></span>
<span v-if="this.$store.state.user.role==='ADMIN'"><button class="button" @click="" >Userverwaltung</button></span>
<button class="button" @click="changeMainText('Wetter')" >Wetter</button>
<button class="button" @click="changeMainText('Links')" >Links</button>
<button class="button" @click="changeMainText('Impressum')" >Impressum</button>
<button class="button" @click="savePage()" >Save Page</button>
<button class="button" @click="loadPage()" >Load Page</button>
<button class="button" @click="logout()" >Logout</button>
<router-link class="button" :to="{ name: 'Login' }">Log-In</router-link>
<span v-if="this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="logout()" >Logout</button></span>
<span v-if="!this.$store.state.user.hasOwnProperty('role')"> <router-link class="button" :to="{ name: 'Login' }">Log-In</router-link></span>
</div>
@ -36,17 +32,13 @@
</p>
<p visible="true" style="text-align:center;">
<span v-if="this.$store.state.user.role==='ADMIN'"><br/><button class="button" @click="editPage">Text bearbeiten</button></span>
<span v-html="this.$store.state.page_content"></span>
<span v-if="this.$store.state.user.role==='ADMIN'"><br/><button class="button" @click="editPage()">Text bearbeiten</button></span>
</p>
</div>
</div>
</template>
@ -125,15 +117,16 @@
created() {
console.log("Main component created");
/*
if (!this.$store.state.user.token) {
if (!this.$store.state.user_token) {
console.log("No token on user detected. Waiting for user login.");
console.log("store.state.user:");
console.log(this.$store.state.user);
} else {
this.$router.push("/main");
//this.$router.push("/main");
this.loadPage();
}
*/
}
}
</script>