From 4070be094812eadf767e91eb1d2caac2bc21a85b Mon Sep 17 00:00:00 2001 From: Boris Besemer Date: Wed, 7 Dec 2016 14:22:57 +0100 Subject: [PATCH] removes forms.py --- src/personalisation/forms.py | 101 ---------------------------------- src/personalisation/models.py | 1 - 2 files changed, 102 deletions(-) delete mode 100644 src/personalisation/forms.py diff --git a/src/personalisation/forms.py b/src/personalisation/forms.py deleted file mode 100644 index c8e31c0..0000000 --- a/src/personalisation/forms.py +++ /dev/null @@ -1,101 +0,0 @@ -from __future__ import absolute_import, unicode_literals - -from django import forms -from django.utils.translation import ugettext as _ -from wagtail.wagtailadmin.forms import WagtailAdminModelForm -from wagtail.wagtailcore.models import Page - -from personalisation.models import ( - PersonalisablePage, ReferralRule, Segment, TimeRule, VisitCountRule) - - -class SegmentForm(forms.ModelForm): - # TODO: Remove this if no longer needed. - """Custom Segment form for the create view.""" - class Meta: - model = Segment - fields = ( - 'name', - 'status', - ) - - -class TimeRuleForm(WagtailAdminModelForm): - # TODO: Remove this if no longer needed. - """Create a form for the time rule model.""" - title = "Time" - description = """ - Choose a time segment in which the user visits the site. - """ - - class Meta: - model = TimeRule - fields = ['start_time', 'end_time'] - - -class ReferralRuleForm(WagtailAdminModelForm): - # TODO: Remove this if no longer needed. - """Create a form for the referral rule model.""" - title = "Referrer" - description = """ - Define a referring page, domain or query the user has to come from. - """ - - class Meta: - model = ReferralRule - fields = ['regex_string'] - - -class VisitCountRuleForm(WagtailAdminModelForm): - # TODO: Remove this if no longer needed. - """Create a form for the visit count rule model.""" - title = "Visit count" - description = "Choose the number of visits the user has to have made." - - class Meta: - model = VisitCountRule - fields = ['operator', 'count'] - - -class PersonalisationForm(forms.Form): - """Form to add new personalisation pages""" - copy_from_canonical = forms.BooleanField(required=False) - parent_page = forms.ModelChoiceField( - queryset=PersonalisablePage.objects.all() - ) - - def __init__(self, *args, **kwargs): - self.page = kwargs.pop('page') - self.site = self.page.get_site() - self.segment = kwargs.pop('segment') - self.base_fields['parent_page'].queryset = self.get_queryset() - - if self._page_has_required(self.page): - self.base_fields['copy_from_canonical'].initial = True - self.base_fields['copy_from_canonical'].disabled = True - self.base_fields['copy_from_canonical'].help_text = _( - "All fields need to be copied because of required fields" - ) - - super(PersonalisationForm, self).__init__(*args, **kwargs) - - def get_queryset(self): - qs = PersonalisablePage.objects.filter(segment=self.segment) - allowed_pages = [p.pk for p in qs if ( - self.page.can_move_to(p) and p.get_site() == self.site - )] - qs = PersonalisablePage.objects.filter(pk__in=allowed_pages) - if not qs: - return Page.objects.filter(pk=self.site.root_page.pk) - return qs - - def _page_has_required(self, page): - common_fields = set(PersonalisablePage._meta.fields) - specific_fields = set(page.specific._meta.fields) - common_fields - - required_fields = [f for f in specific_fields - if not f.blank and not f.name.endswith('ptr')] - - if required_fields: - return True - return False diff --git a/src/personalisation/models.py b/src/personalisation/models.py index 79ed54c..45cf539 100644 --- a/src/personalisation/models.py +++ b/src/personalisation/models.py @@ -4,7 +4,6 @@ import re from datetime import datetime from django.db import models -from django.db.models import Q from django.db.models.signals import pre_save from django.template.defaultfilters import slugify from django.utils import timezone