Merge branch 'master' of git://github.com/lapilofu/philo
authorStephen Burrows <stephen.r.burrows@gmail.com>
Tue, 12 Apr 2011 20:25:06 +0000 (16:25 -0400)
committerStephen Burrows <stephen.r.burrows@gmail.com>
Tue, 12 Apr 2011 20:25:06 +0000 (16:25 -0400)
contrib/julian/models.py
contrib/sobol/models.py
contrib/sobol/search.py

index 5dea7a3..5c49c7e 100644 (file)
@@ -79,10 +79,10 @@ class TimedModel(models.Model):
                        raise ValidationError("A %s cannot end before it starts." % self.__class__.__name__)
        
        def get_start(self):
-               return self.start_date
+               return datetime.datetime.combine(self.start_date, self.start_time) if self.start_time else self.start_date
        
        def get_end(self):
-               return self.end_date
+               return datetime.datetime.combine(self.end_date, self.end_time) if self.end_time else self.end_date
        
        class Meta:
                abstract = True
index b653c09..e4e4202 100644 (file)
@@ -130,13 +130,13 @@ class Click(models.Model):
 class SearchView(MultiView):
        results_page = models.ForeignKey(Page, related_name='search_results_related')
        searches = SlugMultipleChoiceField(choices=registry.iterchoices())
-       enable_ajax_api = models.BooleanField("Enable AJAX API", default=True)
+       enable_ajax_api = models.BooleanField("Enable AJAX API", default=True, help_text="Search results will be available <i>only</i> by AJAX, not as template variables.")
        placeholder_text = models.CharField(max_length=75, default="Search")
        
        search_form = SearchForm
        
        def __unicode__(self):
-               return u"%s (%s)" % (self.placeholder_text, u", ".join([display for slug, display in registry.iterchoices()]))
+               return u"%s (%s)" % (self.placeholder_text, u", ".join([display for slug, display in registry.iterchoices() if slug in self.searches]))
        
        def get_reverse_params(self, obj):
                raise ViewCanNotProvideSubpath
@@ -198,7 +198,7 @@ class SearchView(MultiView):
                                        })
                                else:
                                        context.update({
-                                               'searches': [{'verbose_name': verbose_name, 'url': self.reverse('ajax_api_view', kwargs={'slug': slug}, node=request.node)} for slug, verbose_name in registry.iterchoices()]
+                                               'searches': [{'verbose_name': verbose_name, 'url': self.reverse('ajax_api_view', kwargs={'slug': slug}, node=request.node)} for slug, verbose_name in registry.iterchoices() if slug in self.searches]
                                        })
                else:
                        form = SearchForm()
index 843af81..33603f3 100644 (file)
@@ -362,7 +362,7 @@ else:
                def parse_response(self, response, limit=None):
                        strainer = self.strainer
                        soup = BeautifulSoup(response, parseOnlyThese=strainer)
-                       return self.parse_results(soup[:limit])
+                       return self.parse_results(soup.findAll(recursive=False, limit=limit))
                
                def parse_results(self, results):
                        """