from __future__ import absolute_import, unicode_literals
from django.utils.translation import ugettext_lazy as _
from wagtail.wagtailadmin import widgets as wagtailadmin_widgets
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register
from wagtail.wagtailcore import hooks
from wagtailsharing.helpers import get_sharing_url
from wagtailsharing.models import SharingSite
class SharingSiteModelAdmin(ModelAdmin):
model = SharingSite
menu_icon = 'site'
menu_order = 603
add_to_settings_menu = True
list_display = ('site', 'hostname', 'port')
modeladmin_register(SharingSiteModelAdmin)
@hooks.register('register_page_listing_more_buttons')
def add_sharing_link(page, page_perms, is_parent=False):
sharing_url = get_sharing_url(page)
if sharing_url:
yield wagtailadmin_widgets.Button(
'Share',
sharing_url,
attrs={
'title': _("Share latest revision of '{title}'").format(
title=page.get_admin_display_title()
),
},
priority=90
)
|