Commit 914a5ead authored by 13hakta's avatar 13hakta
Browse files

[perms] Add permission to choose collections

parent f7e32ed2
......@@ -77,6 +77,7 @@ GroupVideoPermissionFormSet = collection_member_permission_formset_factory(
[
('add_video', _("Add"), _("Add/edit videos you own")),
('change_video', _("Edit"), _("Edit any video")),
('choose_video', _("Choose"), _("Choose video")),
],
'wagtailvideos/permissions/includes/video_permissions_formset.html'
)
......@@ -245,6 +245,9 @@ class Video(AbstractVideo):
class Meta:
ordering = ['-created_at']
permissions = [
("choose_video", "Can choose video"),
]
class TranscodingThread(threading.Thread):
......
......@@ -68,6 +68,12 @@ def chooser(request):
if collection_id:
videos = videos.filter(collection=collection_id)
collections = permission_policy.collections_user_has_any_permission_for(
request.user, ['choose'])
if len(collections) > 0:
videos = videos.filter(collection__in=collections)
searchform = SearchForm(request.GET)
if searchform.is_valid():
q = searchform.cleaned_data['q']
......@@ -93,7 +99,10 @@ def chooser(request):
else:
searchform = SearchForm()
collections = Collection.objects.all()
collections = permission_policy.collections_user_has_permission_for(
request.user, 'choose'
)
if len(collections) < 2:
collections = None
......
......@@ -28,14 +28,14 @@ else:
permission_checker = PermissionPolicyChecker(permission_policy)
@permission_checker.require_any('add', 'change', 'delete')
@permission_checker.require_any('add', 'change', 'delete', 'choose')
@vary_on_headers('X-Requested-With')
def index(request):
# Get Videos (filtered by user permission)
Video = get_video_model()
collections = permission_policy.collections_user_has_any_permission_for(
request.user, ['add', 'change', 'delete'])
request.user, ['add', 'change', 'delete', 'choose'])
if len(collections) > 1:
collections_to_choose = collections
else:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment