1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
"""functions, preparing parts of context for
the templates in the various views"""
from django.conf import settings as django_settings
from django.utils import simplejson
from django.utils.translation import ugettext as _
from askbot.conf import settings as askbot_settings
from askbot import const
from askbot.const import message_keys as msg
from askbot.models import GroupMembership
from askbot.utils.loading import load_module
def get_for_tag_editor():
#data for the tag editor
data = {
'tag_regex': const.TAG_REGEX,
'tags_are_required': askbot_settings.TAGS_ARE_REQUIRED,
'max_tags_per_post': askbot_settings.MAX_TAGS_PER_POST,
'max_tag_length': askbot_settings.MAX_TAG_LENGTH,
'force_lowercase_tags': askbot_settings.FORCE_LOWERCASE_TAGS,
'messages': {
'required': _(msg.TAGS_ARE_REQUIRED_MESSAGE),
'wrong_chars': _(msg.TAG_WRONG_CHARS_MESSAGE)
}
}
return {'tag_editor_settings': simplejson.dumps(data)}
def get_for_inbox(user):
"""adds response counts of various types"""
if user.is_anonymous():
return None
#get flags count
flag_activity_types = (const.TYPE_ACTIVITY_MARK_OFFENSIVE,)
if askbot_settings.ENABLE_CONTENT_MODERATION:
flag_activity_types += (
const.TYPE_ACTIVITY_MODERATED_NEW_POST,
const.TYPE_ACTIVITY_MODERATED_POST_EDIT
)
#get group_join_requests_count
group_join_requests_count = 0
if user.is_administrator_or_moderator():
pending_memberships = GroupMembership.objects.filter(
group__in=user.get_groups(),
level=GroupMembership.PENDING
)
group_join_requests_count = pending_memberships.count()
return {
're_count': user.new_response_count + user.seen_response_count,
'flags_count': user.get_notifications(flag_activity_types).count(),
'group_join_requests_count': group_join_requests_count
}
def get_extra(context_module_setting, request, data):
extra_context = getattr(django_settings, context_module_setting, None)
if extra_context:
extra_context_getter = load_module(extra_context)
return extra_context_getter(request, data)
return {}
|