From: Chocobozzz Date: Mon, 18 Jun 2018 08:29:17 +0000 (+0200) Subject: Prevent commenting twice X-Git-Tag: v1.0.0-beta.9~27 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ff33642709d7d6d3953ca8e6ce11fe4ba4a56593;p=oweals%2Fpeertube.git Prevent commenting twice --- diff --git a/client/src/app/videos/+video-watch/comment/video-comment-add.component.ts b/client/src/app/videos/+video-watch/comment/video-comment-add.component.ts index 46d7a4e9e..9998685e8 100644 --- a/client/src/app/videos/+video-watch/comment/video-comment-add.component.ts +++ b/client/src/app/videos/+video-watch/comment/video-comment-add.component.ts @@ -27,6 +27,8 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { @ViewChild('textarea') private textareaElement: ElementRef + private addingComment = false + constructor ( protected formValidatorService: FormValidatorService, private videoCommentValidatorsService: VideoCommentValidatorsService, @@ -66,6 +68,11 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { } formValidated () { + // If we validate very quickly the comment form, we might comment twice + if (this.addingComment) return + + this.addingComment = true + const commentCreate: VideoCommentCreate = this.form.value let obs: Observable @@ -77,11 +84,16 @@ export class VideoCommentAddComponent extends FormReactive implements OnInit { obs.subscribe( comment => { + this.addingComment = false this.commentCreated.emit(comment) this.form.reset() }, - err => this.notificationsService.error(this.i18n('Error'), err.text) + err => { + this.addingComment = false + + this.notificationsService.error(this.i18n('Error'), err.text) + } ) }