def _comment(self, request, data=None): authInfo = request.getSession(IAuthInfo) myId = authInfo.username orgId = authInfo.organization convId, conv = data['parent'] fids = data['fId'] comment, snippet = data['comment'] review = data['_review'] itemId, convId, items, keywords = yield Item._comment(convId, conv, comment, snippet, myId, orgId, False, review, fids) if keywords: block = t.getBlock('item.mako', 'requireReviewDlg', keywords=keywords, convId=convId) request.write('$$.convs.reviewRequired(%s, "%s");' % (json.dumps(block), convId)) return # Finally, update the UI entities = base.EntitySet([myId]) yield entities.fetchData() args = {"entities": entities, "items": items, "me": entities[myId]} numShowing = utils.getRequestArg(request, "nc") or "0" numShowing = int(numShowing) + 1 responseCount = items[convId]['meta']['responseCount'] isItemView = (utils.getRequestArg(request, "_pg") == "/item") t.renderScriptBlock(request, 'item.mako', 'conv_comments_head', False, '#comments-header-%s' % (convId), 'set', args=[convId, responseCount, numShowing, isItemView], **args) onload = """(function(){$('.comment-input', '#comment-form-%s').val(''); $('[name=\"nc\"]', '#comment-form-%s').val('%s');})();$('#comment-attach-%s-uploaded').empty()""" % (convId, convId, numShowing, convId) t.renderScriptBlock(request, 'item.mako', 'conv_comment', False, '#comments-%s' % convId, 'append', True, handlers={"onload": onload}, args=[convId, itemId], **args)
def _newComment(self, request): token = self._ensureAccessScope(request, 'post-item') convId = request.postpath[0] orgId = token.org userId = token.user convId, conv = yield utils.getValidItemId(request, '', itemId=convId, myOrgId=orgId, myId=userId) snippet, comment = utils.getTextWithSnippet(request, "comment", constants.COMMENT_PREVIEW_LENGTH, richText=True) review = int(utils.getRequestArg(request, '_review') or '0') itemId, convId, items, keywords = yield Item._comment(convId, conv, comment, snippet, userId, orgId, True, review) if keywords: raise errors.InvalidRequest(_('Matching keywords found(%s). Set reportOK=1.') % ', '.join(keywords)) else: self._success(request, 201, {'id': itemId})