Commits

Anonymous committed d001c5d

Experimental support for creating a custom auth profile instance during registration

Comments (0)

Files changed (1)

registration/models.py

         # And finally create the profile.
         new_profile = self.create(user=new_user,
                                   activation_key=activation_key)
+
+        # Experimental: create an instance of the model specified
+        # in AUTH_PROFILE_MODULE, if any.
+        #
+        # First draft implementation here relies on an additional
+        # setting -- DEFAULT_AUTH_PROFILE_VALUES -- which must be
+        # a dictionary matching field names and default values for
+        # all non-nullable fields on the custom profile model.
+        #
+        # Because both of those settings are needed, we only try
+        # this when both are present.
+        if hasattr(settings, 'AUTH_PROFILE_MODULE') and hasattr(settings, 'DEFAULT_AUTH_PROFILE_VALUES'):
+            auth_profile_mod = models.get_model(*settings.AUTH_PROFILE_MODULE.split('.'))
+            new_auth_profile = auth_profile_mod._default_manager.create(**settings.DEFAULT_AUTH_PROFILE_VALUES)
         
         if send_email:
             from django.core.mail import send_mail
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.