def edit_article(request,articleid=0): result_aid=False if request.method == 'POST': if request.POST.get('is_verified') and in_editor_group(request.user): is_verified=format_is_verified(request.POST.get('is_verified')) a = get_object_or_404(Article, aid=articleid) a.is_verified=is_verified a.save() return show_article(request,articleid,edited=True) else: form = EditForm(request.POST) if form.is_valid(): #assert False return update_article(request,articleid) else: if articleid==0: form = EditForm() else: a = get_object_or_404(Article, aid=articleid) if request.user.username==a.authorname or in_editor_group(request.user): a_addon = AddonArticle.objects.get(aid_id=articleid) form = EditForm(initial={'title':a.title, 'typeid':a.typeid, 'u_text':a_addon.content}) else: return show_article(request,articleid,no_perm=True) #upload_form = UploadForm() return render_to_response('edit-article.html', {'form': form, #'upload_form':upload_form, 'page_title': 'add article test', 'result_aid':result_aid, 'aid':articleid},context_instance=RequestContext(request,processors=[custom_proc]))
def show_article(request,articleid,edited=False,no_perm=False,verify=False,verify_form=None): a = get_object_or_404(Article, aid=articleid) if not in_editor_group(request.user) and verify: verify=False no_perm=True if verify: t=a.is_verified #assert False verify_form=VerifyForm(initial={'is_verified':a.is_verified}) if a.is_verified or in_editor_group(request.user) or request.user.username==a.authorname: if not a.is_deleted or in_admin_group(request.user): a_addon = AddonArticle.objects.get(aid_id=articleid) type = Type.objects.get(typeid=a.typeid) return render_to_response('show-article.html', {'article':a, 'addon_article':a_addon, 'type':type, 'no_perm':no_perm, 'edited':edited, 'verify':verify, 'verify_form':verify_form, 'page_title':a.title},context_instance=RequestContext(request,processors=[custom_proc])) else: raise Http404() else: raise Http404()
def update_article(request,articleid=0): typeid = request.POST.get('typeid', '') title = request.POST.get('title', '') u_text = request.POST.get('u_text', '') #assert False if articleid==0: a = Article(title=title, typeid=typeid, authorname=request.user.username) a.save() a_addon = AddonArticle(aid_id=a.aid, content=u_text, authorip=request.META['REMOTE_ADDR']) a_addon.save() else: a = get_object_or_404(Article, aid=articleid) if request.user.username==a.authorname or in_editor_group(request.user): a.title = title a.typeid = typeid a_addon = AddonArticle.objects.get(aid_id=articleid) a_addon.content = u_text c=a_addon.content a.save() a_addon.save() #assert False else: return show_article(request,articleid,no_perm=True) return show_article(request,a.aid,edited=True)
def profile_page(request, username): user = get_object_or_404(auth.models.User, username=username) profile_dict = {"username": username, "email": user.email} article_list = [ { "aid": item.aid, "is_deleted": item.is_deleted, "is_verified": item.is_verified, "title": item.title, "authorname": item.authorname, } for item in Article.objects.filter(authorname=user.username) ] verify_auth = in_editor_group(request.user) resume_auth = in_admin_group(request.user) manage_auth = True # assert False return render_to_response( "member-profile.html", { "profile_dict": profile_dict, "article_list": article_list, "verify_auth": verify_auth, "resume_auth": resume_auth, "manage_auth": manage_auth, }, context_instance=RequestContext(request, processors=[custom_proc]), )
def delete_article(request,articleid): a = get_object_or_404(Article, aid=articleid) if request.user.username==a.authorname or in_editor_group(request.user): a.is_deleted=True a.save() return redirect(request,'/member/profile/%s/'%(a.authorname))#目前还没法在重定向的页面中提示删除成功,待完善 else: return show_article(request,articleid,no_perm=True)