From 5f477fe04ba9baad4493f4fd9a96fcfc0d88b684 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Mon, 7 Jun 2021 02:33:48 -0400 Subject: [PATCH] uni-directional delete works --- vocodes/src/session/SessionWrapper.ts | 8 ++- .../w2l_template_view/W2lTemplateViewFc.tsx | 51 +++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/vocodes/src/session/SessionWrapper.ts b/vocodes/src/session/SessionWrapper.ts index 46f783e432..9519c22b56 100644 --- a/vocodes/src/session/SessionWrapper.ts +++ b/vocodes/src/session/SessionWrapper.ts @@ -67,11 +67,15 @@ export class SessionWrapper { return this.sessionStateResponse?.user?.can_ban_users || false; } + public canApproveW2lTemplates() : boolean { + return this.sessionStateResponse?.user?.can_approve_w2l_templates || false; + } + public canEditOtherUsersProfiles() : boolean { return this.sessionStateResponse?.user?.can_edit_other_users_profiles || false; } - public canApproveW2lTemplates() : boolean { - return this.sessionStateResponse?.user?.can_approve_w2l_templates || false; + public canDeleteOtherUsersW2lTemplates() : boolean { + return this.sessionStateResponse?.user?.can_delete_other_users_w2l_templates || false; } } diff --git a/vocodes/src/v2/w2l_template_view/W2lTemplateViewFc.tsx b/vocodes/src/v2/w2l_template_view/W2lTemplateViewFc.tsx index f274558a7e..f8320ca5be 100644 --- a/vocodes/src/v2/w2l_template_view/W2lTemplateViewFc.tsx +++ b/vocodes/src/v2/w2l_template_view/W2lTemplateViewFc.tsx @@ -173,6 +173,36 @@ function W2lTemplateViewFc(props: Props) { return false; } + const handleDeleteFormSubmit = (ev: React.FormEvent) : boolean => { + ev.preventDefault(); + + const api = new ApiConfig(); + const endpointUrl = api.deleteW2l(templateSlug); + + const request = { + set_delete: true, + } + + fetch(endpointUrl, { + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + }, + credentials: 'include', + body: JSON.stringify(request), + }) + .then(res => res.json()) + .then(res => { + if (res.success) { + history.go(0); // force reload + } + }) + .catch(e => { + }); + return false; + } + let creatorLink=`/profile/${w2lTemplate?.creator_username}`; let object : string|undefined = undefined; @@ -236,6 +266,25 @@ function W2lTemplateViewFc(props: Props) { ); } + let deletionForm = ; + + if (props.sessionWrapper.canDeleteOtherUsersW2lTemplates()) { + deletionForm = ( +
+ +
+ + +

+ +

+ +
+ ); + } + return (

Video lip sync template

@@ -323,6 +372,8 @@ function W2lTemplateViewFc(props: Props) { {modOnlyApprovalForm} + {deletionForm} +