示例#1
0
def get_criteria(context):
    adapters = getAdapters((context, ),
        provided=ISearchCriteriaProvider)

    criteria = {}
    for adapter_name, value in adapters:
        for name, fields in value.items():
            criteria[name] = fields
            vocabulary = fields.get('vocabulary', None)
            if vocabulary and not IVocabulary.providedBy(vocabulary):
                criteria[name]['vocabulary'] = vocabulary(context)

    return criteria
示例#2
0
def deferredVocularyWidget(node, kw):
    if node.field.vocabulary:
        factory = node.field.vocabulary
    else:
        factory = getUtility(IVocabularyFactory,
                             name=node.field.vocabularyName)
    if IVocabulary.providedBy(factory):
        vocabulary = factory
    else:
        vocabulary = factory(kw['context'])
    choices = [('', '- Select -')]
    for term in vocabulary.by_token.values():
        choices.append((term.value, term.title))
    return deform.widget.SelectWidget(values=choices)
示例#3
0
 def validate(value):
     if node.field.vocabulary:
         factory = node.field.vocabulary
     else:
         factory = getUtility(IVocabularyFactory,
                              name=node.field.vocabularyName)
     if IVocabulary.providedBy(factory):
         vocabulary = factory
     else:
         vocabulary = factory(kw['context'])
     try:
         vocabulary.getTerm(value)
         return True
     except LookupError:
         raise colander.Invalid(node, 'Illegal value selected',
                                value)
示例#4
0
 def test_interfaces(self):
     self.assertTrue(IVocabularyFactory.providedBy(self._get_class()))
     self.assertTrue(IVocabulary.providedBy(self._make_one()))
示例#5
0
 def test_Interface(self):
     self.failUnless(IVocabulary.providedBy(self.vocab))
     self.failUnless(IVocabularyTokenized.providedBy(self.vocab))
 def test_Interface(self):
     self.assertTrue(IVocabulary.providedBy(self.vocab))
     self.assertTrue(IVocabularyTokenized.providedBy(self.vocab))
 def test_interfaces(self):
     self.assertTrue(IVocabularyFactory.providedBy(self._get_class()))
     self.assertTrue(IVocabulary.providedBy(self._make_one()))