Add a config.json option for enabling registration, don't link and redirect away from register page when it's disabled.

This commit is contained in:
Shpuld Shpuldson 2017-06-20 10:37:51 +03:00
parent bfbc94d697
commit 1a5ee95ee4
5 changed files with 12 additions and 4 deletions

View file

@ -4,7 +4,8 @@ const LoginForm = {
authError: false authError: false
}), }),
computed: { computed: {
loggingIn () { return this.$store.state.users.loggingIn } loggingIn () { return this.$store.state.users.loggingIn },
registrationOpen () { return this.$store.state.config.registrationOpen }
}, },
methods: { methods: {
submit () { submit () {

View file

@ -16,7 +16,7 @@
</div> </div>
<div class='form-group'> <div class='form-group'>
<div class='login-bottom'> <div class='login-bottom'>
<div><router-link :to="{name: 'registration'}" class='register'>Register</router-link></div> <div><router-link :to="{name: 'registration'}" v-if='registrationOpen' class='register'>Register</router-link></div>
<button :disabled="loggingIn" type='submit' class='btn btn-default base05 base01-background'>Log in</button> <button :disabled="loggingIn" type='submit' class='btn btn-default base05 base01-background'>Log in</button>
</div> </div>
</div> </div>

View file

@ -4,6 +4,11 @@ const registration = {
error: false, error: false,
registering: false registering: false
}), }),
created () {
if (!this.$store.state.config.registrationOpen || !!this.$store.state.users.currentUser) {
this.$router.push('/main/all')
}
},
computed: { computed: {
termsofservice () { return this.$store.state.config.tos } termsofservice () { return this.$store.state.config.tos }
}, },

View file

@ -86,11 +86,12 @@ new Vue({
window.fetch('/static/config.json') window.fetch('/static/config.json')
.then((res) => res.json()) .then((res) => res.json())
.then(({name, theme, background, logo, tos}) => { .then(({name, theme, background, logo, registrationOpen}) => {
store.dispatch('setOption', { name: 'name', value: name }) store.dispatch('setOption', { name: 'name', value: name })
store.dispatch('setOption', { name: 'theme', value: theme }) store.dispatch('setOption', { name: 'theme', value: theme })
store.dispatch('setOption', { name: 'background', value: background }) store.dispatch('setOption', { name: 'background', value: background })
store.dispatch('setOption', { name: 'logo', value: logo }) store.dispatch('setOption', { name: 'logo', value: logo })
store.dispatch('setOption', { name: 'registrationOpen', value: registrationOpen })
}) })
window.fetch('/static/terms-of-service.html') window.fetch('/static/terms-of-service.html')

View file

@ -2,5 +2,6 @@
"name": "Pleroma FE", "name": "Pleroma FE",
"theme": "base16-pleroma-dark.css", "theme": "base16-pleroma-dark.css",
"background": "/static/bg.jpg", "background": "/static/bg.jpg",
"logo": "/static/logo.png" "logo": "/static/logo.png",
"registrationOpen": false
} }