Segment summary item
Signed-off-by: Jasper Berghoef <jasper.berghoef@gmail.com>
This commit is contained in:
@ -4,16 +4,17 @@ import time
|
|||||||
from django.conf.urls import include, url
|
from django.conf.urls import include, url
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.shortcuts import reverse
|
from django.shortcuts import reverse
|
||||||
|
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.contrib.modeladmin.options import ModelAdmin, modeladmin_register
|
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register
|
||||||
from wagtail.contrib.modeladmin.views import IndexView
|
from wagtail.contrib.modeladmin.views import IndexView
|
||||||
from wagtail.wagtailadmin.widgets import (
|
from wagtail.wagtailadmin.widgets import (Button, ButtonWithDropdownFromHook,
|
||||||
Button, ButtonWithDropdownFromHook, PageListingButton)
|
PageListingButton)
|
||||||
from wagtail.wagtailcore import hooks
|
from wagtail.wagtailcore import hooks
|
||||||
|
|
||||||
from personalisation import admin_urls
|
from personalisation import admin_urls
|
||||||
from personalisation.models import (
|
from personalisation.models import (AbstractBaseRule, PersonalisablePage,
|
||||||
AbstractBaseRule, PersonalisablePage, Segment)
|
Segment)
|
||||||
from personalisation.utils import impersonate_other_page
|
from personalisation.utils import impersonate_other_page
|
||||||
|
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
@ -202,3 +203,17 @@ def page_listing_more_buttons(page, page_perms, is_parent=False):
|
|||||||
for segment in available_segments:
|
for segment in available_segments:
|
||||||
yield Button(segment.name, reverse('segment:copy_page', args=[page.id, segment.id]),
|
yield Button(segment.name, reverse('segment:copy_page', args=[page.id, segment.id]),
|
||||||
attrs={"title": _('Create this variant')})
|
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('<li class="icon icon-group"><a href="{}"><span>{}</span>{}</a></li>'.format(target_url, segment_count, title))
|
||||||
|
|
||||||
|
@hooks.register('construct_homepage_summary_items')
|
||||||
|
def add_segment_summary_panel(request, summary_items):
|
||||||
|
return summary_items.append(SegmentSummaryPanel())
|
||||||
|
Reference in New Issue
Block a user