diff --git a/src/personalisation/wagtail_hooks.py b/src/personalisation/wagtail_hooks.py index dcba5e2..9460403 100644 --- a/src/personalisation/wagtail_hooks.py +++ b/src/personalisation/wagtail_hooks.py @@ -4,16 +4,17 @@ import time from django.conf.urls import include, url from django.core.urlresolvers import reverse from django.shortcuts import reverse +from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register from wagtail.contrib.modeladmin.views import IndexView -from wagtail.wagtailadmin.widgets import ( - Button, ButtonWithDropdownFromHook, PageListingButton) +from wagtail.wagtailadmin.widgets import (Button, ButtonWithDropdownFromHook, + PageListingButton) from wagtail.wagtailcore import hooks from personalisation import admin_urls -from personalisation.models import ( - AbstractBaseRule, PersonalisablePage, Segment) +from personalisation.models import (AbstractBaseRule, PersonalisablePage, + Segment) from personalisation.utils import impersonate_other_page logger = logging.getLogger() @@ -202,3 +203,17 @@ def page_listing_more_buttons(page, page_perms, is_parent=False): for segment in available_segments: yield Button(segment.name, reverse('segment:copy_page', args=[page.id, segment.id]), attrs={"title": _('Create this variant')}) + + +class SegmentSummaryPanel(object): + order = 50 + + def render(self): + segment_count = Segment.objects.count() + target_url = reverse('personalisation_segment_modeladmin_index') + title = _("Segments") + return mark_safe('