Example #1
0
def signup(request):
    "Handles signup requests. If user already registered, re-direct to main page"
    user = users.get_current_user()
    if not user:
        return HttpResponseRedirect(login_url)
    if get_rgs_user(guser=user):
        return HttpResponseRedirect('/')

    if request.method == 'POST':
        results = {}
        nick = string.lower(escape(string.strip(request.POST.get('nick',''))))
        email = string.lower(escape(string.strip(request.POST.get('email',''))))
        if not new_user(nick=nick, email=email, user=user, results=results):
             return HttpResponseRedirect('/signup?rc=%d' % results['retcode'])
        return HttpResponseRedirect(request.POST.get('cont','/'))
    elif request.method == 'GET':
        error_str = get_error_str(escape(request.GET.get('rc', '')))
        return render_to_response('signup.html', 
                                  {'user_nick':user.nickname(), 
                                   'user_email':user.email(), 
                                   'error_str':error_str,
                                   'cont':request.GET.get("cont", "/"), 
                                   'act':request.GET.get("act",""), 
                                   'actarg':request.GET.get("actarg",""), 
                                  }, context_instance=RequestContext(request))
    return HttpResponseRedirect('/')
Example #2
0
def comment(request, commentkey):
    "Handles comment page requests to Reply and Edit"
    cmnt = Comment.get(db.Key(commentkey))
    if not cmnt:
        return HttpResponseRedirect('/')
    ruser = get_rgs_user()
    if request.method == 'GET':
        return render_to_response('comment.html', 
                          {'ruser':ruser,
                           'login_url':login_url,
                           'logout_url':logout_url,
                           'comment': cmnt,
                          }, context_instance=RequestContext(request))
    # Post new/edit comment
    if not ruser:
        return HttpResponseRedirect('/')
    text=escape(string.strip(request.POST.get('ctext','')))
    if len(text) > 0:
        if ruser.entry_id() == cmnt.posted_by_ruser.entry_id():
            update_comment(cmnt, text)
        else:
            post_reply(cmnt, ruser, text)
    # Re-direct to source page
    return HttpResponseRedirect(reverse("kabar.views.source",
                                        args=[str(cmnt.src.entry_id())]))
Example #3
0
def about(request):
    if request.method == 'GET':
        return render_to_response('about.html',
                                  {'ruser':get_rgs_user(),
                                   'login_url':login_url,
                                   'logout_url':logout_url,
                                  }, context_instance=RequestContext(request))
    return HttpResponseRedirect('/')
Example #4
0
def user_profile(request, nick):
    if nick and request.method == 'GET':
        nick = string.lower(escape(string.strip(nick)))
        ruser = get_rgs_user()
        puser = get_rgs_user(nick=nick)
        is_owner = (ruser and ruser.nick == nick)
        if puser:
            return render_to_response('profile.html', 
                                  {'ruser':ruser,
                                   'puser':puser,
                                   'login_url':login_url,
                                   'is_owner':is_owner,
                                   'logout_url':logout_url,
                                  }, context_instance=RequestContext(request))
    elif nick and request.method == 'POST':
        ruser = get_rgs_user()
        if ruser and nick == ruser.nick:
            pass
    return HttpResponseRedirect('/')
Example #5
0
def votedown(request):
    if request.method == 'POST':
        ruser = get_rgs_user()
        if not ruser:
            return ajax_resp(1)
        id = string.strip(escape(request.POST.get('id','')))
        idarr = string.split(id,'votedown')
        if not len(id) or len(idarr) != 2:
            return ajax_resp()
        val = do_vote(ruser, idarr[1], -1)
        if not val:
            return ajax_resp()
        return ajax_resp(2, idarr[1], val)
    else:
        return HttpResponse('You must have Javascript disabled else please report this error.')
Example #6
0
def index(request, page='1', latest='0'):
    "Handles main/index page request"
    if request.method == 'GET':
        page, offset = get_page_info(page)
        posts = get_disp_posts(page, offset, (latest=='1'))
        more_pages = (posts and len(posts) == Limits.MAXPOSTSPERPAGE and not page > Limits.MAXPAGES)
        mcache_stats = memcache.get_stats() if settings.DEBUG else None
        return render_to_response('index.html', 
                                  {'ruser':get_rgs_user(),
                                   'login_url':login_url,
                                   'logout_url':logout_url,
                                   'page':page, 'offset':offset,
                                   'disp_posts': posts,
                                   'latest':latest=='1', 'more_pages': more_pages,
                                   'mcache_stats': mcache_stats,
                                  }, context_instance=RequestContext(request))
    return HttpResponseRedirect('/')
Example #7
0
def post(request):
    "Handles post/source submission requests"
    ruser = get_rgs_user()
    if request.method == 'GET':
        error_str = get_error_str(escape(request.GET.get('rc', '')))
        return render_to_response('post.html',
                                   {
                                    'ruser' : ruser,
                                    'logout_url':logout_url,
                                    'error_str':error_str,
                                   },
                                  context_instance=RequestContext(request))
    elif request.method == 'POST':
        title = string.strip(escape(request.POST.get('title','')))
        url = string.lower(string.strip(escape(request.POST.get('url',''))))
        retcode = submit_post(title=title, url=url, ruser=ruser)
        return HttpResponseRedirect('/post?rc=%d' % retcode)
    return HttpResponseRedirect('/')
Example #8
0
def source(request, srcid):
    "Handles source page request"
    try: srcid=long(srcid)
    except: src = None
    else: src = Source.get_by_id(srcid)
    if not src:
        return HttpResponseRedirect('/')

    ruser = get_rgs_user()
    if request.method == 'POST':
        if not ruser:
            return HttpResponseRedirect('/')
        text=escape(string.strip(request.POST.get('ctext','')))
        if len(text) > 0:
            post_comment(src, ruser, text)

    return render_to_response('source.html', 
                          {'ruser':ruser,
                           'login_url':login_url,
                           'logout_url':logout_url,
                           'src': src,
                           'comments':get_comments(src),
                          }, context_instance=RequestContext(request))