Exemplo n.º 1
0
 def test_cleanup(self):
     self.assertEqual(
         'ahoj',
         clean_fullname('ahoj')
     )
     self.assertEqual(
         'ahojbar',
         clean_fullname('ahoj\x00bar')
     )
Exemplo n.º 2
0
 def test_cleanup(self):
     self.assertEqual(
         'ahoj',
         clean_fullname('ahoj')
     )
     self.assertEqual(
         'ahojbar',
         clean_fullname('ahoj\x00bar')
     )
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
 def test_none(self):
     self.assertIsNone(clean_fullname(None))
Exemplo n.º 9
0
 def test_whitespace(self):
     self.assertEqual("ahoj", clean_fullname(" ahoj "))
Exemplo n.º 10
0
 def test_cleanup(self):
     self.assertEqual("ahoj", clean_fullname("ahoj"))
     self.assertEqual("ahojbar", clean_fullname("ahoj\x00bar"))
Exemplo n.º 11
0
 def test_none(self):
     self.assertEqual(None, clean_fullname(None))
Exemplo n.º 12
0
 def test_whitespace(self):
     self.assertEqual('ahoj', clean_fullname(' ahoj '))
Exemplo n.º 13
0
 def test_none(self):
     self.assertEqual(
         None,
         clean_fullname(None),
     )
Exemplo n.º 14
0
 def test_whitespace(self):
     self.assertEqual(
         'ahoj',
         clean_fullname(' ahoj ')
     )
Exemplo n.º 15
0
 def clean(self, value):
     value = super(FullNameField, self).clean(value)
     return clean_fullname(value)