# HG changeset patch # User durandn # Date 1457024667 -3600 # Node ID b45eb8244cd9687dde4ac5d4bf32c1ad6dd60cc4 # Parent 2ff785d7026c9629252db4126a653e0d6d6b7d46 Added default to the RENKAN_USER_DISPLAY_FIELD setting. Will default to the USERFIELD_NAME for the user model diff -r 2ff785d7026c -r b45eb8244cd9 .settings/org.eclipse.core.resources.prefs --- a/.settings/org.eclipse.core.resources.prefs Thu Mar 03 17:09:27 2016 +0100 +++ b/.settings/org.eclipse.core.resources.prefs Thu Mar 03 18:04:27 2016 +0100 @@ -5,6 +5,7 @@ encoding//server/python/django/renkanmanager/migrations/0001_initial.py=utf-8 encoding//server/python/django/renkanmanager/utils.py=utf-8 encoding//server/python/django/renkanmanager/views.py=utf-8 +encoding//server/python/django2/renkanmanager/__init__.py=utf-8 encoding//server/python/django2/renkanmanager/api/views.py=utf-8 encoding//server/python/django2/renkanmanager/migrations/0002_alter_models_and_populate_revisions.py=utf-8 encoding//server/python/django2/renkanmanager/migrations/0003_auto_20160105_0954.py=utf-8 diff -r 2ff785d7026c -r b45eb8244cd9 server/python/django2/Readme.md --- a/server/python/django2/Readme.md Thu Mar 03 17:09:27 2016 +0100 +++ b/server/python/django2/Readme.md Thu Mar 03 18:04:27 2016 +0100 @@ -0,0 +1,9 @@ +# RENKAN API - Django REST Framework + +## Configuration + +The following setting can be defined: + + RENKAN_USER_DISPLAY_FIELD + +This defines the field that will be used in your user model to serialize the user information your API will send in the responses. ("username", "external_id"...) Will default to the USERNAME_FIELD of the User Model class. \ No newline at end of file diff -r 2ff785d7026c -r b45eb8244cd9 server/python/django2/renkanmanager/serializers.py --- a/server/python/django2/renkanmanager/serializers.py Thu Mar 03 17:09:27 2016 +0100 +++ b/server/python/django2/renkanmanager/serializers.py Thu Mar 03 18:04:27 2016 +0100 @@ -7,6 +7,7 @@ from renkanmanager.models import Renkan, Workspace, Revision from rest_framework import serializers +RENKAN_USER_DISPLAY_FIELD = getattr(settings, "RENKAN_USER_DISPLAY_FIELD", get_user_model().USERNAME_FIELD) class RenkanSerializer(serializers.Serializer): id = serializers.ReadOnlyField(source="renkan_guid") @@ -14,7 +15,7 @@ workspace_id = serializers.CharField(source="workspace_guid", required=False) source_revision_id = serializers.CharField(source="source_revision_guid", required=False) revision_count = serializers.ReadOnlyField() - created_by = serializers.SlugRelatedField(source="creator", slug_field=settings.RENKAN_USER_DISPLAY_FIELD, read_only=True) + created_by = serializers.SlugRelatedField(source="creator", slug_field=RENKAN_USER_DISPLAY_FIELD, read_only=True) last_updated_by = serializers.SerializerMethodField("get_current_revision_last_updator") title = serializers.CharField(required=False) content = serializers.JSONField(required=False) @@ -25,7 +26,7 @@ # ADD ERROR HANDLING def get_current_revision_last_updator(self, renkan): current_revision = Revision.objects.get(revision_guid = renkan.current_revision_guid) - return getattr(current_revision.last_updated_by, settings.RENKAN_USER_DISPLAY_FIELD) + return getattr(current_revision.last_updated_by, RENKAN_USER_DISPLAY_FIELD) def get_current_revision_modification_date(self, renkan): @@ -131,7 +132,7 @@ content = serializers.JSONField(read_only=True) renkan_created_by = serializers.SerializerMethodField("get_related_renkan_creator") renkan_creation_date = serializers.SerializerMethodField("get_related_renkan_creation_date") - revision_created_by = serializers.SlugRelatedField(source="creator", slug_field=settings.RENKAN_USER_DISPLAY_FIELD, read_only=True) + revision_created_by = serializers.SlugRelatedField(source="creator", slug_field=RENKAN_USER_DISPLAY_FIELD, read_only=True) revision_last_updated_by = serializers.StringRelatedField(source="last_updated_by") revision_modification_date = serializers.ReadOnlyField(source="modification_date") @@ -141,7 +142,7 @@ def get_related_renkan_creator(self, revision): parent_renkan = Renkan.objects.get(renkan_guid = revision.parent_renkan_guid) - return getattr(parent_renkan.creator, settings.RENKAN_USER_DISPLAY_FIELD) + return getattr(parent_renkan.creator, RENKAN_USER_DISPLAY_FIELD) def get_related_renkan_creation_date(self, revision): parent_renkan = Renkan.objects.get(renkan_guid = revision.parent_renkan_guid) @@ -150,7 +151,7 @@ class WorkspaceSerializer(serializers.Serializer): id = serializers.ReadOnlyField(source="workspace_guid") - workspace_created_by = serializers.SlugRelatedField(source="creator", slug_field=settings.RENKAN_USER_DISPLAY_FIELD, read_only=True) + workspace_created_by = serializers.SlugRelatedField(source="creator", slug_field=RENKAN_USER_DISPLAY_FIELD, read_only=True) creation_date = serializers.ReadOnlyField() renkan_count = serializers.ReadOnlyField() title = serializers.CharField()