# HG changeset patch # User cavaliet # Date 1327506904 -3600 # Node ID 91d87f958a16616a1c267fb98a460c4dfdd3968d # Parent 2711eef17092c08e2aa07b67bc91b804c5528e36 Update front tag list management with virtual SETTINGS and djblets.siteconfig. diff -r 2711eef17092 -r 91d87f958a16 .settings/org.eclipse.core.resources.prefs --- 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 diff -r 2711eef17092 -r 91d87f958a16 src/ldt/ldt/ldt_utils/forms.py --- 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..." + diff -r 2711eef17092 -r 91d87f958a16 src/ldt/ldt/ldt_utils/siteconfig.py --- /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 diff -r 2711eef17092 -r 91d87f958a16 src/ldt/ldt/ldt_utils/urls.py --- 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'), ) diff -r 2711eef17092 -r 91d87f958a16 src/ldt/ldt/ldt_utils/views/front.py --- 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); diff -r 2711eef17092 -r 91d87f958a16 src/ldt/ldt/settings.py --- 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 = ( diff -r 2711eef17092 -r 91d87f958a16 virtualenv/res/lib/lib_create_env.py --- 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): diff -r 2711eef17092 -r 91d87f958a16 virtualenv/res/src/djblets-release-0.6.14.tar.gz Binary file virtualenv/res/src/djblets-release-0.6.14.tar.gz has changed diff -r 2711eef17092 -r 91d87f958a16 virtualenv/res/src/nose-1.1.2.tar.gz Binary file virtualenv/res/src/nose-1.1.2.tar.gz has changed diff -r 2711eef17092 -r 91d87f958a16 web/ldtplatform/settings.py --- 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'