diff --git a/djangoldp/models.py b/djangoldp/models.py index c61278ba3841360858098e870917bf00e970b66b..08452c91dbdbbac178b25d00503f270293f0b1a3 100644 --- a/djangoldp/models.py +++ b/djangoldp/models.py @@ -1,4 +1,5 @@ import validators +from urllib.parse import urlparse from django.conf import settings from django.contrib.auth import get_user_model from django.db import models @@ -196,5 +197,7 @@ if 'djangoldp_account' not in settings.DJANGOLDP_PACKAGES: webid = '{0}{1}'.format(settings.BASE_URL, reverse_lazy('user-detail', kwargs={'pk': self.pk})) return webid - get_user_model()._meta.serializer_fields = ['@id'] + if get_user_model()._meta.serializer_fields is None: + get_user_model()._meta.serializer_fields = [] + get_user_model()._meta.serializer_fields.append('@id') get_user_model().webid = webid diff --git a/djangoldp/tests/models.py b/djangoldp/tests/models.py index 01f74515ed9bcbbfa35ff1962d969ed4caff5f7f..50c53b75072a0a3e84c8858a59b3a6c00415568d 100644 --- a/djangoldp/tests/models.py +++ b/djangoldp/tests/models.py @@ -1,11 +1,21 @@ from django.conf import settings -from django.contrib.auth import get_user_model +from django.contrib.auth.models import AbstractUser from django.db import models from django.utils.datetime_safe import date from djangoldp.models import Model +class User(AbstractUser, Model): + + class Meta(AbstractUser.Meta, Model.Meta): + serializer_fields = ['@id', 'username', 'first_name', 'last_name', 'email', 'userprofile', + 'conversation_set', 'circle_set'] + anonymous_perms = ['view', 'add'] + authenticated_perms = ['inherit', 'change'] + owner_perms = ['inherit'] + + class Skill(Model): title = models.CharField(max_length=255, blank=True, null=True) obligatoire = models.CharField(max_length=255) @@ -183,7 +193,3 @@ class Circle(Model): authenticated_perms = ["inherit"] rdf_type = 'hd:circle' depth = 1 - -get_user_model()._meta.serializer_fields = ['@id', 'username', 'first_name', 'last_name', 'email', 'userprofile', - 'conversation_set', 'circle_set'] -get_user_model()._meta.anonymous_perms = ['view', 'add'] diff --git a/djangoldp/tests/runner.py b/djangoldp/tests/runner.py index 7416c711b8f00eea72777b7263f5c478316c760d..12162f6ca6982d39eaed40ec630d3a340d34de19 100644 --- a/djangoldp/tests/runner.py +++ b/djangoldp/tests/runner.py @@ -36,6 +36,7 @@ settings.configure(DEBUG=False, "control": "acl:Control" } }, + AUTH_USER_MODEL='tests.User', AUTHENTICATION_BACKENDS=( 'django.contrib.auth.backends.ModelBackend', 'guardian.backends.ObjectPermissionBackend'), ROOT_URLCONF='djangoldp.urls',