158 def handle_modified_shared_content(event): |
158 def handle_modified_shared_content(event): |
159 """Define content's modifiers when content is modified""" |
159 """Define content's modifiers when content is modified""" |
160 request = query_request() |
160 request = query_request() |
161 if request is not None: |
161 if request is not None: |
162 content = event.object |
162 content = event.object |
163 principal_id = request.principal.id |
163 try: |
164 modifiers = content.modifiers or set() |
164 principal_id = request.principal.id |
165 if principal_id not in modifiers: |
165 except AttributeError: |
166 modifiers.add(principal_id) |
166 pass |
167 content.modifiers = modifiers |
167 else: |
168 catalog = query_utility(ICatalog) |
168 modifiers = content.modifiers or set() |
169 intids = query_utility(IIntIds) |
169 if principal_id not in modifiers: |
170 catalog['modifiers'].reindex_doc(intids.register(content), content) |
170 modifiers.add(principal_id) |
171 content.last_modifier = principal_id |
171 content.modifiers = modifiers |
|
172 catalog = query_utility(ICatalog) |
|
173 intids = query_utility(IIntIds) |
|
174 catalog['modifiers'].reindex_doc(intids.register(content), content) |
|
175 content.last_modifier = principal_id |
172 |
176 |
173 |
177 |
174 @subscriber(IObjectClonedEvent, context_selector=IWfSharedContent) |
178 @subscriber(IObjectClonedEvent, context_selector=IWfSharedContent) |
175 def handle_cloned_shared_content(event): |
179 def handle_cloned_shared_content(event): |
176 """Handle cloned object when a new version is created |
180 """Handle cloned object when a new version is created |