diff options
| -rw-r--r-- | chimere/forms.py | 17 | ||||
| -rw-r--r-- | chimere/models.py | 7 | ||||
| -rw-r--r-- | chimere/urls.py | 13 | ||||
| -rw-r--r-- | chimere/views.py | 11 | ||||
| -rw-r--r-- | settings.py | 4 | 
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(): | 
