def process(self, connection): if interfaces.DEBUG_LOG: log.info("Adding %r" % self.document_id) instance = self.resolve() if not instance or instance == interfaces.OP_REQUEUE: return instance doc = interfaces.IIndexer(instance).document(connection) doc.id = self.document_id doc.fields.append(xappy.Field('resolver', self.resolver_id or '')) connection.add(doc)
def __call__(self): dotted_name = "bungeni.models.domain.%s" % self.request.form.get('dotted_name').split(".")[-1] tmp = '<option value="%s">%s</option>' try: domain_class = resolve.resolve(dotted_name) f = interfaces.IIndexer(domain_class()).fields() response = [tmp % (i, i) for i, fld in f] response = [tmp % ('all', 'all'), ] + response return '\n'.join(response) except Exception: return "ERROR"
def process(self, connection): if interfaces.DEBUG_LOG: log.info("Modifying %r" % self.document_id) instance = self.resolve() # if not instance or instance == interfaces.OP_REQUEUE: # return instance if ITranslatable.providedBy(instance): for lang in languages(): translated_instance = translation.translate_obj( instance, lang=lang.value) translated_instance.language = lang.value doc = interfaces.IIndexer(translated_instance).document( connection) doc.id = self.get_resolver().id(instance, language=lang.value) doc.fields.append(xappy.Field('resolver', self.resolver_id)) print doc.id connection.replace(doc) else: doc = interfaces.IIndexer(instance).document(connection) doc.id = self.document_id doc.fields.append(xappy.Field('resolver', self.resolver_id)) connection.replace(doc)
def __init__(self, *args): super(AdvancedPagedSearch, self).__init__(*args) statuses = SimpleVocabulary([]) indexed_fields = ['all', ] content_type = self.request.get('form.content_type', '') if content_type: dotted_name = "bungeni.models.domain.%s" % content_type domain_class = resolve.resolve(dotted_name) statuses = get_statuses_vocabulary(domain_class) f = interfaces.IIndexer(domain_class()).fields() indexed_fields = indexed_fields + [i for i, fld in f] self.form_fields += \ form.Fields( schema.Choice(__name__='owner', title=_("Owner"), vocabulary=get_users_vocabulary(), required=False), schema.Choice(__name__='status', title=_("Status"), vocabulary=statuses, required=False), schema.Choice(__name__='field', title=_('Field'), values=indexed_fields, required=False), IHighLight )