diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-05-09 00:57:43 -0400 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-05-09 00:57:43 -0400 |
commit | 5ec0ae6635bc9ece491c23b18507f2a558ce14e5 (patch) | |
tree | 3aa0948fea48310ddae4957547adc1804e13f21a | |
parent | 248ceb476de4f5504c1b8a5d0017223889690201 (diff) | |
download | askbot-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.py | 2 | ||||
-rw-r--r-- | fbconnect/fb.py | 16 | ||||
-rw-r--r-- | fbconnect/urls.py | 10 | ||||
-rw-r--r-- | forum/conf/README (renamed from forum/models/conf/README) | 0 | ||||
-rw-r--r-- | forum/conf/__init__.py | 12 | ||||
-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.py | 24 | ||||
-rw-r--r-- | forum/conf/skin_general_settings.py | 3 | ||||
-rw-r--r-- | forum/conf/user_settings.py | 2 | ||||
-rw-r--r-- | forum/conf/vote_rules.py (renamed from forum/models/conf/vote_rules.py) | 0 | ||||
-rw-r--r-- | forum/context.py | 2 | ||||
-rw-r--r-- | forum/feed.py | 2 | ||||
-rw-r--r-- | forum/middleware/anon_user.py | 3 | ||||
-rw-r--r-- | forum/models/conf/__init__.py | 62 | ||||
-rwxr-xr-x | forum/skins/default/templates/fbconnect/xd_receiver.html | 2 | ||||
-rw-r--r-- | livesettings/templatetags/config_tags.py | 2 |
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) |