Exemplo n.º 1
0
def mushroom_admin_list(request, entries, start=None, per_page=None):
    """ List a series of entries for one model in the mushroom_admin
    page. """

    entries = globals()[entries]() # Not sure if this is the most
                                   # efficient way to do this (using
                                   # eval might almost be okay,
                                   # because we're only accepting a
                                   # regular expression matching
                                   # [a-z]+ as input for 'entries'
                                   # ... but paranoia is good, right?)
    model = entries.MODEL
    entry_name = entries.NAME
    template = entries.LIST_TEMPLATE

    pn = prev_next(start, per_page)

    entries = model.objects.all()[pn.start:pn.next]
    if pn.per_page > len(entries): pn.next = 0

    ctxt = {
        'entries' : entries,
        'request' : request,
        'prev_next' : pn,
        'page_name' : "%ss" % entry_name,
        'entry_name' : entry_name,
        'media_url' : MEDIA_URL,
        }
    return render_to_response(template, ctxt)
Exemplo n.º 2
0
def list_walks(request, start=None, per_page=None):
    """ Lists all walks. """

    pn = prev_next(start, per_page)
    walk_list = Walk.objects.all()[pn.start:pn.next]
    if pn.per_page > len(walk_list): pn.next = 0  

    template = 'walk_list.html'
    ctxt = { 
        'request' : request,
        'walk_list' : walk_list, 
        'prev_next' : pn,
        'page_name' : 'Walk List',
        'media_url' : MEDIA_URL,
        }
    return render_to_response(template, ctxt)
Exemplo n.º 3
0
def announcements_archive(request, start=None, per_page=None):
    """ Return an archive of the announcements/articles. """

    template = 'article_archive.html'

    pn = prev_next(start, per_page)
    announcements = Announcement.objects.all()[pn.start:pn.next]
    if pn.per_page > len(announcements): pn.next = 0

    ctxt = {
        'announcements' : announcements,
        'media_url' : MEDIA_URL,
        'prev_next' : pn,
        'request' : request,
        }

    return render_to_response(template, ctxt)
Exemplo n.º 4
0
def news_archive(request, start=None, per_page=None):
    """ Return an archive of the news pages. """

    template = 'news_archive.html'

    pn = prev_next(start, per_page)
    newsbits = Newsbit.objects.all()[pn.start:pn.next]
    if pn.per_page > len(newsbits): pn.next = 0

    ctxt = {
        'newsbits' : newsbits,
        'media_url':  MEDIA_URL,
        'prev_next' : pn,
        'request': request,
        }

    return render_to_response(template, ctxt)
Exemplo n.º 5
0
def list_memberships(request, start=None, per_page=None, 
                     due_by=None, year=None, month=None):
    """ List all memberships, or all late memberships. """


    pn = prev_next(start, per_page)
    if due_by:
        if month and year:
            due_by = datetime.date(int(year), int(month), 1)
        else:
            due_by = datetime.date.today()
            
        members = Membership.objects.exclude(
            due__paid_thru__gte=due_by,
            ).exclude(
                membership_type='honorary'
                ).exclude(
                    membership_type__startswith='corresponding'
                    )[pn.start:pn.next]
            
    else:
        members = Membership.objects.all()[pn.start:pn.next]
        due_by = None

    if pn.per_page > len(members): pn.next = 0  
    
    member_list = []
    for member in members:
        users = User.objects.filter(
            userprofile__membership=member.id)
        mem_blob = { 'membership' : member, 'users' : users }
        member_list.append(mem_blob)

    template = 'memberlist.html'
    ctxt = { 
        'member_list' : member_list, 
        'request' : request,
        'due_by' : due_by,
        'prev_next' : pn,
        'page_name' : 'List Memberships',
        'media_url' : MEDIA_URL,
        }
    return render_to_response(template, ctxt)