diff options
Diffstat (limited to 'forum')
-rwxr-xr-x | forum/models/answer.py | 4 | ||||
-rwxr-xr-x | forum/models/base.py | 3 | ||||
-rwxr-xr-x | forum/models/question.py | 4 | ||||
-rwxr-xr-x | forum/views/auth.py | 26 |
4 files changed, 21 insertions, 16 deletions
diff --git a/forum/models/answer.py b/forum/models/answer.py index 9d11bb5f..8f44108f 100755 --- a/forum/models/answer.py +++ b/forum/models/answer.py @@ -3,7 +3,7 @@ from base import * from question import Question class AnswerManager(models.Manager): - def create_new(cls, question=None, author=None, added_at=None, wiki=False, text='', email_notify=False): + def create_new(self, question=None, author=None, added_at=None, wiki=False, text='', email_notify=False): answer = Answer( question = question, author = author, @@ -127,7 +127,7 @@ class AnonymousAnswer(AnonymousContent): def publish(self,user): added_at = datetime.datetime.now() #print user.id - AnswerManager.create_new(question=self.question,wiki=self.wiki, + Answer.objects.create_new(question=self.question,wiki=self.wiki, added_at=added_at,text=self.text, author=user) self.delete() diff --git a/forum/models/base.py b/forum/models/base.py index 44fa6e66..657f1e2f 100755 --- a/forum/models/base.py +++ b/forum/models/base.py @@ -17,9 +17,6 @@ import django.dispatch from django.conf import settings import logging -if settings.USE_SPHINX_SEARCH == True: - from djangosphinx.models import SphinxSearch - from forum.const import * class MetaContent(models.Model): diff --git a/forum/models/question.py b/forum/models/question.py index ea26cace..1c2cf749 100755 --- a/forum/models/question.py +++ b/forum/models/question.py @@ -2,7 +2,7 @@ from base import * from tag import Tag class QuestionManager(models.Manager): - def create_new(cls, title=None,author=None,added_at=None, wiki=False,tagnames=None,summary=None, text=None): + def create_new(self, title=None,author=None,added_at=None, wiki=False,tagnames=None,summary=None, text=None): question = Question( title = title, author = author, @@ -327,7 +327,7 @@ class AnonymousQuestion(AnonymousContent): def publish(self,user): added_at = datetime.datetime.now() - QuestionManager.create_new(title=self.title, author=user, added_at=added_at, + Question.objects.create_new(title=self.title, author=user, added_at=added_at, wiki=self.wiki, tagnames=self.tagnames, summary=self.summary, text=self.text) self.delete() diff --git a/forum/views/auth.py b/forum/views/auth.py index cf27f1bb..6fe184a8 100755 --- a/forum/views/auth.py +++ b/forum/views/auth.py @@ -23,6 +23,7 @@ def signin_page(request, action=None): request.session['on_signin_url'] = request.META.get('HTTP_REFERER', '/') else: request.session['on_signin_action'] = action + request.session['on_signin_url'] = reverse('auth_action_signin', kwargs={'action': action}) all_providers = [provider.context for provider in AUTH_PROVIDERS.values()] @@ -130,6 +131,13 @@ def external_register(request): user_.set_unusable_password() + try: + assoc_key = request.session['assoc_key'] + auth_provider = request.session['auth_provider'] + except: + request.session['auth_error'] = _("Oops, something went wrong in the middle of this process. Please try again.") + return HttpResponseRedirect(request.session.get('on_signin_url', reverse('auth_signin'))) + uassoc = AuthKeyUserAssociation(user=user_, key=request.session['assoc_key'], provider=request.session['auth_provider']) uassoc.save() @@ -186,17 +194,17 @@ def login_and_forward(request, user): from forum.models import user_logged_in user_logged_in.send(user=user,session_key=old_session,sender=None) - redirect = request.session.get('on_signin_url', None) + signin_action = request.session.get('on_signin_action', None) + if not signin_action: + redirect = request.session.get('on_signin_url', None) - if not redirect: - signin_action = request.session.get('on_signin_action', None) - if not signin_action: + if not redirect: + redirect = reverse('index') + else: + try: + redirect = POST_SIGNIN_ACTIONS[signin_action](user) + except: redirect = reverse('index') - else: - try: - redirect = POST_SIGNIN_ACTIONS[signin_action](user) - except: - redirect = reverse('index') return HttpResponseRedirect(redirect) |