def jurisdiction_comment(request): requestProcessor = HttpRequestProcessor(request) user = request.user data = {} dajax = Dajax() ajax = requestProcessor.getParameter('ajax') comments_changed = requestProcessor.getParameter('comments_changed') if comments_changed == 'yes': data['comments_changed'] = 'yes' else: data['comments_changed'] = 'no' if (ajax != None): if ajax == 'open_jurisdiction_comment': entity_id = requestProcessor.getParameter('entity_id') entity_name = requestProcessor.getParameter('entity_name') jid = requestProcessor.getParameter('jurisdiction_id') try: jurisdiction = Jurisdiction.objects.get(id = jid) except: jurisdiction = None comments = Comment.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id, parent_comment__isnull = True).order_by('-create_datetime') userviews = UserCommentView.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id, user = user) temp_comments = Comment.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id).order_by('-create_datetime') last_comment = None if len(temp_comments) > 0 : last_comment = temp_comments[0] has_userview = False if len(userviews) > 0: userview = userviews[0] if userview.last_comment != None: data['userview_last_comment'] = userview.last_comment.id data['userview'] = userviews[0] userview.comments_count = Comment.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id).count() userview.last_comment = last_comment userview.view_datetime = datetime.datetime.now() userview.save() has_userview = True if has_userview == False: userview = None data['userview'] = userview data['userview_last_comment'] = 0 userview = UserCommentView() userview.user = user userview.jurisdiction = jurisdiction userview.entity_name = entity_name userview.entity_id = entity_id userview.comments_count = Comment.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id).count() userview.last_comment = last_comment userview.view_datetime = datetime.datetime.now() userview.save() af = AnswerReference.objects.get(id = entity_id) aa = ValidationUtil() data['answer'] = af data['answer_text'] = aa.get_formatted_value(af.value, af.question) data['jurisdiction'] = jurisdiction label = af.question.question if len(af.question.question) > 75: label = af.question.question[:78]+ '...' data['label'] = label data['commnets'] = comments others_afs = AnswerReference.objects.filter(jurisdiction = jurisdiction, question = af.question, approval_status='A').exclude(id = entity_id).order_by('-create_datetime') if len(others_afs) > 0 : old_answer = others_afs[0] if old_answer.id < af.id: data['old_answer'] = old_answer data['old_answer_text'] = aa.get_formatted_value(old_answer.value, old_answer.question) else: data['old_answer'] = None data['old_answer_text'] = '' else: data['old_answer'] = None data['old_answer_text'] = '' body = requestProcessor.decode_jinga_template(request,'website/jurisdictions/jurisdiction_comment.html', data, '') dajax.assign('#fancyboxformDiv','innerHTML', body) script = requestProcessor.decode_jinga_template(request,'website/jurisdictions/jurisdiction_comment.js', data, '') dajax.script(script) #script = requestProcessor.decode_jinga_template(request,'website/blocks/comments_list.js', data, '') #dajax.script(script) dajax.script('controller.showModalDialog("#fancyboxformDiv");') if ajax =='create_jurisdiction_comment': answer_id = requestProcessor.getParameter('answer_id') jid = requestProcessor.getParameter('jurisdiction_id') comment_type = 'JC' data['answer_id'] = answer_id data['jurisdiction_id'] = jid data['comment_type'] = comment_type data['parent_comment'] = '' body = requestProcessor.decode_jinga_template(request,'website/jurisdictions/create_comment.html', data, '') script = requestProcessor.decode_jinga_template(request,'website/jurisdictions/create_comment.js', data, '') dajax.assign('#secondDialogDiv','innerHTML', body) dajax.script(script) dajax.script('controller.showSecondDialog("#secondDialogDiv");') if ajax =='comment_create_submit': entity_id = requestProcessor.getParameter('entity_id') entity_name = requestProcessor.getParameter('entity_name') jurisdiction_id = requestProcessor.getParameter('jurisdiction_id') comment_type = requestProcessor.getParameter('comment_type') comment_text = requestProcessor.getParameter('comment') parent_comment = requestProcessor.getParameter('parent_comment') try: jurisdiction = Jurisdiction.objects.get(id = jurisdiction_id) except: jurisdiction = None comment = Comment() comment.jurisdiction = jurisdiction comment.entity_name = entity_name comment.entity_id = entity_id comment.user = user comment.comment_type = comment_type comment.comment = comment_text if parent_comment != '': parent = Comment.objects.get(id = parent_comment) comment.parent_comment = parent comment.save() userviews = UserCommentView.objects.filter(user = user, jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id) userview = userviews[0] userview.last_comment = comment userview.comments_count = Comment.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id).count() userview.view_datetime = datetime.datetime.now() userview.save() dajax.script('controller.closeSecondDialog();') dajax.script('controller.postRequest("/jurisdiction_comment/", {ajax: "open_jurisdiction_comment", jurisdiction_id:'+str(jurisdiction_id)+', entity_id: "'+str(entity_id)+'", entity_name: "'+str(entity_name)+'", comments_changed: "yes"});') data = {} data['action'] = 'refresh_ahj_qa' answer = AnswerReference.objects.get(id=entity_id) validation_util_obj = ValidationUtil() body = validation_util_obj.get_question_answers_display_data(request, answer.jurisdiction, answer.question, data) dajax.assign('#div_'+str(answer.question_id),'innerHTML', body) if ajax =='reply_comment': cid = requestProcessor.getParameter('cid') comment = Comment.objects.get(id = cid) data['comment'] = comment body = requestProcessor.decode_jinga_template(request,'website/blocks/reply_comment_form.html', data, '') script = requestProcessor.decode_jinga_template(request,'website/blocks/reply_comment_form.js', data, '') dajax.assign('#button-div-'+str(cid),'innerHTML', body) dajax.script(script) if ajax == 'cancel_reply': cid = requestProcessor.getParameter('cid') body = '<a class="smallbutton" href="#" onClick="controller.postRequest(\'/jurisdiction_comment/\', {ajax: \'reply_comment\', cid: '+str(cid)+'});return false;">Reply</a><a class="smallbutton" href="#">Flag</a>' dajax.assign('#button-div-'+str(cid),'innerHTML', body) if ajax == 'flag_comment': cid = requestProcessor.getParameter('cid') comment = Comment.objects.get(id = cid) comment.approval_status = 'F' comment.save() af = AnswerReference.objects.get(id = comment.entity_id) to_mail = [django_settings.ADMIN_EMAIL_ADDRESS] data['comment'] = comment data['user'] = user data['question'] = af.question.question data['site_url'] = django_settings.SITE_URL data['requestProcessor'] = requestProcessor data['request'] = request send_email(data, to_mail) dajax.assign('#comment_'+str(cid), 'innerHTML', '<p>This comment had been flagged as inappropriate and is hidden pending review.</p>') if ajax == 'show_old_comments': entity_id = requestProcessor.getParameter('answer_id') entity_name = 'AnswerReference' jid = requestProcessor.getParameter('jurisdiction_id') try: jurisdiction = Jurisdiction.objects.get(id = jid) except: jurisdiction = None comments = Comment.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id, parent_comment__isnull = True).order_by('-create_datetime') userviews = UserCommentView.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id, user = user) temp_comments = Comment.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id).order_by('-create_datetime') last_comment = None if len(temp_comments) > 0 : last_comment = temp_comments[0] if len(userviews) > 0: userview = userviews[0] data['userview'] = userview userview.comments_count = Comment.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id).count() userview.last_comment = last_comment userview.view_datetime = datetime.datetime.now() userview.save() else: userview = None data['userview'] = userview userview = UserCommentView() userview.user = user userview.jurisdiction = jurisdiction userview.entity_name = entity_name userview.entity_id = entity_id userview.comments_count = Comment.objects.filter(jurisdiction = jurisdiction, entity_name = entity_name, entity_id = entity_id).count() userview.last_comment = last_comment userview.view_datetime = datetime.datetime.now() userview.save() data['commnets'] = comments body = requestProcessor.decode_jinga_template(request,'website/blocks/comments_list.html', data, '') dajax.assign('#old_list ul', 'innerHTML', body) dajax.assign('#show_commnet_div', 'innerHTML', '<a id="id_a_hide" href="#"><img src="/media/images/arrow_down.png" style="vertical-align:bottom;" alt="Hide old comments" >Hide old comments </a>') script = requestProcessor.decode_jinga_template(request,'website/jurisdictions/jurisdiction_comment.js', data, '') dajax.script(script) return HttpResponse(dajax.json()) return