diff options
| author | Henry Jameson <me@hjkos.com> | 2018-12-17 19:18:35 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2018-12-17 19:18:35 +0300 |
| commit | 292ac59d08fcdde6beb9f2dcfbd636d76c766a54 (patch) | |
| tree | 984620170a4f3afea85e993e0a92d78b09a07e24 /src/components/registration | |
| parent | 23d434c40c9b1ef218be53991f003d8767b50e7a (diff) | |
| parent | b124dbf44e71a74a05b1994cc06480c63db2e290 (diff) | |
Merge remote-tracking branch 'upstream/develop' into user-profile-overhault
* upstream/develop:
Fix style
Add a way to get new captcha on click
Fix style
Separate captcha into the backendInteractor
more visual fixes
changed bottom-shadow hiding method to be more compatible with overflow
small fix for overflowing tab-switcher
Support disabling captcha
Base support for CAPTCHA (kocaptcha)
Diffstat (limited to 'src/components/registration')
| -rw-r--r-- | src/components/registration/registration.js | 12 | ||||
| -rw-r--r-- | src/components/registration/registration.vue | 13 |
2 files changed, 23 insertions, 2 deletions
diff --git a/src/components/registration/registration.js b/src/components/registration/registration.js index e5ead8bc..a6c79e87 100644 --- a/src/components/registration/registration.js +++ b/src/components/registration/registration.js @@ -11,7 +11,8 @@ const registration = { username: '', password: '', confirm: '' - } + }, + captcha: {} }), validations: { user: { @@ -29,6 +30,8 @@ const registration = { if ((!this.registrationOpen && !this.token) || this.signedIn) { this.$router.push('/main/all') } + + this.setCaptcha() }, computed: { token () { return this.$route.params.token }, @@ -41,10 +44,12 @@ const registration = { }) }, methods: { - ...mapActions(['signUp']), + ...mapActions(['signUp', 'getCaptcha']), async submit () { this.user.nickname = this.user.username this.user.token = this.token + this.user.captcha_solution = this.captcha.solution + this.user.captcha_token = this.captcha.token this.$v.$touch() @@ -56,6 +61,9 @@ const registration = { console.warn('Registration failed: ' + error) } } + }, + setCaptcha () { + this.getCaptcha().then(cpt => { this.captcha = cpt }) } } } diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue index 8cb1392b..f187e215 100644 --- a/src/components/registration/registration.vue +++ b/src/components/registration/registration.vue @@ -75,6 +75,19 @@ </ul> </div> + <div class="form-group" id="captcha-group" v-if="captcha.type != 'none'"> + <template v-if="captcha.type == 'kocaptcha'"> + <img v-bind:src="captcha.url" v-on:click="setCaptcha"> + + <sub>Click the image to get a new captcha</sub> + <label class='form--label' for='captcha-label'>CAPTCHA</label> + + <input :disabled="isPending" + v-model='captcha.solution' + class='form-control' id='captcha-answer' type='text'> + </template> + </div> + <div class='form-group' v-if='token' > <label for='token'>{{$t('registration.token')}}</label> <input disabled='true' v-model='token' class='form-control' id='token' type='text'> |
