summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/forms.py17
-rw-r--r--chimere/models.py7
-rw-r--r--chimere/urls.py13
-rw-r--r--chimere/views.py11
-rw-r--r--settings.py4
5 files changed, 28 insertions, 24 deletions
diff --git a/chimere/forms.py b/chimere/forms.py
index e8a713d..2182a09 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -32,8 +32,7 @@ from django.utils.translation import ugettext as _
from django.contrib.auth.models import User, Permission, ContentType
from django.core.mail import EmailMessage, BadHeaderError
-if hasattr(settings, 'CHIMERE_SEARCH_ENGINE') and \
- settings.CHIMERE_SEARCH_ENGINE:
+if getattr(settings, 'HAYSTACK_SEARCH_ENGINE', None):
from haystack.forms import SearchForm as HaystackSearchForm
from chimere.models import Marker, Route, PropertyModel, Area,\
@@ -373,8 +372,6 @@ class MarkerAdminFormBase(forms.ModelForm):
choices[0][1])
self.fields['categories'].initial = \
[self.fields['categories'].choices[0][0]]
- if not settings.CHIMERE_SEARCH_ENGINE and 'keywords' in self.fields:
- self.fields.pop('keywords')
if not settings.CHIMERE_DAYS_BEFORE_EVENT:
self.fields.pop('start_date')
self.fields.pop('end_date')
@@ -446,8 +443,6 @@ class MarkerBaseForm(MarkerAdminFormBase):
EXCLUDED_FIELDS = ['status']
-if not settings.CHIMERE_SEARCH_ENGINE:
- EXCLUDED_FIELDS.append('keywords')
class MarkerForm(MarkerBaseForm):
@@ -519,8 +514,6 @@ class RouteAdminForm(forms.ModelForm):
choices=self.fields['categories'].choices)
return
self.fields.pop('read_from_file')
- if not settings.CHIMERE_SEARCH_ENGINE and 'keywords' in self.fields:
- self.fields.pop('keywords')
if settings.CHIMERE_DAYS_BEFORE_EVENT:
self.fields['start_date'].widget = DatePickerWidget()
self.fields['end_date'].widget = DatePickerWidget()
@@ -869,10 +862,14 @@ class RoutingForm(forms.Form):
self.fields['speed'].widget.choices.append(
("%s_%d" % (transport, speed), _(lbl)))
+
SearchForm = None
-if hasattr(settings, 'CHIMERE_SEARCH_ENGINE') \
- and settings.CHIMERE_SEARCH_ENGINE:
+if getattr(settings, 'HAYSTACK_SEARCH_ENGINE', None):
class SearchForm(HaystackSearchForm):
pass
+else:
+ # TODO SEARCH
+ pass
+
diff --git a/chimere/models.py b/chimere/models.py
index 8ad7a0f..4faf42b 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -236,8 +236,9 @@ class Category(models.Model):
class Icon(models.Model):
- '''Icon
- '''
+ """
+ Icon
+ """
name = models.CharField(_("Name"), max_length=150)
image = models.ImageField(_("Image"), upload_to='icons',
height_field='height', width_field='width')
@@ -1880,6 +1881,8 @@ class Area(models.Model, SimpleArea):
null=True)
order = models.IntegerField(_("Order"), unique=True)
available = models.BooleanField(_("Available"))
+ # logo = models.ImageField(_("Logo"), upload_to='logos', blank=True,
+ # null=True)
upper_left_corner = models.PointField(
_("Upper left corner"), default='POINT(0 0)',
srid=settings.CHIMERE_EPSG_DISPLAY_PROJECTION)
diff --git a/chimere/urls.py b/chimere/urls.py
index 89c1070..208a1d3 100644
--- a/chimere/urls.py
+++ b/chimere/urls.py
@@ -24,7 +24,8 @@ from django.core.exceptions import ImproperlyConfigured
admin.autodiscover()
from chimere import views
-from chimere.views import CategoryDirectoryView, CategoryView
+from chimere.forms import SearchForm
+from chimere.views import CategoryDirectoryView, CategoryView, SearchView
from chimere.feeds import LatestPOIsByCategory, LatestPOIsBySubCategory, \
LatestPOIs, LatestPOIsByZone, LatestPOIsByZoneID
@@ -74,10 +75,8 @@ if hasattr(settings, 'CHIMERE_ENABLE_ROUTING') \
views.route, name="route"),
]
-if hasattr(settings, 'CHIMERE_SEARCH_ENGINE') \
- and settings.CHIMERE_SEARCH_ENGINE:
- from chimere.forms import SearchForm
- from chimere.views import SearchView
+
+if getattr(settings, 'HAYSTACK_SEARCH_ENGINE', None):
from haystack.views import search_view_factory
urlpatterns += [
url(r'^search/?$', search_view_factory(
@@ -88,7 +87,9 @@ if hasattr(settings, 'CHIMERE_SEARCH_ENGINE') \
url(r'^search/autocomplete/$', views.autocomplete,
name='autocomplete-search')
]
- # urlpatterns += [url(r'^search/', include('haystack.urls')),]
+else:
+ # TODO SEARCH
+ pass
urlpatterns += [
url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?dyn/(?P<page_id>\w+)/$',
diff --git a/chimere/views.py b/chimere/views.py
index 7a1ff66..0a4c1f9 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -213,8 +213,8 @@ def index(request, area_name=None, default_area=None, simple=False,
'dynamic_categories': response_dct['dynamic_categories'],
'zoomout': zoomout,
'has_default_area': Area.objects.filter(default=True).count(),
- 'has_search': hasattr(settings, 'CHIMERE_SEARCH_ENGINE') and
- settings.CHIMERE_SEARCH_ENGINE
+ 'has_search': response_dct['area'].use_search if response_dct['area']
+ else None,
})
if hasattr(settings, 'PROJECT_IMAGE') and settings.PROJECT_IMAGE:
response_dct['PROJECT_IMAGE'] = settings.PROJECT_IMAGE
@@ -1272,8 +1272,8 @@ def property_choice_list(request, area_name='', property_slug=''):
SearchView = None
autocomplete = None
-if hasattr(settings, 'CHIMERE_SEARCH_ENGINE') \
- and settings.CHIMERE_SEARCH_ENGINE:
+
+if getattr(settings, 'HAYSTACK_SEARCH_ENGINE', None):
from haystack.views import SearchView as HaystackSearchView
from haystack.query import SearchQuerySet
@@ -1301,3 +1301,6 @@ if hasattr(settings, 'CHIMERE_SEARCH_ENGINE') \
'spelling': spelling,
})
return HttpResponse(the_data, content_type='application/json')
+else:
+ # TODO SEARCH
+ pass
diff --git a/settings.py b/settings.py
index cc5ed21..42eaa4a 100644
--- a/settings.py
+++ b/settings.py
@@ -141,8 +141,8 @@ CHIMERE_THUMBS_SCALE_HEIGHT = 250
CHIMERE_THUMBS_SCALE_WIDTH = None
# search engine
-CHIMERE_SEARCH_ENGINE = False
CHIMERE_SEARCH_LANGUAGE = 'french'
+HAYSTACK_SEARCH_ENGINE = False
HAYSTACK_CONNECTIONS = {
'default': {
@@ -292,7 +292,7 @@ INSTALLED_APPS.insert(INSTALLED_APPS.index('chimere'), PROJECT_APP)
for app in EXTRA_APPS:
INSTALLED_APPS.append(app)
-if CHIMERE_SEARCH_ENGINE:
+if HAYSTACK_SEARCH_ENGINE:
INSTALLED_APPS.append('haystack')
if 'LOGGING' not in globals():