summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--askbot/forms.py2
-rw-r--r--askbot/models/__init__.py15
2 files changed, 9 insertions, 8 deletions
diff --git a/askbot/forms.py b/askbot/forms.py
index 64337883..ecf86717 100644
--- a/askbot/forms.py
+++ b/askbot/forms.py
@@ -757,7 +757,7 @@ class PostAsSomeoneForm(forms.Form):
username = self.cleaned_data['post_author_username']
email= self.cleaned_data['post_author_email']
if user.is_administrator() and username and email:
- post_user = user.get_or_create_user(username, email)
+ post_user = user.get_or_create_fake_user(username, email)
else:
post_user = user
return post_user
diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py
index 3fd78ee9..df242967 100644
--- a/askbot/models/__init__.py
+++ b/askbot/models/__init__.py
@@ -344,7 +344,7 @@ def user_can_post_by_email(self):
return askbot_settings.REPLY_BY_EMAIL and \
self.reputation > askbot_settings.MIN_REP_TO_POST_BY_EMAIL
-def user_get_or_create_user(self, username, email):
+def user_get_or_create_fake_user(self, username, email):
"""
Get's or creates a user, most likely with the purpose
of posting under that account.
@@ -354,11 +354,12 @@ def user_get_or_create_user(self, username, email):
try:
user = User.objects.get(username=username)
except User.DoesNotExist:
- user = User.objects.create_user(
- username=username,
- email=email,
- is_fake=True
- )
+ user = User()
+ user.username = username
+ user.email = email
+ user.is_fake = True
+ user.set_unusable_password()
+ user.save()
return user
def _assert_user_can(
@@ -2534,7 +2535,7 @@ User.add_to_class('get_absolute_url', user_get_absolute_url)
User.add_to_class('get_avatar_url', user_get_avatar_url)
User.add_to_class('get_default_avatar_url', user_get_default_avatar_url)
User.add_to_class('get_gravatar_url', user_get_gravatar_url)
-User.add_to_class('get_or_create_user', user_get_or_create_user)
+User.add_to_class('get_or_create_fake_user', user_get_or_create_fake_user)
User.add_to_class('get_marked_tags', user_get_marked_tags)
User.add_to_class('get_marked_tag_names', user_get_marked_tag_names)
User.add_to_class('strip_email_signature', user_strip_email_signature)