fix: Remove Person.core_member field

See #33
This commit is contained in:
James Graham
2020-06-24 13:47:12 +01:00
parent 9a84f77ec4
commit 26bf55b4b4
4 changed files with 30 additions and 16 deletions

View File

@@ -22,14 +22,13 @@ class PersonSerializer(base.FlattenedModelSerializer):
fields = [ fields = [
'id', 'id',
'name', 'name',
'core_member',
'gender', 'gender',
'age_group', 'age_group',
'nationality', 'nationality',
'country_of_residence', 'country_of_residence',
] ]
class RelationshipSerializer(base.FlattenedModelSerializer): class RelationshipSerializer(base.FlattenedModelSerializer):
source = SimplePersonSerializer() source = SimplePersonSerializer()
target = SimplePersonSerializer() target = SimplePersonSerializer()
@@ -45,7 +44,7 @@ class RelationshipSerializer(base.FlattenedModelSerializer):
class RelationshipAnswerSetSerializer(base.FlattenedModelSerializer): class RelationshipAnswerSetSerializer(base.FlattenedModelSerializer):
relationship = RelationshipSerializer() relationship = RelationshipSerializer()
class Meta: class Meta:
model = models.RelationshipAnswerSet model = models.RelationshipAnswerSet
fields = [ fields = [
@@ -71,7 +70,9 @@ class RelationshipAnswerSetSerializer(base.FlattenedModelSerializer):
try: try:
# Add relationship question answers to data # Add relationship question answers to data
for answer in instance.question_answers.all(): 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: except AttributeError:
pass pass

View File

@@ -16,7 +16,6 @@ class PersonForm(forms.ModelForm):
model = models.Person model = models.Person
fields = [ fields = [
'name', 'name',
'core_member',
'gender', 'gender',
'age_group', 'age_group',
'nationality', 'nationality',
@@ -32,13 +31,13 @@ class PersonForm(forms.ModelForm):
'country_of_residence': Select2Widget(), 'country_of_residence': Select2Widget(),
'themes': Select2MultipleWidget(), 'themes': Select2MultipleWidget(),
} }
class DynamicAnswerSetBase(forms.Form): class DynamicAnswerSetBase(forms.Form):
field_class = forms.ModelChoiceField field_class = forms.ModelChoiceField
field_widget = None field_widget = None
field_required = True field_required = True
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
@@ -73,8 +72,8 @@ class RelationshipAnswerSetForm(forms.ModelForm, DynamicAnswerSetBase):
self.instance.question_answers.add(value) self.instance.question_answers.add(value)
return self.instance return self.instance
class NetworkFilterForm(DynamicAnswerSetBase): class NetworkFilterForm(DynamicAnswerSetBase):
""" """
Form to provide filtering on the network view. Form to provide filtering on the network view.
@@ -82,9 +81,9 @@ class NetworkFilterForm(DynamicAnswerSetBase):
field_class = forms.ModelMultipleChoiceField field_class = forms.ModelMultipleChoiceField
field_widget = Select2MultipleWidget field_widget = Select2MultipleWidget
field_required = False field_required = False
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
# Add date field to select relationships at a particular point in time # Add date field to select relationships at a particular point in time
self.fields['date'] = forms.DateField(required=False) self.fields['date'] = forms.DateField(required=False)

View File

@@ -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',
),
]

View File

@@ -122,9 +122,6 @@ class Person(models.Model):
#: Name of the person #: Name of the person
name = models.CharField(max_length=255, blank=False, null=False) 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 #: People with whom this person has relationship - via intermediate :class:`Relationship` model
relationship_targets = models.ManyToManyField( relationship_targets = models.ManyToManyField(
'self', 'self',