chore: remove studio check

chore: remove duplicate code

chore: update get_public_video_url because reverse doesn't work on cms
This commit is contained in:
Leangseu Kim
2023-05-16 12:58:45 -04:00
committed by leangseu-edx
parent ee3a854d14
commit f72d27c6af
2 changed files with 5 additions and 35 deletions

View File

@@ -254,22 +254,12 @@ class TestVideoPublicAccess(BaseTestVideoXBlock):
with patch.object(PUBLIC_VIDEO_SHARE, 'is_enabled', return_value=enabled):
yield
@ddt.data(
(True, False),
(False, False),
(False, True),
(True, True),
)
@ddt.unpack
def test_is_public_sharing_enabled(self, is_studio, feature_enabled):
@ddt.data(True, False)
def test_is_public_sharing_enabled(self, feature_enabled):
"""Test public video url."""
assert self.block.public_access is True
if is_studio:
self.block.runtime.is_author_mode = True
with self.mock_feature_toggle(enabled=feature_enabled):
assert self.block.is_public_sharing_enabled() == \
(not is_studio and feature_enabled)
assert self.block.is_public_sharing_enabled() == feature_enabled
def test_is_public_sharing_enabled__not_public(self):
self.block.public_access = False

View File

@@ -18,10 +18,8 @@ import json
import logging
from collections import OrderedDict, defaultdict
from operator import itemgetter
from urllib.parse import urljoin
from django.conf import settings
from django.urls import reverse
from edx_django_utils.cache import RequestCache
from lxml import etree
from opaque_keys.edx.locator import AssetLocator
@@ -488,11 +486,6 @@ class VideoBlock(
template_context['public_video_url'] = public_video_url
template_context['sharing_sites_info'] = sharing_sites_info_for_video(public_video_url)
# Public video previewing / social media sharing
if self.is_public_sharing_enabled():
template_context['public_sharing_enabled'] = True
template_context['public_video_url'] = self.get_public_video_url()
return self.runtime.service(self, 'mako').render_template('video.html', template_context)
def get_course_video_sharing_override(self):
@@ -513,11 +506,6 @@ class VideoBlock(
Is public sharing enabled for this video?
"""
# Sharing is DISABLED from studio
is_studio = getattr(self.runtime, "is_author_mode", False)
if is_studio:
return False
# Video share feature must be enabled for sharing settings to take effect
feature_enabled = PUBLIC_VIDEO_SHARE.is_enabled(self.location.course_key)
if not feature_enabled:
@@ -543,15 +531,7 @@ class VideoBlock(
"""
Returns the public video url
"""
return urljoin(
settings.LMS_ROOT_URL,
reverse(
'render_public_video_xblock',
kwargs={
'usage_key_string': str(self.location)
}
)
)
return fr'{settings.LMS_ROOT_URL}/videos/{str(self.location)}'
def validate(self):
"""
@@ -674,7 +654,7 @@ class VideoBlock(
# be shared with leaners. This is not possible with default rendering logic in backbonjs code, that is why
# we are setting a new type and then do a custom rendering in backbonejs code to render the desired UI.
editable_fields['public_access']['type'] = 'PublicAccess'
editable_fields['public_access']['url'] = fr'{settings.LMS_ROOT_URL}/videos/{str(self.location)}'
editable_fields['public_access']['url'] = self.get_public_video_url()
# construct transcripts info and also find if `en` subs exist
transcripts_info = self.get_transcripts_info()