def profile_page(request, username='', ): if not username or username == request.user.username or username==request.user.id: user = request.user is_self = True else: try: user = Member.objects.get(id=username) except: user = get_object_or_404(Member,username=username) page = request.GET.get('page','') profile_dict={ 'id':user.id, 'username':user.username, 'nickname':user.nickname, 'email':user.email, } verify_auth=in_editor_group(request.user) resume_auth=in_admin_group(request.user) article_list = [{'aid':a.aid, 'is_deleted':a.is_deleted, 'is_verified':a.is_verified, 'is_headline':a.is_headline, 'title':a.title, 'authorname':a.authorname, 'typename':Type.objects.get(typeid=a.typeid).typename} for a in Article.objects.filter(authorname=user.username) if (not a.is_deleted or resume_auth) and (a.is_verified or verify_auth or a.authorname==request.user.username)] article_list = pag(article_list,page,20) return render_to_response('member-profile.html',{'profile_dict':profile_dict, 'article_list':article_list, 'verify_auth':verify_auth, 'resume_auth':resume_auth, 'page_title':user.username},context_instance=RequestContext(request,processors=[custom_proc]))
def resume_article(request,articleid): '''可以与delete_article重构为同一个视图''' a = get_object_or_404(Article, aid=articleid) if in_admin_group(request.user): a.is_deleted=False a.save() return redirect(request, URL_PRE+'/member/profile/%s/'%(a.authorname)) else: raise Http404()
def useradd(request): if in_admin_group(request.user): error={} if request.method == 'POST': form = UseraddForm(request.POST) if form.is_valid(): post_data=form.cleaned_data username,pw,email,nickname = post_data['username'],post_data['password'],post_data['email'],post_data['nickname'] try: user = Member.objects.create_user(username, email, pw) user.nickname=nickname uaddon = MemberAddon(mid=user.id) user.save() uaddon.save() return redirect(request,'/wheel/') except: error['name_wrong']=True#实际上也可能会是邮箱出错 return render_form_page(request,'','wheel/useradd.html',UseraddForm,{},error) else: return HttpResponseRedirect('/')
def show_article(request, articleid, status={}, verify_form=None): a = get_object_or_404(Article, aid=articleid) 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=articleid) type = Type.objects.get(typeid=a.typeid) content = a_addon.content try: author = Member.objects.get(username=a.authorname) nickname = author.nickname except: nickname = a.authorname return render_to_response('show-article.html', {'article':a, 'nickname':nickname, 'content':content, 'type':type, 'newest':get_new_article(), 'status':status, 'verify_form':verify_form, 'page_title':a.title},context_instance=RequestContext(request,processors=[custom_proc]))
def list_article(request, u='', list_method='all'): verify_auth=in_editor_group(request.user) if not verify_auth: return Http404() resume_auth=in_admin_group(request.user) list_all = False if not u or u == request.user.username or u==request.user.id: user = request.user is_self = True if not u: list_all = True else: try: user = Member.objects.get(id=u) except: user = get_object_or_404(Member,username=u) page = request.GET.get('page','') if list_all: articles = Article.objects.all() else: articles = Article.objects.filter(authorname=user.username) article_list = [{'aid':a.aid, 'is_deleted':a.is_deleted, 'is_verified':a.is_verified, 'is_headline':a.is_headline, 'title':a.title, 'authorname':a.authorname, 'typename':Type.objects.get(typeid=a.typeid).typename} for a in articles if check_article(a,list_method,verify_auth,resume_auth)] article_list = pag(article_list,page,20) list_method_dict = {list_method:1} return render_to_response('wheel/list-article.html',{'article_list':article_list, 'resume_auth':resume_auth, 'verify_auth':verify_auth, 'user':user, 'list_all':list_all, 'method':list_method_dict, 'page_title':u'article manage'},context_instance=RequestContext(request,processors=[custom_proc]))