8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
12 |
12 |
13 __docformat__ = 'restructuredtext' |
|
14 |
|
15 from persistent import Persistent |
13 from persistent import Persistent |
16 from zope.container.contained import Contained |
14 from zope.container.contained import Contained |
17 from zope.schema.fieldproperty import FieldProperty |
15 from zope.schema.fieldproperty import FieldProperty |
18 |
16 |
19 from pyams_content.component.theme.interfaces import IThemesManagerTarget, IThemesManager, THEMES_MANAGER_KEY, \ |
17 from pyams_content.component.theme.interfaces import COLLECTIONS_INFO_KEY, \ |
20 IThemesTarget, IThemesInfo, THEMES_INFO_KEY, ITagsManager, ITagsManagerTarget, TAGS_MANAGER_KEY, ITagsInfo, \ |
18 COLLECTIONS_MANAGER_KEY, ICollectionsInfo, ICollectionsManager, ICollectionsManagerTarget, \ |
21 ITagsTarget, TAGS_INFO_KEY, ICollectionsManager, ICollectionsManagerTarget, COLLECTIONS_MANAGER_KEY, \ |
19 ICollectionsTarget, ITagsInfo, ITagsManager, ITagsManagerTarget, ITagsTarget, IThemesInfo, \ |
22 ICollectionsInfo, ICollectionsTarget, COLLECTIONS_INFO_KEY |
20 IThemesManager, IThemesManagerTarget, IThemesTarget, TAGS_INFO_KEY, TAGS_MANAGER_KEY, \ |
|
21 THEMES_INFO_KEY, THEMES_MANAGER_KEY |
23 from pyams_content.features.checker import BaseContentChecker |
22 from pyams_content.features.checker import BaseContentChecker |
24 from pyams_content.features.checker.interfaces import IContentChecker, ERROR_VALUE |
23 from pyams_content.features.checker.interfaces import ERROR_VALUE, IContentChecker |
25 from pyams_utils.adapter import adapter_config, get_annotation_adapter |
24 from pyams_utils.adapter import adapter_config, get_annotation_adapter |
26 from pyams_utils.factory import factory_config |
25 from pyams_utils.factory import factory_config |
|
26 |
|
27 |
|
28 __docformat__ = 'restructuredtext' |
27 |
29 |
28 from pyams_content import _ |
30 from pyams_content import _ |
29 |
31 |
30 |
32 |
31 # |
33 # |
36 class TagsManager(Persistent, Contained): |
38 class TagsManager(Persistent, Contained): |
37 """Tags manager persistent class""" |
39 """Tags manager persistent class""" |
38 |
40 |
39 thesaurus_name = FieldProperty(ITagsManager['thesaurus_name']) |
41 thesaurus_name = FieldProperty(ITagsManager['thesaurus_name']) |
40 extract_name = FieldProperty(ITagsManager['extract_name']) |
42 extract_name = FieldProperty(ITagsManager['extract_name']) |
41 |
|
42 enable_tags_search = FieldProperty(ITagsManager['enable_tags_search']) |
|
43 tags_search_target = FieldProperty(ITagsManager['tags_search_target']) |
|
44 |
43 |
45 enable_glossary = FieldProperty(ITagsManager['enable_glossary']) |
44 enable_glossary = FieldProperty(ITagsManager['enable_glossary']) |
46 glossary_thesaurus_name = FieldProperty(ITagsManager['glossary_thesaurus_name']) |
45 glossary_thesaurus_name = FieldProperty(ITagsManager['glossary_thesaurus_name']) |
47 |
46 |
48 |
47 |
77 def inner_check(self, request): |
76 def inner_check(self, request): |
78 output = [] |
77 output = [] |
79 translate = request.localizer.translate |
78 translate = request.localizer.translate |
80 tags = ITagsInfo(self.context) |
79 tags = ITagsInfo(self.context) |
81 if not tags.tags: |
80 if not tags.tags: |
82 output.append(translate(ERROR_VALUE).format(field=translate(ITagsInfo['tags'].title), |
81 output.append(translate(ERROR_VALUE).format( |
83 message=translate(_("no defined tag")))) |
82 field=translate(ITagsInfo['tags'].title), |
|
83 message=translate(_("no defined tag")))) |
84 return output |
84 return output |
85 |
85 |
86 |
86 |
87 # |
87 # |
88 # Themes management |
88 # Themes management |
127 def inner_check(self, request): |
127 def inner_check(self, request): |
128 output = [] |
128 output = [] |
129 translate = request.localizer.translate |
129 translate = request.localizer.translate |
130 themes = IThemesInfo(self.context) |
130 themes = IThemesInfo(self.context) |
131 if not themes.themes: |
131 if not themes.themes: |
132 output.append(translate(ERROR_VALUE).format(field=translate(IThemesInfo['themes'].title), |
132 output.append(translate(ERROR_VALUE).format( |
133 message=translate(_("no defined theme")))) |
133 field=translate(IThemesInfo['themes'].title), |
|
134 message=translate(_("no defined theme")))) |
134 return output |
135 return output |
135 |
136 |
136 |
137 |
137 # |
138 # |
138 # Collections management |
139 # Collections management |
177 def inner_check(self, request): |
178 def inner_check(self, request): |
178 output = [] |
179 output = [] |
179 translate = request.localizer.translate |
180 translate = request.localizer.translate |
180 collections = ICollectionsInfo(self.context) |
181 collections = ICollectionsInfo(self.context) |
181 if not collections.collections: |
182 if not collections.collections: |
182 output.append(translate(ERROR_VALUE).format(field=translate(ICollectionsInfo['collections'].title), |
183 output.append(translate(ERROR_VALUE).format( |
183 message=translate(_("no defined collection")))) |
184 field=translate(ICollectionsInfo['collections'].title), |
|
185 message=translate(_("no defined collection")))) |
184 return output |
186 return output |