Created
November 9, 2011 11:24
-
-
Save zvictor/1351169 to your computer and use it in GitHub Desktop.
An example how to connect userena with django-social registration.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from socialregistration.signals import connect as profile_connect | |
from userena.managers import ASSIGNED_PERMISSIONS | |
@receiver(socialregistration_signals.connect, sender = FacebookProfile, dispatch_uid = 'facebook.connect') | |
def social_connect_callback(sender, user, profile, client, **kwargs): | |
""" | |
Create a profile for this user after connecting | |
""" | |
# Create a userena user. | |
# TODO: You could make it prettier by setting a ``activation_key`` of ``ALREADY_ACTIVATED`` | |
# and looking at good values for the other fields of the model. | |
userenaSignup = UserenaSignup.objects.get_or_create(user=user) | |
# Create profile for user | |
try: | |
new_profile = Profile.objects.get(user=user) | |
except: | |
new_profile = Profile.objects.create(user=user) | |
# Give permissions to view and change profile | |
for perm in ASSIGNED_PERMISSIONS['profile']: | |
assign(perm[0], user, new_profile) | |
# Give permissions to view and change itself | |
for perm in ASSIGNED_PERMISSIONS['user']: | |
assign(perm[0], user, user) |
Maybe its not missing in the django-social but you need to implemented it by yourself. example in django-social-auth the last name, first name is default populated in the auth_user table. also profile picture can easily be put to mugshot field in userena.
I tried this before, but got tired. None is enough good.
I am really thinking about remove it before launch my website to avoid headaches.
what is the assign function here? or where it is?
use this instead as assign is deprecated:
from guardian.shortcuts import assign_perm
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I understand, but what features do you miss?