init
This commit is contained in:
parent
4c1a94159a
commit
6ddcdef8a3
6 changed files with 132 additions and 8 deletions
3
package-lock.json
generated
3
package-lock.json
generated
|
@ -10086,8 +10086,7 @@
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
|
||||||
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
|
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"optional": true
|
|
||||||
},
|
},
|
||||||
"rx-lite-aggregates": {
|
"rx-lite-aggregates": {
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
|
|
|
@ -57,6 +57,9 @@
|
||||||
<v-list-tile @click="$router.push({'name': 'userMails'})">
|
<v-list-tile @click="$router.push({'name': 'userMails'})">
|
||||||
<v-list-tile-title >Contact Information</v-list-tile-title>
|
<v-list-tile-title >Contact Information</v-list-tile-title>
|
||||||
</v-list-tile>
|
</v-list-tile>
|
||||||
|
<v-list-tile @click="$router.push({'name': 'userMails'})">
|
||||||
|
<v-list-tile-title >Profil</v-list-tile-title>
|
||||||
|
</v-list-tile>
|
||||||
<v-list-tile @click="clickLoogut()">
|
<v-list-tile @click="clickLoogut()">
|
||||||
<v-list-tile-title >Logout</v-list-tile-title>
|
<v-list-tile-title >Logout</v-list-tile-title>
|
||||||
</v-list-tile>
|
</v-list-tile>
|
||||||
|
|
|
@ -65,7 +65,18 @@
|
||||||
|
|
||||||
<v-list>
|
<v-list>
|
||||||
<v-list-item>
|
<v-list-item>
|
||||||
<v-list-item-title @click="clickLoogut()">Logout</v-list-item-title>
|
<router-link to="/user/profile">
|
||||||
|
<v-list-item-title>
|
||||||
|
<v-icon>person</v-icon> Profil
|
||||||
|
</v-list-item-title>
|
||||||
|
</router-link>
|
||||||
|
</v-list-item>
|
||||||
|
<v-list-item>
|
||||||
|
<a href="#">
|
||||||
|
<v-list-item-title @click="clickLoogut()">
|
||||||
|
<v-icon>exit_to_app</v-icon> Logout
|
||||||
|
</v-list-item-title>
|
||||||
|
</a>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
|
|
||||||
</v-list>
|
</v-list>
|
||||||
|
@ -145,5 +156,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
a{
|
||||||
|
text-decoration: none;
|
||||||
|
color: rgba(0, 0, 0, 0.87) !important
|
||||||
|
}
|
||||||
|
v-list-item-title{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -9,6 +9,7 @@ import ListApps from '../views/ListApps'
|
||||||
import AppDetails from '../views/AppDetails'
|
import AppDetails from '../views/AppDetails'
|
||||||
import NewApp from '../views/NewApp'
|
import NewApp from '../views/NewApp'
|
||||||
import Mail from '../views/Mail'
|
import Mail from '../views/Mail'
|
||||||
|
import UserProfile from '../views/UserProfile'
|
||||||
|
|
||||||
Vue.use(Router)
|
Vue.use(Router)
|
||||||
|
|
||||||
|
@ -67,6 +68,12 @@ export default new Router({
|
||||||
path: '/user/mails',
|
path: '/user/mails',
|
||||||
name: 'userMails',
|
name: 'userMails',
|
||||||
component: Mail
|
component: Mail
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeEnter: guard,
|
||||||
|
path: '/user/profile',
|
||||||
|
name: 'userProfile',
|
||||||
|
component: UserProfile
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
|
@ -69,15 +69,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted: function() {
|
mounted: function() {
|
||||||
console.log("REDIRECT: "+this.$store.state.redirectIfLoggedIn)
|
|
||||||
if(this.$store.state.loggedIn == true) {
|
if(this.$store.state.loggedIn == true) {
|
||||||
if(this.$store.state.redirectIfLoggedIn != null) {
|
if(this.$store.state.redirectIfLoggedIn != null) {
|
||||||
this.$router.push(this.$store.state.redirectIfLoggedIn);
|
this.$router.push(this.$store.state.redirectIfLoggedIn);
|
||||||
} else {
|
} else {
|
||||||
this.$router.push({name: 'Dashboard'});
|
this.$router.push({name: 'Dashboard'});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
this.nameBig = this.$store.getters.getSettingValue("name_big");
|
this.nameBig = this.$store.getters.getSettingValue("name_big");
|
||||||
this.nameSmall = this.$store.getters.getSettingValue("name_small");
|
this.nameSmall = this.$store.getters.getSettingValue("name_small");
|
||||||
|
|
100
src/views/UserProfile.vue
Normal file
100
src/views/UserProfile.vue
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
<template>
|
||||||
|
<div style="margin-top:50px;">
|
||||||
|
<v-container grid-list-md pa-10 >
|
||||||
|
<v-layout row wrap>
|
||||||
|
<v-flex md12>
|
||||||
|
<h1>Profil von: {{$store.getters.getMe["username"]}}</h1>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<h4>
|
||||||
|
Benutzername
|
||||||
|
<v-tooltip top>
|
||||||
|
<template v-slot:activator="{ on }">
|
||||||
|
<span v-on="on">
|
||||||
|
<v-icon>info</v-icon>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
<span>
|
||||||
|
Den Benutzernamen kannst du nachträglich nicht verändern.
|
||||||
|
</span>
|
||||||
|
</v-tooltip>
|
||||||
|
</h4>
|
||||||
|
|
||||||
|
<span>{{user.username}}</span>
|
||||||
|
<v-form
|
||||||
|
ref="form"
|
||||||
|
v-model="valid"
|
||||||
|
:lazy-validation="lazy"
|
||||||
|
>
|
||||||
|
<v-row>
|
||||||
|
<v-col
|
||||||
|
cols="12"
|
||||||
|
md="4"
|
||||||
|
>
|
||||||
|
<v-text-field
|
||||||
|
v-model="user.primaryMail"
|
||||||
|
:rules="emailRules"
|
||||||
|
label="Primäre E-Mail Adresse"
|
||||||
|
required
|
||||||
|
></v-text-field>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
</v-form>
|
||||||
|
|
||||||
|
|
||||||
|
<v-btn
|
||||||
|
:disabled="!valid"
|
||||||
|
color="success"
|
||||||
|
class="mr-4"
|
||||||
|
@click="validate()"
|
||||||
|
>
|
||||||
|
Speichern
|
||||||
|
</v-btn>
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
{{user}}
|
||||||
|
</pre>
|
||||||
|
</v-flex>
|
||||||
|
</v-layout>
|
||||||
|
</v-container>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ServerService from '../services/Server'
|
||||||
|
import UserService from '../services/User'
|
||||||
|
import AppService from '../services/Apps'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
nameBig: '',
|
||||||
|
nameSmall: '',
|
||||||
|
user: this.$store.getters.getMe,
|
||||||
|
emailRules: [
|
||||||
|
v => !!v || 'Primäre E-Mail muss Angegeben werden',
|
||||||
|
v => /.+@.+/.test(v) || 'E-Mail ist ungültig',
|
||||||
|
],
|
||||||
|
valid: true,
|
||||||
|
lazy: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
validate () {
|
||||||
|
if (this.$refs.form.validate()) {
|
||||||
|
console.log('lets go and save this information')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted: function() {
|
||||||
|
this.nameBig = this.$store.getters.getSettingValue("name_big");
|
||||||
|
this.nameSmall = this.$store.getters.getSettingValue("name_small");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
Reference in a new issue