diff options
-rw-r--r-- | askbot/api.py | 3 | ||||
-rw-r--r-- | askbot/conf/group_settings.py | 2 | ||||
-rw-r--r-- | askbot/models/__init__.py | 10 | ||||
-rw-r--r-- | askbot/models/group.py | 39 | ||||
-rw-r--r-- | askbot/models/post.py | 4 | ||||
-rw-r--r-- | askbot/models/question.py | 20 | ||||
-rw-r--r-- | askbot/models/tag.py | 1 | ||||
-rw-r--r-- | askbot/models/widgets.py | 2 | ||||
-rw-r--r-- | askbot/tests/db_api_tests.py | 2 | ||||
-rw-r--r-- | askbot/views/commands.py | 2 | ||||
-rw-r--r-- | askbot/views/users.py | 4 |
11 files changed, 25 insertions, 64 deletions
diff --git a/askbot/api.py b/askbot/api.py index 52bdab3e..9f37995e 100644 --- a/askbot/api.py +++ b/askbot/api.py @@ -5,9 +5,8 @@ api must become a place to manupulate the data in the askbot application so that other implementations of the data storage could be possible """ from django.db.models import Q - -from askbot import const from askbot import models +from askbot import const def get_info_on_moderation_items(user): """returns a dictionary with diff --git a/askbot/conf/group_settings.py b/askbot/conf/group_settings.py index 75323136..2933b831 100644 --- a/askbot/conf/group_settings.py +++ b/askbot/conf/group_settings.py @@ -20,7 +20,7 @@ settings.register( ) def group_name_update_callback(old_name, new_name): - from askbot.models.group import get_global_group, clean_group_name + from askbot.models.tag import get_global_group, clean_group_name cleaned_new_name = clean_group_name(new_name.strip()) if new_name == '': diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py index 17dc727a..6a957265 100644 --- a/askbot/models/__init__.py +++ b/askbot/models/__init__.py @@ -38,8 +38,10 @@ from askbot.models.question import QuestionView, AnonymousQuestion from askbot.models.question import DraftQuestion from askbot.models.question import FavoriteQuestion from askbot.models.tag import Tag, MarkedTag +from askbot.models.tag import get_global_group +from askbot.models.tag import get_group_names +from askbot.models.tag import get_groups from askbot.models.tag import format_personal_group_name -from askbot.models.group import get_groups, get_global_group from askbot.models.user import EmailFeedSetting, ActivityAuditStatus, Activity from askbot.models.user import AuthUserGroups as GroupMembership from askbot.models.user import Group @@ -3353,6 +3355,7 @@ def add_user_to_global_group(sender, instance, created, **kwargs): ``instance`` is an instance of ``User`` class """ if created: + from askbot.models.tag import get_global_group instance.edit_group_membership( group=get_global_group(), user=instance, @@ -3500,7 +3503,6 @@ signals.post_updated.connect(record_post_update_activity) signals.post_revision_published.connect(notify_author_of_published_revision) signals.site_visited.connect(record_user_visit) - __all__ = [ 'signals', @@ -3539,6 +3541,6 @@ __all__ = [ 'get_model', 'get_admins_and_moderators', - 'get_groups', - 'get_global_group', + 'get_group_names', + 'get_groups' ] diff --git a/askbot/models/group.py b/askbot/models/group.py deleted file mode 100644 index 768b19bb..00000000 --- a/askbot/models/group.py +++ /dev/null @@ -1,39 +0,0 @@ -import re -from askbot.models.tag import Tag -from askbot.conf import settings as askbot_settings - -def get_global_group(): - """Returns the global group, - if necessary, creates one - """ - #todo: when groups are disconnected from tags, - #find comment as shown below in the test cases and - #revert the values - #todo: change groups to django groups - group_name = askbot_settings.GLOBAL_GROUP_NAME - try: - return Tag.group_tags.get(name=group_name) - except Tag.DoesNotExist: - from askbot.models import get_admin - return Tag.group_tags.get_or_create( - group_name=group_name, - user=get_admin(), - is_open=False - ) - -def get_groups(): - return Tag.group_tags.get_all() - -def get_group_names(): - #todo: cache me - return get_groups().values_list('name', flat = True) - -def get_group_manager(): - #This will be the place to replace with the new model - return Tag.group_tags - -def clean_group_name(name): - """group names allow spaces, - tag names do not, so we use this method - to replace spaces with dashes""" - return re.sub('\s+', '-', name.strip()) diff --git a/askbot/models/post.py b/askbot/models/post.py index 3f979059..ddb87698 100644 --- a/askbot/models/post.py +++ b/askbot/models/post.py @@ -29,8 +29,8 @@ from askbot.models.user import EmailFeedSetting from askbot.models.user import Group from askbot.models.user import AuthUserGroups as GroupMembership from askbot.models.tag import Tag, MarkedTag -from askbot.models.tag import tags_match_some_wildcard -from askbot.models.group import get_groups, get_global_group +from askbot.models.tag import get_groups, tags_match_some_wildcard +from askbot.models.tag import get_global_group from askbot.conf import settings as askbot_settings from askbot import exceptions from askbot.utils import markup diff --git a/askbot/models/question.py b/askbot/models/question.py index 6261cb17..c30d7089 100644 --- a/askbot/models/question.py +++ b/askbot/models/question.py @@ -16,13 +16,13 @@ from askbot.conf import settings as askbot_settings from askbot import mail from askbot.mail import messages from askbot.models.tag import Tag -from askbot.models.group import get_global_group -from askbot.models.group import get_groups +from askbot.models.tag import get_groups +from askbot.models.tag import get_global_group from askbot.models.tag import get_tags_by_names from askbot.models.tag import filter_accepted_tags, filter_suggested_tags from askbot.models.tag import delete_tags, separate_unused_tags from askbot.models.base import DraftContent, BaseQuerySetManager -from askbot.models.tag import Tag +from askbot.models.tag import Tag, get_groups from askbot.models.post import Post, PostRevision from askbot.models.post import PostToGroup from askbot.models.user import Group @@ -198,7 +198,7 @@ class ThreadManager(BaseQuerySetManager): # TODO: add a possibility to see deleted questions qs = self.filter( - posts__post_type='question', + posts__post_type='question', posts__deleted=False ) # (***) brings `askbot_post` into the SQL query, see the ordering section below @@ -236,7 +236,7 @@ class ThreadManager(BaseQuerySetManager): ) # TODO: unify with search_state.author ? #unified tags - is list of tags taken from the tag selection - #plus any tags added to the query string with #tag or [tag:something] + #plus any tags added to the query string with #tag or [tag:something] #syntax. #run tag search in addition to these unified tags meta_data = {} @@ -477,7 +477,7 @@ class Thread(models.Model): score = models.IntegerField(default = 0) objects = ThreadManager() - + class Meta: app_label = 'askbot' @@ -671,7 +671,7 @@ class Thread(models.Model): return 'thread-data-%s-%s' % (self.id, sort_method) def invalidate_cached_post_data(self): - """needs to be called when anything notable + """needs to be called when anything notable changes in the post data - on votes, adding, deleting, editing content""" #we can call delete_many() here if using Django > 1.2 @@ -831,8 +831,8 @@ class Thread(models.Model): url = question_post.get_absolute_url() title = thread.get_title(question_post) result.append({'url': url, 'title': title}) - - return result + + return result def get_cached_data(): """similar thread data will expire @@ -867,7 +867,7 @@ class Thread(models.Model): return False def add_child_posts_to_groups(self, groups): - """adds questions and answers of the thread to + """adds questions and answers of the thread to given groups, comments are taken care of implicitly by the underlying ``Post`` methods """ diff --git a/askbot/models/tag.py b/askbot/models/tag.py index 2f2cf1fd..da2aa59d 100644 --- a/askbot/models/tag.py +++ b/askbot/models/tag.py @@ -284,7 +284,6 @@ def clean_group_name(name): to replace spaces with dashes""" return re.sub('\s+', '-', name.strip()) - class Tag(models.Model): #a couple of status constants STATUS_SUGGESTED = 0 diff --git a/askbot/models/widgets.py b/askbot/models/widgets.py index 9fca9220..44f874f8 100644 --- a/askbot/models/widgets.py +++ b/askbot/models/widgets.py @@ -3,7 +3,7 @@ from django.contrib.auth.models import User from django.utils.translation import ugettext as _ from askbot.conf import settings as askbot_settings from askbot.models import Tag -from askbot.models.group import get_groups +from askbot.models.tag import get_groups from askbot.forms import FormWithHideableFields, TagNamesField from askbot.conf import settings as askbot_settings from django import forms diff --git a/askbot/tests/db_api_tests.py b/askbot/tests/db_api_tests.py index fa78c140..b94e41a8 100644 --- a/askbot/tests/db_api_tests.py +++ b/askbot/tests/db_api_tests.py @@ -13,7 +13,7 @@ from askbot.tests.utils import AskbotTestCase from askbot import models from askbot import const from askbot.conf import settings as askbot_settings -from askbot.models.group import get_global_group +from askbot.models.tag import get_global_group import datetime class DBApiTests(AskbotTestCase): diff --git a/askbot/views/commands.py b/askbot/views/commands.py index 8914530f..80d75445 100644 --- a/askbot/views/commands.py +++ b/askbot/views/commands.py @@ -25,7 +25,7 @@ from askbot import models from askbot import forms from askbot.conf import should_show_sort_by_relevance from askbot.conf import settings as askbot_settings -from askbot.models.group import get_global_group +from askbot.models.tag import get_global_group from askbot.utils import category_tree from askbot.utils import decorators from askbot.utils import url_utils diff --git a/askbot/views/users.py b/askbot/views/users.py index 6a335d2f..d76712e6 100644 --- a/askbot/views/users.py +++ b/askbot/views/users.py @@ -37,8 +37,8 @@ from askbot.conf import settings as askbot_settings from askbot import models from askbot import exceptions from askbot.models.badges import award_badges_signal -from askbot.models.group import get_global_group, get_groups -from askbot.models.group import get_group_manager +from askbot.models.tag import get_global_group +from askbot.models.tag import get_groups from askbot.skins.loaders import render_into_skin from askbot.search.state_manager import SearchState from askbot.utils import url_utils |