mirror of
https://github.com/Southampton-RSG/breccia-mapper.git
synced 2026-03-03 03:17:07 +00:00
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
17
people/migrations/0019_remove_person_core_member.py
Normal file
17
people/migrations/0019_remove_person_core_member.py
Normal 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',
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -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',
|
||||||
|
|||||||
Reference in New Issue
Block a user