summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--askbot/api.py3
-rw-r--r--askbot/conf/group_settings.py2
-rw-r--r--askbot/models/__init__.py10
-rw-r--r--askbot/models/group.py39
-rw-r--r--askbot/models/post.py4
-rw-r--r--askbot/models/question.py20
-rw-r--r--askbot/models/tag.py1
-rw-r--r--askbot/models/widgets.py2
-rw-r--r--askbot/tests/db_api_tests.py2
-rw-r--r--askbot/views/commands.py2
-rw-r--r--askbot/views/users.py4
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