Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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"
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
    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
            )