def showSearch(self): if (self.request('main_text')): return False terms = self.request('terms').split(',') if self.request('terms') else [] limit = int(self.request('n')) if self.request('n') else 6 offset = int(self.request('offset')) if self.request('offset') else 0 locationId = self.request('location_id') self.template_data['search_terms'] = self.request('terms') self.template_data['search_location_id'] = locationId projects = mProject.searchProjects(self.db, terms, locationId, limit, offset) resources = mProjectResource.searchProjectResources(self.db, terms, locationId, limit, offset) ideas = mIdea.searchIdeas(self.db, terms, locationId, limit, offset) results = dict(projects = projects, resources = resources, ideas = ideas) self.template_data['results'] = dict(json = json.dumps(results), data = results) total_count = dict(projects = mProject.searchProjectsCount(self.db, terms, locationId), resources = mProjectResource.searchProjectResourcesCount(self.db, terms, locationId), ideas = mIdea.searchIdeasCount(self.db, terms, locationId)) self.template_data['total_count'] = dict(json = json.dumps(total_count), data = total_count) locations_list = mLocation.getSimpleLocationDictionary(self.db) self.template_data['locations'] = dict(json = json.dumps(locations_list), data = locations_list) locationData = self.getLocationData() self.template_data['locations_scored'] = json.dumps(locationData) self.template_data['max_score'] = locationData[0]['score'] return self.render('search')
def searchIdeasJSON(self): terms = self.request('terms').split(',') if self.request('terms') else [] limit = int(self.request('n')) if self.request('n') else 6 offset = int(self.request('offset')) if self.request('offset') else 0 locationId = self.request('location_id') return self.json({'results':mIdea.searchIdeas(self.db, terms, locationId, limit, offset), 'total_count':100})