vgarvardt / django-loginza

Django application for Loginza service
http://loginza.ru
38 stars 17 forks source link

loginza_auth_handler - невозможно сохранить любые изминения в User #14

Open gsvster opened 12 years ago

gsvster commented 12 years ago

Нужно сохранить имя юзера ФБ в табличку с системными юзерами. И после обработки сигнала что-то отменяет все правки. В месте ексепшена видно что все сохранилось.

    def loginza_auth_handler(sender, user, identity, **kwargs):
        try:
            map = loginza_models.UserMap.objects.get(user=user)
            data = json.loads(map.identity.data)
            system_user = User.objects.get(username=user)

            if data['provider'] == "http://www.facebook.com/":
                if not system_user.first_name and data['name']['first_name']:
                    system_user.first_name = data['name']['first_name']
                if not system_user.last_name and data['name']['last_name']:
                    system_user.last_name = data['name']['last_name']
            system_user.save()
            #eee = User.objects.get(username=system_user.username)
            #raise Exception(eee.first_name) # сдесь показывает, то сохранение выполнилось успешно
            auth.login(sender, user)
            ....