示例#1
0
def update_content_comment(request, id = None):
    site_response = AjaxServiceResponse(success=False,
                                        message="whoops", 
                                        message_description='No go. Try again later.')
    
    if (request.user.has_perm('UPDATE_ALL_COMMENTS')):
        try:
            if request.method == 'POST':
                comment = sanitizeCommentHtml(request.POST.get("comment", ""))
                comment_id = request.POST.get("comment-id", None)
                
                if (len(comment) > 5000):
                    site_response = AjaxServiceResponse(success=False,
                                                        message="too_long",
                                                        message_description="Maximum Length is 5000 Characters (minus markup)")  
                elif (comment_id): 
                    commentUpdate = Comment(comment_id=comment_id, comment=comment)
                    service_response = client_update_content_comment(commentUpdate,
                                                          request.user.session_id)                    
                    
                    if (service_response.success):
                        site_response = AjaxServiceResponse(success=True,
                                                            message="success",
                                                            message_description="Updated!")
                
        except Exception:
            logger.error("Exception when updating a content comment:") 
            logger.error(traceback.print_exc(8))    

    
    return HttpResponse(site_response.getXMLString())
示例#2
0
def post_content_comment(request):
    commentFormPrefix="commentform"
    redirect = "/"
    errors={}
    
    try:
        # Check to see if we're coming here from a POST.  If so, we've got work to do.
        if request.method == 'POST':
            redirect = request.POST.get('redirect', '/')   
            id = request.POST.get('content-id', '/')   
            
            if (request.user.has_perm('COMMENT')):
                commentForm = CommentReckoningForm(request.POST, prefix=commentFormPrefix)
                if (commentForm.is_valid()):
                    comment = Comment(comment = sanitizeCommentHtml(commentForm.cleaned_data.get('comment')),
                                      poster_id = request.user.reckoner_id)
                    comment_service_response = client_post_content_comment(comment, id, request.user.session_id)
                    if not comment_service_response.success:
                        logger.error("Failed to post comment to ID: " + id)
                        messages.error(request, "Sorry!  Reckonbot choked on that last comment!  I'm looking into it, ASAP.  - DK")
                else:
                    for attr, value in commentForm.errors.iteritems():
                        logger.info("Invalid comment submitted: " + unicode(attr) + ": " + unicode(value))
                        errors[attr] = value
                            
        request.session['errors'] = errors 
        return HttpResponseRedirect(redirect)               
         
    except Exception:
        logger.error("Exception when posting content comment:") 
        logger.error(traceback.print_exc(8))
        raise Exception