adds custom create model form, wip
This commit is contained in:
23
src/personalisation/forms.py
Normal file
23
src/personalisation/forms.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
|
from django import forms
|
||||||
|
from django.conf import settings
|
||||||
|
from django.utils.translation import ugettext as _
|
||||||
|
from wagtail.wagtailcore.models import Page
|
||||||
|
|
||||||
|
from personalisation.models import Segment
|
||||||
|
|
||||||
|
|
||||||
|
class SegmentForm(forms.ModelForm):
|
||||||
|
"""
|
||||||
|
Custom Segment form for the create view
|
||||||
|
"""
|
||||||
|
class Meta:
|
||||||
|
model = Segment
|
||||||
|
fields = (
|
||||||
|
'name',
|
||||||
|
'status',
|
||||||
|
)
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(SegmentForm, self).__init__(*args, **kwargs)
|
@ -1,4 +1,7 @@
|
|||||||
import time
|
import time
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logger = logging.getLogger()
|
||||||
|
|
||||||
from personalisation.models import AbstractBaseRule, Segment
|
from personalisation.models import AbstractBaseRule, Segment
|
||||||
|
|
||||||
@ -27,6 +30,7 @@ class SegmentMiddleware(object):
|
|||||||
self.add_segment_to_user(segment, request)
|
self.add_segment_to_user(segment, request)
|
||||||
|
|
||||||
response = self.get_response(request)
|
response = self.get_response(request)
|
||||||
|
logger.info("User has been added to the following segments: {}".format(request.session['segments']))
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def test_rules(self, rules, request):
|
def test_rules(self, rules, request):
|
||||||
|
@ -107,7 +107,7 @@ class TimeRule(AbstractBaseRule):
|
|||||||
@python_2_unicode_compatible
|
@python_2_unicode_compatible
|
||||||
class ReferralRule(AbstractBaseRule):
|
class ReferralRule(AbstractBaseRule):
|
||||||
"""Referral rule to segment users based on a regex test"""
|
"""Referral rule to segment users based on a regex test"""
|
||||||
regex_string = models.TextField()
|
regex_string = models.TextField(_("Regex string to match the referer with"))
|
||||||
|
|
||||||
panels = [
|
panels = [
|
||||||
FieldPanel('regex_string'),
|
FieldPanel('regex_string'),
|
||||||
|
@ -4,7 +4,10 @@ from django.http import HttpResponse, HttpResponseRedirect
|
|||||||
from django.shortcuts import get_object_or_404, render
|
from django.shortcuts import get_object_or_404, render
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
|
from wagtail.wagtailadmin.views import generic
|
||||||
|
|
||||||
from personalisation.models import Segment
|
from personalisation.models import Segment
|
||||||
|
from personalisation.forms import SegmentForm
|
||||||
|
|
||||||
|
|
||||||
def overview(request):
|
def overview(request):
|
||||||
@ -26,3 +29,6 @@ def disable(request, segment_id):
|
|||||||
segment.save()
|
segment.save()
|
||||||
|
|
||||||
return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
|
return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user