From 26bf55b4b4318f2f5011c7382d037c8de7f43cd0 Mon Sep 17 00:00:00 2001 From: James Graham Date: Wed, 24 Jun 2020 13:47:12 +0100 Subject: [PATCH] fix: Remove Person.core_member field See #33 --- export/serializers/people.py | 11 ++++++----- people/forms.py | 15 +++++++-------- .../0019_remove_person_core_member.py | 17 +++++++++++++++++ people/models/person.py | 3 --- 4 files changed, 30 insertions(+), 16 deletions(-) create mode 100644 people/migrations/0019_remove_person_core_member.py diff --git a/export/serializers/people.py b/export/serializers/people.py index 196f295..0174827 100644 --- a/export/serializers/people.py +++ b/export/serializers/people.py @@ -22,14 +22,13 @@ class PersonSerializer(base.FlattenedModelSerializer): fields = [ 'id', 'name', - 'core_member', 'gender', 'age_group', 'nationality', 'country_of_residence', ] - - + + class RelationshipSerializer(base.FlattenedModelSerializer): source = SimplePersonSerializer() target = SimplePersonSerializer() @@ -45,7 +44,7 @@ class RelationshipSerializer(base.FlattenedModelSerializer): class RelationshipAnswerSetSerializer(base.FlattenedModelSerializer): relationship = RelationshipSerializer() - + class Meta: model = models.RelationshipAnswerSet fields = [ @@ -71,7 +70,9 @@ class RelationshipAnswerSetSerializer(base.FlattenedModelSerializer): try: # Add relationship question answers to data for answer in instance.question_answers.all(): - rep[answer.question.slug.replace('-', '_')] = answer.slug.replace('-', '_') + rep[answer.question.slug.replace('-', + '_')] = answer.slug.replace( + '-', '_') except AttributeError: pass diff --git a/people/forms.py b/people/forms.py index 5877ce5..1d234f6 100644 --- a/people/forms.py +++ b/people/forms.py @@ -16,7 +16,6 @@ class PersonForm(forms.ModelForm): model = models.Person fields = [ 'name', - 'core_member', 'gender', 'age_group', 'nationality', @@ -32,13 +31,13 @@ class PersonForm(forms.ModelForm): 'country_of_residence': Select2Widget(), 'themes': Select2MultipleWidget(), } - - + + class DynamicAnswerSetBase(forms.Form): field_class = forms.ModelChoiceField field_widget = None field_required = True - + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -73,8 +72,8 @@ class RelationshipAnswerSetForm(forms.ModelForm, DynamicAnswerSetBase): self.instance.question_answers.add(value) return self.instance - - + + class NetworkFilterForm(DynamicAnswerSetBase): """ Form to provide filtering on the network view. @@ -82,9 +81,9 @@ class NetworkFilterForm(DynamicAnswerSetBase): field_class = forms.ModelMultipleChoiceField field_widget = Select2MultipleWidget field_required = False - + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - + # Add date field to select relationships at a particular point in time self.fields['date'] = forms.DateField(required=False) diff --git a/people/migrations/0019_remove_person_core_member.py b/people/migrations/0019_remove_person_core_member.py new file mode 100644 index 0000000..ee02484 --- /dev/null +++ b/people/migrations/0019_remove_person_core_member.py @@ -0,0 +1,17 @@ +# Generated by Django 2.2.10 on 2020-06-24 11:14 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('people', '0018_require_user_email'), + ] + + operations = [ + migrations.RemoveField( + model_name='person', + name='core_member', + ), + ] diff --git a/people/models/person.py b/people/models/person.py index f7910f9..0854c8a 100644 --- a/people/models/person.py +++ b/people/models/person.py @@ -122,9 +122,6 @@ class Person(models.Model): #: Name of the person name = models.CharField(max_length=255, blank=False, null=False) - #: Is this person a member of the core project team? - core_member = models.BooleanField(default=False, blank=False, null=False) - #: People with whom this person has relationship - via intermediate :class:`Relationship` model relationship_targets = models.ManyToManyField( 'self',