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
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)
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)
def test_interfaces(self): self.assertTrue(IVocabularyFactory.providedBy(self._get_class())) self.assertTrue(IVocabulary.providedBy(self._make_one()))
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))