Skip to content
Snippets Groups Projects
Commit 659b0f6c authored by Tore.Brede's avatar Tore.Brede
Browse files

GREG-27: Adding more information in person listing

parent ab5ae854
No related branches found
No related tags found
1 merge request!31GREG-27: Adding more information in person listing
Pipeline #91276 passed
from rest_framework import serializers
from greg.models import Person, PersonRole, Role, PersonIdentity
class PersonSerializer(serializers.ModelSerializer):
class Meta:
model = Person
fields = [
"id",
"first_name",
"last_name",
"date_of_birth",
"email",
"mobile_phone",
"email_verified_date",
"mobile_phone",
"mobile_phone_verified_date",
"registration_completed_date",
"token",
]
from greg.models import Person, PersonRole, Role, PersonIdentity, PersonConsent, Consent
class PersonRoleSerializer(serializers.ModelSerializer):
......@@ -57,3 +39,46 @@ class PersonIdentitySerializer(serializers.ModelSerializer):
.filter(value__like=value)
.exists()
)
class ConsentSerializerBrief(serializers.ModelSerializer):
class Meta:
model = Consent
fields = [
"type",
"valid_from",
"user_allowed_to_change",
]
class PersonConsentSerializerBrief(serializers.ModelSerializer):
consent = ConsentSerializerBrief(read_only=True)
class Meta:
model = PersonConsent
fields = ["consent", "consent_given_at"]
class PersonSerializer(serializers.ModelSerializer):
identities = PersonIdentitySerializer(many=True, read_only=True)
person_roles = PersonRoleSerializer(many=True, read_only=True)
person_consent = PersonConsentSerializerBrief(many=True, read_only=True)
class Meta:
model = Person
fields = [
"id",
"first_name",
"last_name",
"date_of_birth",
"email",
"mobile_phone",
"email_verified_date",
"mobile_phone",
"mobile_phone_verified_date",
"registration_completed_date",
"token",
"identities",
"person_roles",
"person_consent",
]
# Generated by Django 3.2.5 on 2021-08-27 14:37
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('greg', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='personconsent',
name='consent',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='person_consent', to='greg.consent'),
),
migrations.AlterField(
model_name='personconsent',
name='person',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='person_consent', to='greg.person'),
),
]
......@@ -273,10 +273,10 @@ class PersonConsent(BaseModel):
"""
person = models.ForeignKey(
"Person", on_delete=models.CASCADE, related_name="link_person_consent"
"Person", on_delete=models.CASCADE, related_name="person_consent"
)
consent = models.ForeignKey(
"Consent", on_delete=models.PROTECT, related_name="link_person_consent"
"Consent", on_delete=models.PROTECT, related_name="person_consent"
)
# If the date is blank it means the person has not given consent yet
consent_given_at = models.DateField(null=True)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment