diff --git a/browser/concept.py b/browser/concept.py
index 710e4bf..5be8645 100644
--- a/browser/concept.py
+++ b/browser/concept.py
@@ -37,6 +37,7 @@ from zope.schema.interfaces import IIterableSource
from zope.security.proxy import removeSecurityProxy
from loops.concept import Concept, ConceptTypeSourceList, PredicateSourceList
from loops.browser.common import BaseView, LoopsTerms
+from loops import util
class ConceptView(BaseView):
@@ -126,7 +127,7 @@ class ConceptView(BaseView):
if searchTerm:
criteria['loops_title'] = searchTerm
if searchType:
- criteria['loops_type'] = (searchType)
+ criteria['loops_type'] = (searchType, searchType)
cat = zapi.getUtility(ICatalog)
result = cat.searchResults(**criteria)
else:
@@ -152,6 +153,19 @@ class ConceptView(BaseView):
for type in types:
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):
preds = PredicateSourceList(self.context)
terms = zapi.getMultiAdapter((preds, self.request), ITerms)
diff --git a/browser/relation_macros.pt b/browser/relation_macros.pt
index a120a68..70034a1 100644
--- a/browser/relation_macros.pt
+++ b/browser/relation_macros.pt
@@ -133,7 +133,7 @@
Type