summaryrefslogtreecommitdiffstats
path: root/forum
diff options
context:
space:
mode:
Diffstat (limited to 'forum')
-rwxr-xr-xforum/models/answer.py4
-rwxr-xr-xforum/models/base.py3
-rwxr-xr-xforum/models/question.py4
-rwxr-xr-xforum/views/auth.py26
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)