def test_cleanup(self): self.assertEqual( 'ahoj', clean_fullname('ahoj') ) self.assertEqual( 'ahojbar', clean_fullname('ahoj\x00bar') )
def user_full_name(strategy, details, user=None, **kwargs): """Update user full name using data from provider.""" if user and not user.full_name: full_name = details.get('fullname', '').strip() if (not full_name and ('first_name' in details or 'last_name' in details)): first_name = details.get('first_name', '') last_name = details.get('last_name', '') if first_name and first_name not in last_name: full_name = '{0} {1}'.format(first_name, last_name) elif first_name: full_name = first_name else: full_name = last_name if not full_name and 'username' in details: full_name = details['username'] if not full_name and user.username: full_name = user.username full_name = clean_fullname(full_name) # The User model limit is 150 chars if len(full_name) > 150: full_name = full_name[:150] if full_name: user.full_name = full_name strategy.storage.user.changed(user)
def user_full_name(strategy, details, username, user=None, **kwargs): """Update user full name using data from provider.""" if user and not user.full_name: full_name = details.get("fullname", "").strip() if not full_name and ("first_name" in details or "last_name" in details): first_name = details.get("first_name", "") last_name = details.get("last_name", "") if first_name and first_name not in last_name: full_name = "{0} {1}".format(first_name, last_name) elif first_name: full_name = first_name else: full_name = last_name if not full_name and username: full_name = username if not full_name and user.username: full_name = user.username full_name = clean_fullname(full_name) # The User model limit is 150 chars if len(full_name) > FULLNAME_LENGTH: full_name = full_name[:FULLNAME_LENGTH] if full_name: user.full_name = full_name strategy.storage.user.changed(user)
def user_full_name(strategy, details, user=None, **kwargs): """Update user full name using data from provider.""" if user: full_name = details.get('fullname', '').strip() if (not full_name and ('first_name' in details or 'last_name' in details)): first_name = details.get('first_name', '') last_name = details.get('last_name', '') if first_name and first_name not in last_name: full_name = '{0} {1}'.format(first_name, last_name) elif first_name: full_name = first_name else: full_name = last_name full_name = clean_fullname(full_name) # The Django User model limit is 30 chars, this should # be raised if we switch to custom User model if len(full_name) > 30: full_name = full_name[:30] if full_name and full_name != user.first_name: user.first_name = full_name strategy.storage.user.changed(user)
def test_none(self): self.assertIsNone(clean_fullname(None))
def test_whitespace(self): self.assertEqual("ahoj", clean_fullname(" ahoj "))
def test_cleanup(self): self.assertEqual("ahoj", clean_fullname("ahoj")) self.assertEqual("ahojbar", clean_fullname("ahoj\x00bar"))
def test_none(self): self.assertEqual(None, clean_fullname(None))
def test_whitespace(self): self.assertEqual('ahoj', clean_fullname(' ahoj '))
def test_none(self): self.assertEqual( None, clean_fullname(None), )
def test_whitespace(self): self.assertEqual( 'ahoj', clean_fullname(' ahoj ') )
def clean(self, value): value = super(FullNameField, self).clean(value) return clean_fullname(value)