diff --git a/polynum/base/backends.py b/polynum/base/backends.py index 561c0b5..9364fd8 100644 --- a/polynum/base/backends.py +++ b/polynum/base/backends.py @@ -110,10 +110,13 @@ class CASBackend(PolynumBackendMixin, CASBackend): attributes = self.ldap_attributes_to_unicode(r[0][1]) for key in attributes: value = attributes[key][0] - setattr(user, key, value) if key in self.USER_ATTRIBUTES: + max_length = User._meta.get_field(self.USER_ATTRIBUTES[key]).max_length + value = value[:max_length] setattr(user, self.USER_ATTRIBUTES[key], value) if key in self.PROFILE_ATTRIBUTES: + max_length = PolynumProfile._meta.get_field(self.PROFILE_ATTRIBUTES[key]).max_length + value = value[:max_length] setattr(profile, self.PROFILE_ATTRIBUTES[key], value) profile.save() return user