Update front tag list management with virtual SETTINGS and djblets.siteconfig.
--- a/.settings/org.eclipse.core.resources.prefs Wed Jan 25 12:31:55 2012 +0100
+++ b/.settings/org.eclipse.core.resources.prefs Wed Jan 25 16:55:04 2012 +0100
@@ -1,4 +1,4 @@
-#Wed Jan 25 12:23:22 CET 2012
+#Wed Jan 25 13:28:26 CET 2012
eclipse.preferences.version=1
encoding//src/ldt/ldt/core/migrations/0001_initial.py=utf-8
encoding//src/ldt/ldt/core/migrations/0002_auto__del_owner.py=utf-8
@@ -11,6 +11,7 @@
encoding//src/ldt/ldt/ldt_utils/migrations/0009_auto__chg_field_content_image__chg_field_project_image.py=utf-8
encoding//src/ldt/ldt/ldt_utils/migrations/0010_auto__add_annotationstat.py=utf-8
encoding//src/ldt/ldt/ldt_utils/migrations/0011_gen_stat_annotation.py=utf-8
+encoding//src/ldt/ldt/ldt_utils/siteconfig.py=utf-8
encoding//src/ldt/ldt/text/migrations/0001_initial.py=utf-8
encoding//src/ldt/ldt/user/migrations/0001_initial.py=utf-8
encoding//src/ldt/ldt/user/migrations/0002_auto__del_irigroup.py=utf-8
--- a/src/ldt/ldt/ldt_utils/forms.py Wed Jan 25 12:31:55 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/forms.py Wed Jan 25 16:55:04 2012 +0100
@@ -1,10 +1,13 @@
from django import forms
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import Group
+from djblets.siteconfig.forms import SiteSettingsForm
from ldt.forms import widgets as ldt_widgets
+from ldt.ldt_utils.siteconfig import load_site_config
from ldt.security.forms import ShareForm
from models import Project, Content, Media
from utils import generate_uuid
+import re
class LdtImportForm(forms.Form):
importFile = forms.FileField()
@@ -102,3 +105,24 @@
class Meta:
model = Group
+
+
+class GeneralSettingsForm(SiteSettingsForm):
+ my_array = forms.CharField(
+ label="Front tag list",
+ required=False,
+ help_text="A comma-separated list of tags !")
+
+ def load(self):
+ self.fields['my_array'].initial = ', '.join(self.siteconfig.get('front_tag_list'))
+ super(GeneralSettingsForm, self).load()
+
+ def save(self):
+ self.siteconfig.set('front_tag_list',[x.strip() for x in self.cleaned_data['my_array'].split(',')])
+ super(GeneralSettingsForm, self).save()
+ load_site_config()
+
+ class Meta:
+ save_blacklist = ('my_array',)
+ title = "Front Settings : tag list, etc..."
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/siteconfig.py Wed Jan 25 16:55:04 2012 +0100
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# ldt_utils/siteconfig.py
+# NOTE: Import this file in your urls.py or some place before
+# any code relying on settings is imported.
+from django.contrib.sites.models import Site
+
+from djblets.siteconfig.models import SiteConfiguration
+from djblets.siteconfig.django_settings import apply_django_settings, get_django_defaults, generate_defaults
+
+settings_map = {
+ # siteconfig key settings.py key
+ 'front_tag_list': 'FRONT_TAG_LIST',
+}
+
+defaults = {
+ 'front_tag_list': [u"Enmi 2011", u"tcymhkhjvrv", u"film", u"conférence"],
+}
+defaults.update(generate_defaults(settings_map))
+
+def load_site_config():
+ """Sets up the SiteConfiguration, provides defaults and syncs settings."""
+ try:
+ siteconfig = SiteConfiguration.objects.get_current()
+ except SiteConfiguration.DoesNotExist:
+ # Either warn or just create the thing. Depends on your app
+ siteconfig = SiteConfiguration(site=Site.objects.get_current(), version="1.0")
+
+ if not siteconfig.get_defaults():
+ siteconfig.add_defaults(defaults)
+ siteconfig.add_defaults(get_django_defaults())
+
+ apply_django_settings(siteconfig, settings_map)
+ apply_django_settings(siteconfig)
+
+
+load_site_config()
\ No newline at end of file
--- a/src/ldt/ldt/ldt_utils/urls.py Wed Jan 25 12:31:55 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/urls.py Wed Jan 25 16:55:04 2012 +0100
@@ -1,5 +1,6 @@
from django.conf.urls.defaults import patterns, url
from ldt.management import test_ldt
+from ldt.ldt_utils.forms import GeneralSettingsForm
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
@@ -52,6 +53,10 @@
)
urlpatterns += patterns('',
+ url(r'^settings/$', 'djblets.siteconfig.views.site_settings', {'form_class': GeneralSettingsForm}),
+)
+
+urlpatterns += patterns('',
url('^jsi18n', 'django.views.i18n.javascript_catalog', name='jsi18n'),
)
--- a/src/ldt/ldt/ldt_utils/views/front.py Wed Jan 25 12:31:55 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/front.py Wed Jan 25 16:55:04 2012 +0100
@@ -11,6 +11,7 @@
from ldt.security.utils import add_change_attr
from tagging.models import Tag, TaggedItem
+from ldt.ldt_utils.siteconfig import load_site_config
@login_required
def front_home(request):
@@ -22,7 +23,6 @@
active_groups = Group.objects.exclude(name=settings.PUBLIC_GROUP_NAME)[:5]
# Get the main tag list
front_tags = settings.FRONT_TAG_LIST
-
is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1);
--- a/src/ldt/ldt/settings.py Wed Jan 25 12:31:55 2012 +0100
+++ b/src/ldt/ldt/settings.py Wed Jan 25 16:55:04 2012 +0100
@@ -33,6 +33,7 @@
'south',
'guardian',
'sorl.thumbnail',
+ 'djblets.siteconfig',
)
MIDDLEWARE_CLASSES = (
--- a/virtualenv/res/lib/lib_create_env.py Wed Jan 25 12:31:55 2012 +0100
+++ b/virtualenv/res/lib/lib_create_env.py Wed Jan 25 16:55:04 2012 +0100
@@ -49,6 +49,12 @@
'LXML': {'setup': 'lxml', 'url':"lxml-2.3.1.tar.bz2", 'local':"lxml-2.3.1.tar.bz2"}
})
+URLS.update({
+ 'SORL_THUMBNAIL': {'setup': 'sorl_thumbnail','url': 'https://github.com/sorl/sorl-thumbnail/tarball/v10.12.1', 'local':"sorl-sorl-thumbnail-v10.12.1-65-g2285451.tar.gz"},
+ 'NOSE': {'setup': 'nose', 'url': 'http://pypi.python.org/packages/source/n/nose/nose-1.1.2.tar.gz', 'local':"nose-1.1.2.tar.gz"},
+ 'DJBLETS': {'setup': 'djblets', 'url': 'https://github.com/djblets/djblets/tarball/release-0.6.14', 'local':"djblets-release-0.6.14.tar.gz"},
+})
+
class ResourcesEnv(object):
Binary file virtualenv/res/src/djblets-release-0.6.14.tar.gz has changed
Binary file virtualenv/res/src/nose-1.1.2.tar.gz has changed
--- a/web/ldtplatform/settings.py Wed Jan 25 12:31:55 2012 +0100
+++ b/web/ldtplatform/settings.py Wed Jan 25 16:55:04 2012 +0100
@@ -90,6 +90,7 @@
#'django.middleware.locale.LocaleMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django_openid_consumer.middleware.OpenIDMiddleware',
+ 'djblets.siteconfig.middleware.SettingsMiddleware',
'ldt.ldt_utils.middleware.userprofile.LanguageMiddleware',
'ldt.security.middleware.SecurityMiddleware',
'ldt.api.middleware.pistonput.PistonPutMiddleware',
@@ -102,6 +103,7 @@
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
+ 'djblets.siteconfig.context_processors.siteconfig',
"ldt.utils.context_processors.ldt_context",
)
@@ -145,6 +147,7 @@
'south',
'guardian',
'sorl.thumbnail',
+ 'djblets.siteconfig',
)
AUTH_PROFILE_MODULE = 'user.UserProfile'