示例#1
0
def my_issue_list(request, *args, **kwargs):
    """ 
    -show issues to vote on in different sortings
    based on collective voting knowlegde. 
    -show issue form to propose issue, if you have the game rights
    """
    template_name= "dashboard/my_issues.html"

    issueform = propose_issue(request)
    issues = Issue.objects.select_related().order_by('-time_stamp')
    issues = issues.filter( user=request.user ) 

    if 'sortorder' in kwargs:
        issues, page = order_issues(request, kwargs['sortorder'], issues)
    else:
        page = paginate(request, issues)
        issues = page.object_list

    c = RequestContext(request, {
        'issueform' : issueform,
        'blank_votes' : blank_votes.items(),
        'possible_votes' : possible_votes,
        'issues'  : issues, 
        'page' : page,
        'actions' : actions.get_actions(request.user),
    }) 

    t = loader.get_template(template_name)
    return HttpResponse(t.render(c))
示例#2
0
def issue_list(request, *args, **kwargs):
    """ 
    shows issues to vote on in different sortings
    based on collective knowlegde from votings on them
    """
    template_name= "issue/issue_list.html"

    if not request.method == "GET":
        return HttpResponseBadRequest

    issues = Issue.objects.select_related().order_by('-time_stamp')
    issues = issues.filter( is_draft=False )

    if 'sortorder' in kwargs:
        issues, page = order_issues(request, kwargs['sortorder'], issues)
    elif 'tag' in kwargs:
        tag = "\"%s\"" % kwargs['tag']
        issues = Issue.tagged.with_any(tag)
        page = paginate(request, issues)
        issues = page.object_list
    else:
        page = paginate(request, issues)
        issues = page.object_list

    flash_msg = request.session.get("flash_msg","")
    if flash_msg:
        del request.session['flash_msg']


    c = RequestContext(request, {
        'blank_votes' : blank_votes.items(),
        'possible_votes' : possible_votes,
        'issues'  : issues, 
        'page' : page,
        'votedata' : Vote,
        'flash_msg' : flash_msg,
    }) 
   
    t = loader.get_template(template_name)
    return HttpResponse(t.render(c))
示例#3
0
def my_votes_list(request, *args, **kwargs):
    """
    Show user votes
    """
    template_name = "dashboard/my_votes.html"

    if not request.method == "GET":
        return HttpResponseBadRequest

    myvotes = Vote.objects.get_user_votes(request.user)
    # XXX on each vote object we need to do a query to 
    # its voted on object. tagging has an efficient way for that in tagging.generic.
    page = paginate(request, myvotes, 10)

    c = RequestContext(request, {
        'blank_votes' : blank_votes.items(),
        'possible_votes' : possible_votes,
        'vote' : Vote,
        'page' : page,
        'my_votes' : page.object_list
    }) 
    t = loader.get_template(template_name)
    return HttpResponse(t.render(c))
示例#4
0
def issue_list(request, *args, **kwargs):
    """ 
    shows issues to vote on in different sortings
    based on collective knowlegde from votings on them
    
    Note by using the keyword arguments ``template_name``, ``extra_context`` and
    ``issues`` one can reuse most or all of the display-an-issue-code (no need
    to reimplement that stuff). How to use:
    
    1 build a view function that calls and returns this view
    2 construct a QuerySet of Issues pass it in with as ``issues``
    3 save a (edited) copy of "issue/issue_list.html" somewhere
    4 pass in the template location as ``template_name``
    5 pass in a dictionary of extra context variables as ``extra_context``
    
    These keywords were added whilst constructing a page that shows a user's
    issues without reimplementing this function etc.
    """
    
    template_name = kwargs.get('template_name', "issue/issue_list.html")
    extra_context = kwargs.get('extra_context', dict())

    page = False 

    if kwargs.has_key('issues'):
        issues = kwargs['issues']
    else:
        issues = Issue.active.select_related().order_by('-time_stamp')

    if kwargs.get('sortorder', False):
        #pagination is now done on vote table
        min_tv = kwargs.get('min_tv', 6)
        subset = kwargs.get('subset', None)
        page, issues = order_issues(request, kwargs['sortorder'], 
            issues, min_tv, subset)

    if not page: 
        page = paginate(request, issues)
        issues = page.object_list

    #XXX to be changed.
    flash_msg = request.session.get("flash_msg","")
    if flash_msg:
        del request.session['flash_msg']

    context = {'current' : 'all_issues'}
    context.update(extra_context)
    context.update({
        'blank_votes' : blank_votes.items(),
        'issues'  : issues, 
        'page' : page,
        'votedata' : Vote,
        'flash_msg' : flash_msg,
        'sortorder' : kwargs.get('sortorder', ''),
        'total_issues' : Issue.active.count(),
        'total_votes' : get_user_votes(request) 
    })

    c = RequestContext(request, context)    
    t = loader.get_template(template_name)
    return HttpResponse(t.render(c))
示例#5
0
def issue_list(request, *args, **kwargs):
    """ 
    shows issues to vote on in different sortings
    based on collective knowlegde from votings on them
    
    Note by using the keyword arguments ``template_name``, ``extra_context`` and
    ``issues`` one can reuse most or all of the display-an-issue-code (no need
    to reimplement that stuff). How to use:
    
    1 build a view function that calls and returns this view
    2 construct a QuerySet of Issues pass it in with as ``issues``
    3 save a (edited) copy of "issue/issue_list.html" somewhere
    4 pass in the template location as ``template_name``
    5 pass in a dictionary of extra context variables as ``extra_context``
    
    These keywords were added whilst constructing a page that shows a user's
    issues without reimplementing this function etc.
    """

    template_name = kwargs.get('template_name', "issue/issue_list.html")
    extra_context = kwargs.get('extra_context', dict())

    page = False

    if kwargs.has_key('issues'):
        issues = kwargs['issues']
    else:
        issues = Issue.active.select_related().order_by('-time_stamp')

    if kwargs.get('sortorder', False):
        #pagination is now done on vote table
        min_tv = kwargs.get('min_tv', 6)
        subset = kwargs.get('subset', None)
        page, issues = order_issues(request, kwargs['sortorder'], issues,
                                    min_tv, subset)

    if not page:
        page = paginate(request, issues)
        issues = page.object_list

    #XXX to be changed.
    flash_msg = request.session.get("flash_msg", "")
    if flash_msg:
        del request.session['flash_msg']

    context = {'current': 'all_issues'}
    context.update(extra_context)
    context.update({
        'blank_votes': blank_votes.items(),
        'issues': issues,
        'page': page,
        'votedata': Vote,
        'flash_msg': flash_msg,
        'sortorder': kwargs.get('sortorder', ''),
        'total_issues': Issue.active.count(),
        'total_votes': get_user_votes(request)
    })

    c = RequestContext(request, context)
    t = loader.get_template(template_name)
    return HttpResponse(t.render(c))