Work in progress: indexing and searching
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1100 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
ffc3707094
commit
15da165f09
2 changed files with 16 additions and 2 deletions
|
@ -37,6 +37,7 @@ from zope.schema.interfaces import IIterableSource
|
||||||
from zope.security.proxy import removeSecurityProxy
|
from zope.security.proxy import removeSecurityProxy
|
||||||
from loops.concept import Concept, ConceptTypeSourceList, PredicateSourceList
|
from loops.concept import Concept, ConceptTypeSourceList, PredicateSourceList
|
||||||
from loops.browser.common import BaseView, LoopsTerms
|
from loops.browser.common import BaseView, LoopsTerms
|
||||||
|
from loops import util
|
||||||
|
|
||||||
|
|
||||||
class ConceptView(BaseView):
|
class ConceptView(BaseView):
|
||||||
|
@ -126,7 +127,7 @@ class ConceptView(BaseView):
|
||||||
if searchTerm:
|
if searchTerm:
|
||||||
criteria['loops_title'] = searchTerm
|
criteria['loops_title'] = searchTerm
|
||||||
if searchType:
|
if searchType:
|
||||||
criteria['loops_type'] = (searchType)
|
criteria['loops_type'] = (searchType, searchType)
|
||||||
cat = zapi.getUtility(ICatalog)
|
cat = zapi.getUtility(ICatalog)
|
||||||
result = cat.searchResults(**criteria)
|
result = cat.searchResults(**criteria)
|
||||||
else:
|
else:
|
||||||
|
@ -152,6 +153,19 @@ class ConceptView(BaseView):
|
||||||
for type in types:
|
for type in types:
|
||||||
yield terms.getTerm(type)
|
yield terms.getTerm(type)
|
||||||
|
|
||||||
|
def conceptTypesForSearch(self):
|
||||||
|
types = ConceptTypeSourceList(self.context)
|
||||||
|
typesItems = [(':'.join(('loops:concept',
|
||||||
|
self.getConceptTypeTokenForSearch(t))), t.title)
|
||||||
|
for t in types]
|
||||||
|
return util.KeywordVocabulary(typesItems)
|
||||||
|
#terms = zapi.getMultiAdapter((types, self.request), ITerms)
|
||||||
|
#for type in types:
|
||||||
|
# yield terms.getTerm(type)
|
||||||
|
|
||||||
|
def getConceptTypeTokenForSearch(self, ct):
|
||||||
|
return ct is None and 'unknown' or zapi.getName(ct)
|
||||||
|
|
||||||
def predicates(self):
|
def predicates(self):
|
||||||
preds = PredicateSourceList(self.context)
|
preds = PredicateSourceList(self.context)
|
||||||
terms = zapi.getMultiAdapter((preds, self.request), ITerms)
|
terms = zapi.getMultiAdapter((preds, self.request), ITerms)
|
||||||
|
|
|
@ -133,7 +133,7 @@
|
||||||
<span i18n:translate="">Type</span>
|
<span i18n:translate="">Type</span>
|
||||||
<select name="searchType">
|
<select name="searchType">
|
||||||
<option value="*">Any</option>
|
<option value="*">Any</option>
|
||||||
<tal:types repeat="type view/conceptTypes">
|
<tal:types repeat="type view/conceptTypesForSearch">
|
||||||
<option value=".loops/concepts/topic"
|
<option value=".loops/concepts/topic"
|
||||||
i18n:translate=""
|
i18n:translate=""
|
||||||
tal:attributes="value type/token;
|
tal:attributes="value type/token;
|
||||||
|
|
Loading…
Add table
Reference in a new issue