diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-03-11 22:24:49 -0500 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-03-11 22:24:49 -0500 |
commit | 18318c5fe8dbae1ee50924aa5b8cf7b683d409ee (patch) | |
tree | b17abbf2f2a864dc3e7079ec9abb0333ea245c2e /forum | |
parent | 2ac7ee2433ca2de37aae2a4701bb10dda290d5d3 (diff) | |
download | askbot-18318c5fe8dbae1ee50924aa5b8cf7b683d409ee.tar.gz askbot-18318c5fe8dbae1ee50924aa5b8cf7b683d409ee.tar.bz2 askbot-18318c5fe8dbae1ee50924aa5b8cf7b683d409ee.zip |
fixed circular dependency on models.signals and the question count on import
Diffstat (limited to 'forum')
-rwxr-xr-x | forum/auth.py | 4 | ||||
-rwxr-xr-x | forum/models/__init__.py | 22 | ||||
-rwxr-xr-x | forum/models/question.py | 3 |
3 files changed, 16 insertions, 13 deletions
diff --git a/forum/auth.py b/forum/auth.py index b034cc8d..5d6e71c4 100755 --- a/forum/auth.py +++ b/forum/auth.py @@ -10,8 +10,7 @@ from django.db import transaction from models import Repute from models import Question from models import Answer -#todo: why can't I import these? -#from models import mark_offensive, delete_post_or_answer +from models import mark_offensive, delete_post_or_answer from const import TYPE_REPUTATION import logging @@ -257,7 +256,6 @@ def onFlaggedItem(item, post, user, timestamp=None): mark_by=user ) - @transaction.commit_on_success def onAnswerAccept(answer, user, timestamp=None): if timestamp is None: diff --git a/forum/models/__init__.py b/forum/models/__init__.py index ef591702..ddb21319 100755 --- a/forum/models/__init__.py +++ b/forum/models/__init__.py @@ -8,9 +8,20 @@ import re from base import * import datetime -from forum import auth from django.contrib.contenttypes.models import ContentType +#todo: move to a separate file? +# custom signals +tags_updated = django.dispatch.Signal(providing_args=["question"]) +edit_question_or_answer = django.dispatch.Signal(providing_args=["instance", "modified_by"]) +delete_post_or_answer = django.dispatch.Signal(providing_args=["instance", "deleted_by"]) +mark_offensive = django.dispatch.Signal(providing_args=["instance", "mark_by"]) +user_updated = django.dispatch.Signal(providing_args=["instance", "updated_by"]) +user_logged_in = django.dispatch.Signal(providing_args=["session"]) + +#todo: must go after signals +from forum import auth + # User extend properties QUESTIONS_PER_PAGE_CHOICES = ( (10, u'10'), @@ -72,15 +83,6 @@ User.add_to_class('tag_filter_setting', ) ) -# custom signal -tags_updated = django.dispatch.Signal(providing_args=["question"]) -edit_question_or_answer = django.dispatch.Signal(providing_args=["instance", "modified_by"]) -delete_post_or_answer = django.dispatch.Signal(providing_args=["instance", "deleted_by"]) -mark_offensive = django.dispatch.Signal(providing_args=["instance", "mark_by"]) -user_updated = django.dispatch.Signal(providing_args=["instance", "updated_by"]) -user_logged_in = django.dispatch.Signal(providing_args=["session"]) - - def get_messages(self): messages = [] for m in self.message_set.all(): diff --git a/forum/models/question.py b/forum/models/question.py index f4d4ac2e..68cd5293 100755 --- a/forum/models/question.py +++ b/forum/models/question.py @@ -70,6 +70,9 @@ class QuestionManager(models.Manager): return False + #todo: why not make this into a method of class Question? + # also it is actually strange - why do we need the answer_count + # field if the count depends on who is requesting this? def update_answer_count(self, question): """ Executes an UPDATE query to update denormalised data with the |