settings for user
- enable federation for users
This commit is contained in:
@@ -5,23 +5,27 @@
|
||||
h5 {{$t('common.settings')}}
|
||||
hr
|
||||
|
||||
el-form(action='/api/user' method='PUT' @submit.native.prevent='change_password' inline label-width='200px')
|
||||
el-form(action='/api/user' method='PUT' @submit.native.prevent='update_settings' inline label-width='200px')
|
||||
|
||||
el-form-item(:label="$t('settings.change_password')")
|
||||
el-input(v-model='password' type='password')
|
||||
el-button(slot='append' type='success' native-type='submit') {{$t('common.send')}}
|
||||
|
||||
//- allow federation
|
||||
div(v-if='settings.enable_federation')
|
||||
el-form-item(:label="$t('admin.enable_federation')")
|
||||
el-switch(name='reg' v-model='enable_federation')
|
||||
el-switch(v-model='user.settings.enable_federation')
|
||||
|
||||
el-form-item(v-if='enable_federation' :label="$t('common.username')")
|
||||
el-input(type='text' name='username' v-model='user.username' :suffix='"antani"' :readonly='user.username.length>0')
|
||||
template(slot='suffix') @{{baseurl}}
|
||||
//- el-button(slot='append') {{$t('common.save')}}
|
||||
|
||||
div(v-if='user.settings.enable_federation')
|
||||
el-form-item(:label="$t('common.username')")
|
||||
el-input(v-if='user.username.length==0' type='text' name='username' v-model='user.username')
|
||||
template(slot='suffix') @{{baseurl}}
|
||||
span(v-else) {{user.username}}@{{baseurl}}
|
||||
//- el-button(slot='append') {{$t('common.save')}}
|
||||
|
||||
el-form-item(:label="$t('common.displayname')")
|
||||
el-input(type='text' v-model='user.display_name')
|
||||
|
||||
el-button(type='success' native-type='submit') {{$t('common.save')}}
|
||||
|
||||
el-divider {{$t('settings.danger_section')}}
|
||||
p {{$t('settings.remove_account')}}
|
||||
@@ -30,12 +34,13 @@
|
||||
<script>
|
||||
import { mapState, mapActions } from 'vuex'
|
||||
import { Message, MessageBox } from 'element-ui'
|
||||
import url from'url'
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
enable_federation: false,
|
||||
password: '',
|
||||
user: { }
|
||||
}
|
||||
},
|
||||
name: 'Settings',
|
||||
@@ -46,13 +51,12 @@ export default {
|
||||
},
|
||||
async asyncData ({ $axios, params }) {
|
||||
const user = await $axios.$get('/auth/user')
|
||||
user.mastodon_auth = ''
|
||||
return { user }
|
||||
},
|
||||
computed: {
|
||||
...mapState(['settings']),
|
||||
baseurl () {
|
||||
return new URL(this.settings.baseurl).host
|
||||
return url.parse(this.settings.baseurl).host
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -67,6 +71,14 @@ export default {
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
async update_settings () {
|
||||
try {
|
||||
const user = await this.$axios.$put('/user', { ...this.user, password: this.password } )
|
||||
this.user = user
|
||||
} catch(e) {
|
||||
Message({ message: e, showClose: true, type: 'warning' })
|
||||
}
|
||||
},
|
||||
async remove_account () {
|
||||
MessageBox.confirm(this.$t('settings.remove_account_confirm'), this.$t('common.confirm'), {
|
||||
confirmButtonText: this.$t('common.ok'),
|
||||
|
||||
Reference in New Issue
Block a user