16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION, COMMENT_CONTENT_PERMISSION |
19 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION, COMMENT_CONTENT_PERMISSION |
20 from pyams_content.features.review.interfaces import IReviewManager, IReviewComments, IReviewTarget |
20 from pyams_content.features.review.interfaces import IReviewManager, IReviewComments, IReviewTarget |
|
21 from pyams_content.shared.common import IWfSharedContentRoles |
21 from pyams_security.interfaces import ISecurityManager |
22 from pyams_security.interfaces import ISecurityManager |
22 from pyams_security.interfaces.profile import IPublicProfile |
23 from pyams_security.interfaces.profile import IPublicProfile |
23 from pyams_skin.interfaces.viewlet import IContextActions, IWidgetTitleViewletManager |
24 from pyams_skin.interfaces.viewlet import IContextActions, IWidgetTitleViewletManager |
24 from pyams_skin.layer import IPyAMSLayer |
25 from pyams_skin.layer import IPyAMSLayer |
25 from pyams_zmi.interfaces.menu import IContentManagementMenu |
26 from pyams_zmi.interfaces.menu import IContentManagementMenu |
266 comment_body = request.params.get('comment') |
267 comment_body = request.params.get('comment') |
267 if not comment_body: |
268 if not comment_body: |
268 return {'status': 'error', |
269 return {'status': 'error', |
269 'message': translate(_("Message is mandatory!"))} |
270 'message': translate(_("Message is mandatory!"))} |
270 # add new comment |
271 # add new comment |
|
272 comments = IReviewComments(request.context) |
271 comment = ReviewComment(owner=request.principal.id, |
273 comment = ReviewComment(owner=request.principal.id, |
272 comment=request.params.get('comment')) |
274 comment=request.params.get('comment')) |
273 comments = IReviewComments(request.context) |
275 roles = IWfSharedContentRoles(request.context, None) |
|
276 if roles is not None: |
|
277 comment.is_reviewer_comment = comment.owner in (roles.readers or ()) |
274 comments.add_comment(comment) |
278 comments.add_comment(comment) |
275 # return comment infos |
279 # return comment infos |
276 profile = IPublicProfile(request.principal) |
280 profile = IPublicProfile(request.principal) |
277 comment_body = self.template(request=request, |
281 comment_body = self.template(request=request, |
278 context=self.context, |
282 context=self.context, |