summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-05-09 00:57:43 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-05-09 00:57:43 -0400
commit5ec0ae6635bc9ece491c23b18507f2a558ce14e5 (patch)
tree3aa0948fea48310ddae4957547adc1804e13f21a
parent248ceb476de4f5504c1b8a5d0017223889690201 (diff)
downloadaskbot-5ec0ae6635bc9ece491c23b18507f2a558ce14e5.tar.gz
askbot-5ec0ae6635bc9ece491c23b18507f2a558ce14e5.tar.bz2
askbot-5ec0ae6635bc9ece491c23b18507f2a558ce14e5.zip
broken commit. will transfer last bits of settings to livesettings tomorrow
-rw-r--r--django_authopenid/views.py2
-rw-r--r--fbconnect/fb.py16
-rw-r--r--fbconnect/urls.py10
-rw-r--r--forum/conf/README (renamed from forum/models/conf/README)0
-rw-r--r--forum/conf/__init__.py12
-rw-r--r--forum/conf/email.py (renamed from forum/models/conf/email.py)7
-rw-r--r--forum/conf/external_keys.py (renamed from forum/models/conf/external_keys.py)15
-rw-r--r--forum/conf/flatpages.py (renamed from forum/models/conf/flatpages.py)5
-rw-r--r--forum/conf/forum_data_rules.py (renamed from forum/models/conf/forum_data_rules.py)0
-rw-r--r--forum/conf/minimum_reputation.py (renamed from forum/models/conf/minimum_reputation.py)0
-rw-r--r--forum/conf/reputation_changes.py (renamed from forum/models/conf/reputation_changes.py)0
-rw-r--r--forum/conf/settings_wrapper.py (renamed from forum/models/conf/settings_wrapper.py)0
-rw-r--r--forum/conf/site_settings.py (renamed from forum/models/conf/site_settings.py)14
-rw-r--r--forum/conf/skin_counter_settings.py24
-rw-r--r--forum/conf/skin_general_settings.py3
-rw-r--r--forum/conf/user_settings.py2
-rw-r--r--forum/conf/vote_rules.py (renamed from forum/models/conf/vote_rules.py)0
-rw-r--r--forum/context.py2
-rw-r--r--forum/feed.py2
-rw-r--r--forum/middleware/anon_user.py3
-rw-r--r--forum/models/conf/__init__.py62
-rwxr-xr-xforum/skins/default/templates/fbconnect/xd_receiver.html2
-rw-r--r--livesettings/templatetags/config_tags.py2
23 files changed, 91 insertions, 92 deletions
diff --git a/django_authopenid/views.py b/django_authopenid/views.py
index c12017b2..0212955c 100644
--- a/django_authopenid/views.py
+++ b/django_authopenid/views.py
@@ -365,7 +365,7 @@ def signin(request,newquestion=False,newanswer=False):
'form2': form_signin,
'msg': request.GET.get('msg',''),
'sendpw_url': reverse('user_sendpw'),
- 'fb_api_key': settings.FB_API_KEY,
+ 'fb_api_key': forum_settings.FB_API_KEY,
}, context_instance=RequestContext(request))
def complete_signin(request):
diff --git a/fbconnect/fb.py b/fbconnect/fb.py
index afcd8210..8d41c3a2 100644
--- a/fbconnect/fb.py
+++ b/fbconnect/fb.py
@@ -1,4 +1,4 @@
-from django.conf import settings
+from forum.conf import settings as forum_settings
from time import time
from datetime import datetime
from urllib import urlopen, urlencode
@@ -20,11 +20,11 @@ def generate_sig(values):
for key in sorted(values.keys()):
keys.append(key)
- signature = ''.join(['%s=%s' % (key, values[key]) for key in keys]) + settings.FB_SECRET
+ signature = ''.join(['%s=%s' % (key, values[key]) for key in keys]) + forum_settings.FB_SECRET
return hashlib.md5(signature).hexdigest()
def check_cookies_signature(cookies):
- API_KEY = settings.FB_API_KEY
+ API_KEY = forum_settings.FB_API_KEY
values = {}
@@ -37,10 +37,10 @@ def check_cookies_signature(cookies):
def get_user_data(cookies):
request_data = {
'method': 'Users.getInfo',
- 'api_key': settings.FB_API_KEY,
+ 'api_key': forum_settings.FB_API_KEY,
'call_id': time(),
'v': '1.0',
- 'uids': cookies[settings.FB_API_KEY + '_user'],
+ 'uids': cookies[forum_settings.FB_API_KEY + '_user'],
'fields': 'name,first_name,last_name',
'format': 'json',
}
@@ -52,7 +52,7 @@ def get_user_data(cookies):
def delete_cookies(response):
- API_KEY = settings.FB_API_KEY
+ API_KEY = forum_settings.FB_API_KEY
response.delete_cookie(API_KEY + '_user')
response.delete_cookie(API_KEY + '_session_key')
@@ -62,7 +62,7 @@ def delete_cookies(response):
response.delete_cookie('fbsetting_' + API_KEY)
def check_session_expiry(cookies):
- return datetime.fromtimestamp(float(cookies[settings.FB_API_KEY+'_expires'])) > datetime.now()
+ return datetime.fromtimestamp(float(cookies[forum_settings.FB_API_KEY+'_expires'])) > datetime.now()
STATES = {
'FIRSTTIMER': 1,
@@ -72,7 +72,7 @@ STATES = {
}
def get_user_state(request):
- API_KEY = settings.FB_API_KEY
+ API_KEY = forum_settings.FB_API_KEY
logging.debug('')
if API_KEY in request.COOKIES:
diff --git a/fbconnect/urls.py b/fbconnect/urls.py
index bf2d4364..81b0cb0f 100644
--- a/fbconnect/urls.py
+++ b/fbconnect/urls.py
@@ -1,13 +1,15 @@
from django.conf.urls.defaults import *
from django.utils.translation import ugettext as _
from django.views.generic.simple import direct_to_template
-from django.conf import settings
from views import signin, register
urlpatterns = patterns('',
- url(r'^xd_receiver$', direct_to_template, {'template': 'fbconnect/xd_receiver.html',\
- 'extra_context': {'APP_SHORT_NAME':settings.APP_SHORT_NAME}},\
- name='xd_receiver'),
+ url(
+ r'^xd_receiver$',
+ direct_to_template,
+ {'template': 'fbconnect/xd_receiver.html',},
+ name='xd_receiver'
+ ),
url(r'^%s$' % _('signin/'), signin, name="fb_signin"),
url(r'^%s%s$' % (_('signin/'), _('newquestion/')), signin, {'newquestion': True}, name="fb_signin_new_question"),
diff --git a/forum/models/conf/README b/forum/conf/README
index 4dd62329..4dd62329 100644
--- a/forum/models/conf/README
+++ b/forum/conf/README
diff --git a/forum/conf/__init__.py b/forum/conf/__init__.py
new file mode 100644
index 00000000..0c0c3b1a
--- /dev/null
+++ b/forum/conf/__init__.py
@@ -0,0 +1,12 @@
+#import these to compile code and install values
+import forum.conf.minimum_reputation
+import forum.conf.vote_rules
+import forum.conf.reputation_changes
+import forum.conf.email
+import forum.conf.forum_data_rules
+import forum.conf.flatpages
+import forum.conf.site_settings
+import forum.conf.external_keys
+
+#import main settings object
+from forum.conf.settings_wrapper import settings
diff --git a/forum/models/conf/email.py b/forum/conf/email.py
index ca66d4ae..702a2a67 100644
--- a/forum/models/conf/email.py
+++ b/forum/conf/email.py
@@ -18,3 +18,10 @@ settings.register(
description=_('Maximum number of news entries in an email alert')
)
)
+
+#todo: move email.py email_settings.py?
+
+EMAIL_VALIDATION = 'off' #string - on|off
+EMAIL_UNIQUE = False
+ANONYMOUS_USER_EMAIL = 'anonymous@askbot.org'
+
diff --git a/forum/models/conf/external_keys.py b/forum/conf/external_keys.py
index 5d0d47e4..b92fa493 100644
--- a/forum/models/conf/external_keys.py
+++ b/forum/conf/external_keys.py
@@ -2,8 +2,9 @@
External service key settings
"""
from forum.conf.settings_wrapper import settings
-from livesettings import ConfigurationGroup, IntegerValue
+from livesettings import ConfigurationGroup, StringValue
from django.utils.translation import ugettext as _
+from django.conf import settings as django_settings
EXTERNAL_KEYS = ConfigurationGroup(
'EXTERNAL_KEYS',
@@ -32,7 +33,7 @@ settings.register(
'GOOGLE_ANALYTICS_KEY',
description=_('Google Analytics key'),
help_text=_(
- 'Obtain is at <a href="%(ga_site)s>'
+ 'Obtain is at <a href="%(ga_site)s">'
'Google Analytics</a> site, if you '
'wish to use Google Analytics to monitor '
'your site'
@@ -43,9 +44,9 @@ settings.register(
settings.register(
StringValue(
- EXERNAL_KEYS,
- 'RECAPTCHA_PRIVATE_KEY'
- description=_('Recaptcha private key') + ' - does not work yet'),
+ EXTERNAL_KEYS,
+ 'RECAPTCHA_PRIVATE_KEY',
+ description=_('Recaptcha private key') + ' - does not work yet',
help_text=_(
'Recaptcha is a tool that helps distinguish '
'real people from annoying spam robots. '
@@ -59,7 +60,7 @@ settings.register(
StringValue(
EXTERNAL_KEYS,
'RECAPTCHA_PUBLIC_KEY',
- description=_('Recaptcha public key') + ' - does not work yet')
+ description=_('Recaptcha public key') + ' - does not work yet'
)
)
@@ -72,7 +73,7 @@ settings.register(
'Facebook API key and Facebook secret '
'allow to use Facebook Connect login method '
'at your site. Please obtain these keys '
- 'at <a href="http://www.facebook.com/developers/createapp.php>'
+ 'at <a href="http://www.facebook.com/developers/createapp.php">'
'facebook create app</a> site'
)
)
diff --git a/forum/models/conf/flatpages.py b/forum/conf/flatpages.py
index acbf9951..6544f9e3 100644
--- a/forum/models/conf/flatpages.py
+++ b/forum/conf/flatpages.py
@@ -4,7 +4,6 @@ Q&A forum flatpages (about, etc.)
from forum.conf.settings_wrapper import settings
from livesettings import ConfigurationGroup, LongStringValue
from django.utils.translation import ugettext as _
-from django.core.urlresolvers import reverse
FLATPAGES = ConfigurationGroup(
'FLATPAGES',
@@ -20,7 +19,7 @@ settings.register(
_(
'Save, then <a href="http://validator.w3.org/check?uri=%(url)s">'
'validate HTML</a>'
- ) % {'url':reverse('about')}
+ ) % {'url':_('about/')}
)
)
@@ -33,6 +32,6 @@ settings.register(
_(
'Save, then <a href="http://validator.w3.org/check?uri=%(url)s">'
'validate HTML</a>'
- ) % {'url':reverse('privacy')}
+ ) % {'url':_('privacy/')}
)
)
diff --git a/forum/models/conf/forum_data_rules.py b/forum/conf/forum_data_rules.py
index fcce0987..fcce0987 100644
--- a/forum/models/conf/forum_data_rules.py
+++ b/forum/conf/forum_data_rules.py
diff --git a/forum/models/conf/minimum_reputation.py b/forum/conf/minimum_reputation.py
index a83d94fd..a83d94fd 100644
--- a/forum/models/conf/minimum_reputation.py
+++ b/forum/conf/minimum_reputation.py
diff --git a/forum/models/conf/reputation_changes.py b/forum/conf/reputation_changes.py
index cef177f5..cef177f5 100644
--- a/forum/models/conf/reputation_changes.py
+++ b/forum/conf/reputation_changes.py
diff --git a/forum/models/conf/settings_wrapper.py b/forum/conf/settings_wrapper.py
index abf49e5f..abf49e5f 100644
--- a/forum/models/conf/settings_wrapper.py
+++ b/forum/conf/settings_wrapper.py
diff --git a/forum/models/conf/site_settings.py b/forum/conf/site_settings.py
index e3eb2023..b6f7f0ab 100644
--- a/forum/models/conf/site_settings.py
+++ b/forum/conf/site_settings.py
@@ -7,7 +7,6 @@ from livesettings import ConfigurationGroup, StringValue
from django.utils.translation import ugettext as _
from django.conf import settings as django_settings
from forum import const
-from django.core.urlresolvers import reverse
QA_SITE_SETTINGS = ConfigurationGroup(
'QA_SITE_SETTINGS',
@@ -53,6 +52,15 @@ settings.register(
settings.register(
StringValue(
QA_SITE_SETTINGS,
+ 'APP_SHORT_NAME',
+ default=_('Askbot'),
+ description=_('Short name for your Q&A forum')
+ )
+)
+
+settings.register(
+ StringValue(
+ QA_SITE_SETTINGS,
'APP_URL',
default='http://askbot.org',
description=_('Base URL for your Q&A forum, must start with http or https'),
@@ -63,7 +71,7 @@ settings.register(
StringValue(
QA_SITE_SETTINGS,
'GREETING_URL',
- default=reverse('faq'),
+ default=_('faq/'),#cannot reverse url here, unfortunately
description=_('Link shown in the greeting message shown to the anonymous user'),
help_text=_('If you change this url from the default - '
'then you wil have to adjust translation of '
@@ -74,7 +82,7 @@ settings.register(
settings.register(
StringValue(
QA_SITE_SETTINGS,
- 'FEEBACK_SITE_URL'
+ 'FEEDBACK_SITE_URL',
description=_('Feedback site URL'),
help_text=_('If left empty, a simple internal feedback form will be used instead')
)
diff --git a/forum/conf/skin_counter_settings.py b/forum/conf/skin_counter_settings.py
new file mode 100644
index 00000000..7f612e93
--- /dev/null
+++ b/forum/conf/skin_counter_settings.py
@@ -0,0 +1,24 @@
+VOTE_COUNTER_EXPECTED_MAXIMUM = 3
+from forum_modules.grapefruit import Color
+COLORS_VOTE_COUNTER_EMPTY_BG = 'white'
+COLORS_VOTE_COUNTER_EMPTY_FG = 'gray'
+COLORS_VOTE_COUNTER_MIN_BG = 'white'
+COLORS_VOTE_COUNTER_MIN_FG = 'black'
+COLORS_VOTE_COUNTER_MAX_BG = '#a9d0f5'
+COLORS_VOTE_COUNTER_MAX_FG = Color.NewFromHtml(COLORS_VOTE_COUNTER_MAX_BG).DarkerColor(0.7).html
+VIEW_COUNTER_EXPECTED_MAXIMUM = 100
+COLORS_VIEW_COUNTER_EMPTY_BG = 'gray'
+COLORS_VIEW_COUNTER_EMPTY_FG = 'white'
+COLORS_VIEW_COUNTER_MIN_BG = '#D0F5A9'
+COLORS_VIEW_COUNTER_MIN_FG = Color.NewFromHtml(COLORS_VIEW_COUNTER_MIN_BG).DarkerColor(0.6).html
+COLORS_VIEW_COUNTER_MAX_BG = '#FF8000'#'#F7BE81'
+COLORS_VIEW_COUNTER_MAX_FG = Color.NewFromHtml(COLORS_VIEW_COUNTER_MAX_BG).DarkerColor(0.7).html
+ANSWER_COUNTER_EXPECTED_MAXIMUM = 4
+COLORS_ANSWER_COUNTER_EMPTY_BG = Color.NewFromHtml('#a40000').Blend(Color.NewFromHtml('white'),0.8).html
+COLORS_ANSWER_COUNTER_EMPTY_FG = 'yellow'
+COLORS_ANSWER_COUNTER_MIN_BG = '#AEB404'#'#81F7F3'#'#A9D0F5'#'#045FB4'
+COLORS_ANSWER_COUNTER_MIN_FG = 'white'#'#81F7F3'
+COLORS_ANSWER_COUNTER_MAX_BG = Color.NewFromHtml('#61380B').Blend(Color.NewFromHtml('white'),0.75).html
+COLORS_ANSWER_COUNTER_MAX_FG = '#ffff00'
+COLORS_ANSWER_COUNTER_ACCEPTED_BG = Color.NewFromHtml('darkgreen').Blend(Color.NewFromHtml('white'),0.8).html
+COLORS_ANSWER_COUNTER_ACCEPTED_FG = '#D0F5A9'
diff --git a/forum/conf/skin_general_settings.py b/forum/conf/skin_general_settings.py
new file mode 100644
index 00000000..14165587
--- /dev/null
+++ b/forum/conf/skin_general_settings.py
@@ -0,0 +1,3 @@
+#skin settings
+RESOURCE_REVISION=4
+ASKBOT_DEFAULT_SKIN = 'default'
diff --git a/forum/conf/user_settings.py b/forum/conf/user_settings.py
new file mode 100644
index 00000000..62e7095c
--- /dev/null
+++ b/forum/conf/user_settings.py
@@ -0,0 +1,2 @@
+EDITABLE_SCREEN_NAME = False#True or False - can user change screen name?
+MIN_USERNAME_LENGTH = 1
diff --git a/forum/models/conf/vote_rules.py b/forum/conf/vote_rules.py
index f249ef53..f249ef53 100644
--- a/forum/models/conf/vote_rules.py
+++ b/forum/conf/vote_rules.py
diff --git a/forum/context.py b/forum/context.py
index daa1ee21..1cbb82ba 100644
--- a/forum/context.py
+++ b/forum/context.py
@@ -11,7 +11,7 @@ def application_settings(context):
'FEEDBACK_SITE_URL': forum_settings.FEEDBACK_SITE_URL,
'FORUM_ABOUT': forum_settings.FORUM_ABOUT,
'FORUM_PRIVACY': forum_settings.FORUM_PRIVACY,
- 'GOOGLE_SITEMAP_CODE':forum_settings.GOOGLE_VERIFICATION_CODE,
+ 'GOOGLE_SITEMAP_CODE':forum_settings.GOOGLE_SITEMAP_CODE,
'GOOGLE_ANALYTICS_KEY':forum_settings.GOOGLE_ANALYTICS_KEY,
'RESOURCE_REVISION':settings.RESOURCE_REVISION,
'ASKBOT_SKIN':settings.ASKBOT_DEFAULT_SKIN,
diff --git a/forum/feed.py b/forum/feed.py
index 3d3a3241..5d124eb9 100644
--- a/forum/feed.py
+++ b/forum/feed.py
@@ -15,7 +15,7 @@ from django.utils.translation import ugettext as _
from models import Question
from forum.conf import settings
class RssLastestQuestionsFeed(Feed):
- title = settings.ASKBOT_FORUM_TITLE + _(' - ')+ _('latest questions')
+ title = settings.APP_TITLE + _(' - ')+ _('latest questions')
link = settings.APP_URL
description = settings.APP_DESCRIPTION
#ttl = 10
diff --git a/forum/middleware/anon_user.py b/forum/middleware/anon_user.py
index e0e4eb51..2d1dcd2d 100644
--- a/forum/middleware/anon_user.py
+++ b/forum/middleware/anon_user.py
@@ -3,6 +3,8 @@ from forum.utils.forms import get_next_url
from django.utils.translation import ugettext as _
from forum.user_messages import create_message, get_and_delete_messages
from django.core.urlresolvers import reverse
+from forum.conf import settings
+from forum import const
import logging
class AnonymousMessageManager(object):
@@ -28,7 +30,6 @@ class ConnectToSessionMessagesMiddleware(object):
request.user.get_and_delete_messages = request.user.message_set.get_and_delete
#also set the first greeting one time per session only
- from forum.conf import settings
if 'greeting_set' not in request.session:
request.session['greeting_set'] = True
msg = _(const.GREETING_FOR_ANONYMOUS_USER) % settings.GREETING_URL
diff --git a/forum/models/conf/__init__.py b/forum/models/conf/__init__.py
deleted file mode 100644
index f30617a1..00000000
--- a/forum/models/conf/__init__.py
+++ /dev/null
@@ -1,62 +0,0 @@
-import os
-from livesettings import ConfigurationGroup, IntegerValue, config_register, SortedDotDict
-from forum import models
-
-INSTALLED_APPS = ['forum']
-
-MIDDLEWARE_CLASSES = [
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'forum.middleware.anon_user.ConnectToSessionMessagesMiddleware',
- 'forum.middleware.pagesize.QuestionsPageSizeMiddleware',
- 'forum.middleware.cancel.CancelActionMiddleware',
- 'django.middleware.transaction.TransactionMiddleware',
-]
-
-TEMPLATE_LOADERS = [
- 'django.template.loaders.filesystem.load_template_source',
- 'django.template.loaders.app_directories.load_template_source',
- 'forum.modules.module_templates_loader',
- 'forum.skins.load_template_source',
-]
-
-TEMPLATE_CONTEXT_PROCESSORS = [
- 'django.core.context_processors.request',
- 'forum.context.application_settings',
- 'forum.user_messages.context_processors.user_messages',
- 'django.core.context_processors.auth',
-]
-
-TEMPLATE_DIRS = [
- os.path.join(os.path.dirname(__file__),'skins').replace('\\','/'),
-]
-
-def setup_django_settings(settings):
-
- if (hasattr(settings, 'DEBUG') and getattr(settings, 'DEBUG')):
- try:
- import debug_toolbar
- INSTALLED_APPS.append('debug_toolbar')
- MIDDLEWARE_CLASSES.append('debug_toolbar.middleware.DebugToolbarMiddleware')
- except:
- pass
-
-
- settings.INSTALLED_APPS = set(settings.INSTALLED_APPS) | set(INSTALLED_APPS)
- settings.MIDDLEWARE_CLASSES = set(settings.MIDDLEWARE_CLASSES) | set(MIDDLEWARE_CLASSES)
- settings.TEMPLATE_LOADERS = set(settings.TEMPLATE_LOADERS) | set(TEMPLATE_LOADERS)
- settings.TEMPLATE_CONTEXT_PROCESSORS = set(settings.TEMPLATE_CONTEXT_PROCESSORS) | set(TEMPLATE_CONTEXT_PROCESSORS)
- settings.TEMPLATE_DIRS = set(settings.TEMPLATE_DIRS) | set(TEMPLATE_DIRS)
-
-#import these to compile code and install values
-import forum.conf.minimum_reputation
-import forum.conf.vote_rules
-import forum.conf.reputation_changes
-import forum.conf.email
-import forum.conf.forum_data_rules
-import forum.conf.flatpages
-import forum.conf.external_keys
-
-#import main settings object
-from forum.conf.settings_wrapper import settings
diff --git a/forum/skins/default/templates/fbconnect/xd_receiver.html b/forum/skins/default/templates/fbconnect/xd_receiver.html
index a03c61bc..60c02a22 100755
--- a/forum/skins/default/templates/fbconnect/xd_receiver.html
+++ b/forum/skins/default/templates/fbconnect/xd_receiver.html
@@ -2,7 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" >
{% load i18n %}
<head>
- <title>{% blocktrans %}Connect to {{APP_SHORT_NAME}} with Facebook!{% endblocktrans %}
+ <title>{% blocktrans %}Connect to {{settings.APP_SHORT_NAME}} with Facebook!{% endblocktrans %}
</head>
<body>
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script>
diff --git a/livesettings/templatetags/config_tags.py b/livesettings/templatetags/config_tags.py
index 1fed730d..bcdded12 100644
--- a/livesettings/templatetags/config_tags.py
+++ b/livesettings/templatetags/config_tags.py
@@ -31,6 +31,8 @@ def force_space(value, chars=40):
def break_at(value, chars=40):
"""Force spaces into long lines which don't have spaces"""
+ #todo: EF - lazy patch
+ return value
chars = int(chars)
value = unicode(value)