correct admin.
authorymh <ymh.work@gmail.com>
Mon, 15 Oct 2012 23:48:01 +0200
changeset 854 e4be64dd42af
parent 853 ca39a8cf816f
child 855 f9bd3988ada5
correct admin. Do not inline the profile editing form when adding a new User
src/ldt/ldt/user/admin.py
src/ldt/ldt/user/models.py
--- a/src/ldt/ldt/user/admin.py	Mon Oct 15 10:34:10 2012 +0200
+++ b/src/ldt/ldt/user/admin.py	Mon Oct 15 23:48:01 2012 +0200
@@ -17,7 +17,14 @@
     model = UserProfile
     
 class UserProfileAdmin(UserAdmin):
-    inlines = [UserProfileInline, ]
+    def add_view(self, *args, **kwargs):
+        self.inlines = []
+        return super(UserProfileAdmin, self).add_view(*args, **kwargs)
+    
+    def change_view(self, *args, **kwargs):
+        self.inlines = [UserProfileInline]
+        return super(UserAdmin, self).change_view(*args, **kwargs)
+
 
 class LdtAdmin(UserProfileAdmin):    
     list_display = ('username', 'email', 'first_name', 'last_name')
--- a/src/ldt/ldt/user/models.py	Mon Oct 15 10:34:10 2012 +0200
+++ b/src/ldt/ldt/user/models.py	Mon Oct 15 23:48:01 2012 +0200
@@ -40,7 +40,7 @@
     @staticmethod
     def create_user_profile(sender, instance, created, **kwargs):
         if created:
-            UserProfile.objects.create(user=instance)
+            UserProfile.objects.get_or_create(user=instance)
             everyone, _ = Group.objects.get_or_create(name=settings.PUBLIC_GROUP_NAME)
             instance.groups.add(everyone)