diff --git a/src/personalisation/admin_urls.py b/src/personalisation/admin_urls.py index 90d0601..4e31f40 100644 --- a/src/personalisation/admin_urls.py +++ b/src/personalisation/admin_urls.py @@ -4,5 +4,5 @@ from django.conf.urls import url from personalisation import views urlpatterns = [ - url(r'^overview/$', views.overview, name='overview'), + url(r'^segment/$', views.overview, name='overview'), ] \ No newline at end of file diff --git a/src/personalisation/models.py b/src/personalisation/models.py index eaa16f7..14399df 100644 --- a/src/personalisation/models.py +++ b/src/personalisation/models.py @@ -5,6 +5,7 @@ from django.db import models from django.utils.encoding import python_2_unicode_compatible from modelcluster.models import ClusterableModel +from wagtail.wagtailadmin.edit_handlers import FieldPanel """ diff --git a/src/personalisation/templates/wagtailadmin/segment_overview.html b/src/personalisation/templates/wagtailadmin/segment.html similarity index 100% rename from src/personalisation/templates/wagtailadmin/segment_overview.html rename to src/personalisation/templates/wagtailadmin/segment.html diff --git a/src/personalisation/views.py b/src/personalisation/views.py index 99e398f..658cf00 100644 --- a/src/personalisation/views.py +++ b/src/personalisation/views.py @@ -6,5 +6,5 @@ from django.shortcuts import render """ Segments overview """ -def overview(): - return render(request, 'wagtailadmin/segment_overview.html') \ No newline at end of file +def overview(request): + return render(request, 'wagtailadmin/segment.html') \ No newline at end of file diff --git a/src/personalisation/wagtail_hooks.py b/src/personalisation/wagtail_hooks.py index e512cce..6d7afa4 100644 --- a/src/personalisation/wagtail_hooks.py +++ b/src/personalisation/wagtail_hooks.py @@ -3,6 +3,10 @@ from django.conf.urls import include, url from django.core.urlresolvers import reverse from wagtail.wagtailadmin import widgets from wagtail.wagtailadmin.menu import MenuItem + +from personalisation import admin_urls +from wagtail.contrib.modeladmin.helpers import ButtonHelper +from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register from wagtail.wagtailcore import hooks from .models import Segment @@ -11,5 +15,22 @@ from .models import Segment @hooks.register('register_admin_urls') def register_admin_urls(): return [ - url(r'^segments/', include(admin_urls, app_name='segments', namespace='segments')), - ] \ No newline at end of file + url(r'^personalisation/', include(admin_urls, app_name='personalisation', namespace='personalisation')), + ] + + +class SegmentButtonHelper(ButtonHelper): + def get_buttons_for_obj(self, obj, exclude=[], classnames_add=[], classnames_exclude=[]): + return { + 'url': reverse('personalisation:overview'), + 'label': _('Segments'), + 'title': _('Report for this %s') % self.verbose_name, + } + + +class SegmentModelAdmin(ModelAdmin): + model = Segment + add_to_settings_menu = False + button_helper_class = SegmentButtonHelper + +modeladmin_register(SegmentModelAdmin) \ No newline at end of file