Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Websites UFRPE
Wagtail Videos
Commits
60e9f104
Unverified
Commit
60e9f104
authored
Feb 03, 2021
by
seb-b
Committed by
GitHub
Feb 03, 2021
Browse files
Merge pull request #53 from neon-jungle/tracks
Tracks
parents
cc90aa21
71b14011
Changes
21
Show whitespace changes
Inline
Side-by-side
wagtailvideos/wagtail_hooks.py
View file @
60e9f104
from
wagtail.admin.edit_handlers
import
InlinePanel
from
wagtailvideos.edit_handlers
import
VideoChooserPanel
from
wagtail.contrib.modeladmin.options
import
ModelAdmin
,
modeladmin_register
from
django.conf.urls
import
include
,
url
from
django.conf.urls
import
include
,
url
from
django.templatetags.static
import
static
from
django.urls
import
reverse
from
django.urls
import
reverse
from
django.utils.html
import
format_html
from
django.utils.html
import
format_html
from
django.utils.safestring
import
mark_safe
from
django.utils.translation
import
ugettext_lazy
as
_
from
django.utils.translation
import
ugettext_lazy
as
_
from
wagtail.admin.menu
import
MenuItem
from
wagtail.admin.menu
import
Menu
,
MenuItem
,
Submenu
MenuItem
from
wagtail.admin.search
import
SearchArea
from
wagtail.admin.search
import
SearchArea
from
wagtail.admin.site_summary
import
SummaryItem
from
wagtail.admin.site_summary
import
SummaryItem
from
wagtail.core
import
hooks
from
wagtail.core
import
hooks
from
django.utils.html
import
format_html
from
django.templatetags.static
import
static
from
wagtailvideos
import
get_video_model
,
urls
,
is_modeladmin_installed
from
wagtailvideos
import
urls
from
wagtailvideos.forms
import
GroupVideoPermissionFormSet
from
wagtailvideos.forms
import
GroupVideoPermissionFormSet
from
wagtailvideos
import
get_video_model
from
wagtailvideos
.models
import
TrackListing
from
.permissions
import
permission_policy
from
.permissions
import
permission_policy
Video
=
get_video_model
()
Video
=
get_video_model
()
class
TracksAdmin
(
ModelAdmin
):
model
=
TrackListing
menu_icon
=
'openquote'
menu_label
=
'Text tracks'
list_display
=
(
'__str__'
,
'track_count'
)
def
track_count
(
self
,
track_listing
):
return
track_listing
.
tracks
.
count
()
track_count
.
short_description
=
'No. tracks'
panels
=
[
VideoChooserPanel
(
'video'
),
InlinePanel
(
'tracks'
,
heading
=
"Tracks"
)
]
if
is_modeladmin_installed
():
modeladmin_register
(
TracksAdmin
)
@
hooks
.
register
(
'register_admin_urls'
)
@
hooks
.
register
(
'register_admin_urls'
)
def
register_admin_urls
():
def
register_admin_urls
():
return
[
return
[
...
@@ -41,14 +66,46 @@ def register_video_permissions_panel():
...
@@ -41,14 +66,46 @@ def register_video_permissions_panel():
return
GroupVideoPermissionFormSet
return
GroupVideoPermissionFormSet
class
VideoMenu
(
Menu
):
# Dummy class
def
__init__
(
self
,
*
args
,
**
kwargs
):
pass
def
menu_items_for_request
(
self
,
request
):
return
[
MenuItem
(
_
(
'Manage videos'
),
reverse
(
'wagtailvideos:index'
),
name
=
'videos'
,
classnames
=
'icon icon-media'
,
order
=
100
),
TracksAdmin
().
get_menu_item
(),
]
def
render_html
(
self
,
request
):
menu_items
=
self
.
menu_items_for_request
(
request
)
rendered_menu_items
=
[]
for
item
in
sorted
(
menu_items
,
key
=
lambda
i
:
i
.
order
):
rendered_menu_items
.
append
(
item
.
render_html
(
request
))
return
mark_safe
(
''
.
join
(
rendered_menu_items
))
@
hooks
.
register
(
'register_admin_menu_item'
)
@
hooks
.
register
(
'register_admin_menu_item'
)
def
register_images_menu_item
():
def
register_images_menu_item
():
if
is_modeladmin_installed
():
return
SubmenuMenuItem
(
_
(
'Videos'
),
VideoMenu
(),
name
=
'videos'
,
classnames
=
'icon icon-media'
,
order
=
300
)
else
:
return
MenuItem
(
return
MenuItem
(
_
(
'Videos'
),
reverse
(
'wagtailvideos:index'
),
_
(
'Videos'
),
reverse
(
'wagtailvideos:index'
),
name
=
'videos'
,
classnames
=
'icon icon-media'
,
order
=
300
name
=
'videos'
,
classnames
=
'icon icon-media'
,
order
=
300
)
)
@
hooks
.
register
(
'construct_main_menu'
)
def
hide_track_listing_main
(
request
,
menu_items
):
# Dumb but we need to remove the auto generated menu item because we add it to the video submenu
if
is_modeladmin_installed
():
menu_items
[:]
=
[
item
for
item
in
menu_items
if
item
.
name
!=
'text-tracks'
]
class
VideoSummaryItem
(
SummaryItem
):
class
VideoSummaryItem
(
SummaryItem
):
order
=
300
order
=
300
...
@@ -87,6 +144,7 @@ def register_media_search_area():
...
@@ -87,6 +144,7 @@ def register_media_search_area():
order
=
400
,
order
=
400
,
)
)
@
hooks
.
register
(
'insert_global_admin_css'
)
@
hooks
.
register
(
'insert_global_admin_css'
)
def
summary_css
():
def
summary_css
():
return
format_html
(
'<link rel="stylesheet" href="{}">'
,
static
(
'wagtailvideos/css/summary-override.css'
))
return
format_html
(
'<link rel="stylesheet" href="{}">'
,
static
(
'wagtailvideos/css/summary-override.css'
))
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment