Example #1
0
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]))
Example #2
0
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()
Example #3
0
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)
Example #4
0
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]),
    )
Example #5
0
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)