def add_tag(request, mlist_fqdn, threadid): """ Add a tag to a given thread. """ if not request.user.is_authenticated(): return HttpResponse('You must be logged in to add a tag', content_type="text/plain", status=403) if request.method != 'POST': raise SuspiciousOperation form = AddTagForm(request.POST) if not form.is_valid(): return HttpResponse("Error adding tag: invalid data", content_type="text/plain", status=500) tag = form.data['tag'] try: tag_obj = Tag.objects.get(threadid=threadid, list_address=mlist_fqdn, tag=tag) except Tag.DoesNotExist: tag_obj = Tag(list_address=mlist_fqdn, threadid=threadid, tag=tag) tag_obj.save() # Now refresh the tag list tags = Tag.objects.filter(threadid=threadid, list_address=mlist_fqdn) FakeMList = namedtuple("MailingList", ["name"]) t = loader.get_template('threads/tags.html') html = t.render(RequestContext(request, { "tags": tags, "mlist": FakeMList(name=mlist_fqdn)})) response = {"tags": [ t.tag for t in tags ], "html": html} return HttpResponse(json.dumps(response), mimetype='application/javascript')
def qpool_edit_tag(request, tag): tag_obj = get_object_or_404(Tag, pk=tag) if request.method == "POST": form = AddTagForm(data = request.POST, instance = tag_obj) if form.is_valid(): form.save() return redirect('qpool_manage_tags') else: form = AddTagForm(instance=tag_obj) return render_to_response('cpanel/qpool_edit_tag.html', {'form':form, 'tags': tag_obj}, context_instance=RequestContext(request))
def qpool_edit_tag(request, tag): tag_obj = get_object_or_404(Tag, pk=tag) if request.method == "POST": form = AddTagForm(data = request.POST, instance = tag_obj) if form.is_valid(): form.save() return redirect('qpool_manage_tags') else: form = AddTagForm(instance=tag_obj) return render_to_response('cpanel/qpool_edit_tag.html', {'form':form, 'tags': tag_obj}, context_instance=RequestContext(request))
def qpool_add_tag(request): form = AddTagForm() if request.method == "POST": tag = AddTagForm(data=request.POST) if tag.is_valid(): tag.save() return redirect('qpool_manage_tags') else: form = tag return render_to_response('cpanel/qpool_add_tag.html', {'form': form}, context_instance=RequestContext(request))
def qpool_add_tag(request): form = AddTagForm() if request.method == "POST": tag = AddTagForm(data=request.POST) if tag.is_valid(): tag.save() return redirect('qpool_manage_tags') else: form = tag return render_to_response('cpanel/qpool_add_tag.html', {'form': form}, context_instance=RequestContext(request))
def add_tag(request): form = AddTagForm(request.POST) if form.is_valid(): tagname = form.cleaned_data.get('tagname') # 先判断一下数据库中是否已经存在同名的标签 resultTag = TagModel.objects.filter(name=tagname).first() if not resultTag: # 如果没有,说明可以添加 tagModel = TagModel(name=tagname) tagModel.save() return myjson.json_result(data={'id': tagModel.id, 'name': tagModel.name}) else: return myjson.json_params_error(message=u'不能设置同名标签!') else: return form.get_error_response()
def cms_add_tag(request): '''如果tag已经存在,则不允许在添加,否则添加 ''' form = AddTagForm(request.POST) if form.is_valid(): tag_name = form.cleaned_data.get('tag_name') tag_model = TagModel.objects.filter(name=tag_name).first() if tag_model: return myjson.json_params_error(u'该标签已存在,请重新设置!') else: tagModel = TagModel(name=tag_name) tagModel.save() return myjson.json_result() else: message = form.errors return myjson.json_params_error(message)
def add_tags(request): form = AddTagForm(request.POST) if form.is_valid(): tagname = form.cleaned_data.get('tagname') resultTag = TagModel.objects.filter(name=tagname).first() if not resultTag: tagModel = TagModel(name=tagname) tagModel.save() return xtjson.json_result(data={ 'id': tagModel.id, 'name': tagModel.name }) else: return xtjson.json_params_error(message=u'名字不能重复') else: return form.get_error_response()
def add_tag(request, mlist_fqdn, threadid): """ Add a tag to a given thread. """ if not request.user.is_authenticated(): return HttpResponse('You must be logged in to add a tag', content_type="text/plain", status=403) if request.method != 'POST': raise SuspiciousOperation form = AddTagForm(request.POST) if not form.is_valid(): return HttpResponse("Error adding tag: invalid data", content_type="text/plain", status=500) tag = form.data['tag'] try: tag_obj = Tag.objects.get(threadid=threadid, list_address=mlist_fqdn, tag=tag) except Tag.DoesNotExist: tag_obj = Tag(list_address=mlist_fqdn, threadid=threadid, tag=tag) tag_obj.save() # Now refresh the tag list tags = Tag.objects.filter(threadid=threadid, list_address=mlist_fqdn) FakeMList = namedtuple("MailingList", ["name"]) t = loader.get_template('threads/tags.html') html = t.render( RequestContext(request, { "tags": tags, "mlist": FakeMList(name=mlist_fqdn) })) response = {"tags": [t.tag for t in tags], "html": html} return HttpResponse(json.dumps(response), mimetype='application/javascript')