def client_exchange(request): ret = None if request.method == 'POST': function_name = request.POST['fun'] # function called from client user = request.user if function_name == 'experiment': ret = experiment() elif function_name == 'warn': # TODO: (RBE to RBA) send mail withinfos ret = "warn test" #print request.POST else: key = request.POST['key'] version_key = request.POST['version_key'] text = Text.objects.get(key=key) #TODO: stupid why restrict to latest ? text_version = text.get_latest_version() if (text != None): if function_name == 'ownNotify': ret = own_notify(request=request, key=key) if function_name in ( 'editComment', 'addComment', 'removeComment', ): if function_name == 'editComment': ret = edit_comment( request=request, key=key, comment_key=request.POST['comment_key']) elif function_name == 'addComment': ret = add_comment(request=request, key=key, version_key=version_key) elif function_name == 'removeComment': ret = remove_comment( request=request, key=key, comment_key=request.POST['comment_key']) ret['filterData'] = get_filter_datas( request, text_version, text) #ret['tagCloud'] = get_tagcloud(key) if ret: if type(ret) != HttpResponseRedirect and type(ret) != HttpResponse: ret = HttpResponse( simplejson.dumps(ret, cls=RequestComplexEncoder, request=request)) else: ret = HttpResponse() ret.status_code = 403 return ret
def text_view_comments(request, key, version_key=None, adminkey=None): text = get_text_by_keys_or_404(key) read_only = False if version_key : text_version = get_textversion_by_keys_or_404(version_key, adminkey, key) if settings.ALLOW_CLIENT_MODIF_ON_LAST_VERSION_ONLY : read_only = (text.last_text_version_id != text_version.id) else : text_version = text.get_latest_version() comments = get_viewable_comments(request, text_version.comment_set.filter(reply_to__isnull=True),text) filter_datas = get_filter_datas(request, text_version, text) get_params = simplejson.dumps(request.GET) wrapped_text_version, _ , _ = spannify(text_version.get_content()) from cm.models import ApplicationConfiguration categories = {} for i in range(1, 6): if text_version.__dict__['category_' + str(i)] == None or text_version.__dict__['category_' + str(i)].lower() != 'none': if text_version.__dict__['category_' + str(i)] != None and text_version.__dict__['category_' + str(i)] != '': categories[i] = text_version.__dict__['category_' + str(i)] else: if ApplicationConfiguration.get_key('workspace_category_' + str(i)) != None and ApplicationConfiguration.get_key('workspace_category_' + str(i)) != '': categories[i] = ApplicationConfiguration.get_key('workspace_category_' + str(i)) template_dict = { 'text' : text, 'text_version' : text_version, 'title' : text_version.title, # TODO use it ... 'get_params' : get_params, 'content' : wrapped_text_version, 'client_date_fmt' : settings.CLIENT_DATE_FMT, 'read_only' : read_only, } template_dict['json_comments'] = jsonize(comments, request) template_dict['json_filter_datas'] = jsonize(filter_datas, request) if categories: categories[0] = 'none' template_dict['categories'] = jsonize(categories, request) custom_css_str = ApplicationConfiguration.get_key('custom_css') if custom_css_str: custom_css = cssutils.parseString(custom_css_str) for css_rule in custom_css: if css_rule.type == css_rule.STYLE_RULE and css_rule.wellformed: css_rule.selectorText = "#textcontainer %s" %css_rule.selectorText template_dict['custom_css'] = custom_css.cssText template_dict['custom_font'] = ApplicationConfiguration.get_key('custom_font') template_dict['custom_titles_font'] = ApplicationConfiguration.get_key('custom_titles_font') return render_to_response('site/text_view_comments.html', template_dict, context_instance=RequestContext(request))
def client_exchange(request): ret = None if request.method == 'POST' : function_name = request.POST['fun']# function called from client user = request.user if function_name == 'experiment' : ret = experiment() elif function_name == 'warn' : # TODO: (RBE to RBA) send mail withinfos ret = "warn test" #print request.POST else : key = request.POST['key'] version_key = request.POST['version_key'] text = Text.objects.get(key=key) #TODO: stupid why restrict to latest ? text_version = text.get_latest_version() if (text != None) : if function_name == 'ownNotify' : ret = own_notify(request=request, key=key) if function_name in ('editComment', 'addComment', 'removeComment',) : if function_name == 'editComment' : ret = edit_comment(request=request, key=key, comment_key=request.POST['comment_key']) elif function_name == 'addComment' : ret = add_comment(request=request, key=key, version_key=version_key) elif function_name == 'removeComment' : ret = remove_comment(request=request, key=key, comment_key=request.POST['comment_key']) ret['filterData'] = get_filter_datas(request, text_version, text) #ret['tagCloud'] = get_tagcloud(key) if ret : if type(ret) != HttpResponseRedirect and type(ret) != HttpResponse: ret = HttpResponse(simplejson.dumps(ret, cls=RequestComplexEncoder, request=request)) else : ret = HttpResponse() ret.status_code = 403 return ret