1 """A friendly criterion for ATTopic that matches the
2 SearchableRelatedText index parameters
3 """
4
5 from Products.CMFCore.permissions import View
6 from AccessControl import ClassSecurityInfo
7
8 from Products.Archetypes.atapi import Schema
9 from Products.Archetypes.atapi import StringField, StringWidget
10
11 from Products.ATContentTypes.criteria import registerCriterion
12 from Products.ATContentTypes.interfaces import IATTopicSearchCriterion
13 from Products.ATContentTypes.permission import ChangeTopics
14 from Products.ATContentTypes.criteria.base import ATBaseCriterion
15 from Products.ATContentTypes.criteria.schemata import ATBaseCriterionSchema
16
17 from platecom.ontocatalog import OntoCatalogMessageFactory as _
18
19
20 ATRelatedCriterionSchema = ATBaseCriterionSchema + Schema((
21 StringField('value',
22 required=1,
23 mode="rw",
24 write_permission=ChangeTopics,
25 accessor="Value",
26 mutator="setValue",
27 default="",
28 widget=StringWidget(
29 label=_(u'label_related_criterion_value', default=u'Value'),
30 description=_(u'help_related_criterion_value',
31 default=u'A string value.'))
32 ),
33 StringField('context',
34 required=0,
35 mode="rw",
36 write_permission=ChangeTopics,
37 accessor="Context",
38 mutator="setContext",
39 default="",
40 widget=StringWidget(
41 label=_(u'label_related_criterion_value',
42 default=u'Context'),
43 description=_(u'help_related_criterion_value',
44 default=u'A string value for the context.'))
45 ),
46 ))
47
48
73
74 registerCriterion(ATRelatedCriterion, ['RelatedIndex'])
75