示例#1
0
def all_todos(request):
    return render(request, 'all_todos.html', {
        'blasts': prepare_blasts(
            Blast.objects.filter(is_todo = True), request.user
        ),
        'initial_blast': 'todo: @all ',
    })
示例#2
0
文件: views.py 项目: cmcsun/bugle
def all_files(request):
    return render(request, 'all_files.html', {
        'section': 'files',
        'blasts': prepare_blasts(
            Blast.objects.exclude(attachment = ''), request.user
        ),
    })
示例#3
0
def all_pastes(request):
    return render(request, 'all_pastes.html', {
        'blasts': prepare_blasts(
            Blast.objects.exclude(extended=None).exclude(extended=''),
            request.user
        )
    })
示例#4
0
def pastes(request, username):
    user = get_object_or_404(User, username = username)
    blasts = user.blasts.exclude(extended = None).exclude(extended = '')
    return render(request, 'pastes.html', {
        'profile': user,
        'blasts': prepare_blasts(blasts, request.user),
    })
示例#5
0
文件: views.py 项目: cmcsun/bugle
def all(request):
    return render(request, 'homepage.html', {
        'blasts': prepare_blasts(
            Blast.objects.all().order_by('-created'), request.user,
            bundle = True
        ),
        'more_blasts': False,
    })
示例#6
0
文件: views.py 项目: cmcsun/bugle
def files(request, username):
    user = get_object_or_404(User, username = username)
    blasts = user.blasts.exclude(attachment = '')
    return render(request, 'files.html', {
        'section': 'files',
        'profile': user,
        'blasts': prepare_blasts(blasts, request.user),
    })
示例#7
0
def all_favourites(request):
    return render(request, 'all_favourites.html', {
        'blasts': prepare_blasts(
            Blast.objects.filter(
                favourited_by__isnull = False
            ).distinct(), request.user
        )
    })
示例#8
0
def all_mentions(request):
    return render(request, 'all_mentions.html', {
        'blasts': prepare_blasts(
            Blast.objects.filter(
                Q(mentioned_users__isnull = False) | Q(is_broadcast = True)
            ).distinct(), request.user
        )
    })
示例#9
0
文件: views.py 项目: cmcsun/bugle
def homepage(request):
    return render(request, 'homepage.html', {
        'blasts': prepare_blasts(
            Blast.objects.all().order_by('-created')[:NUM_ON_HOMEPAGE],
            request.user, bundle=True
        ),
        'more_blasts': Blast.objects.count() > NUM_ON_HOMEPAGE,
        'initial_blast': request.GET.get('blast', ''),
    })
示例#10
0
文件: views.py 项目: cmcsun/bugle
def profile(request, username):
    user = get_object_or_404(User, username = username)
    return render(request, 'profile.html', {
        'profile': user,
        'blasts': prepare_blasts(
            user.blasts.all(), request.user, bundle=False
        ),
        'show_delete': request.user == user,
    })
示例#11
0
def favourites(request, username):
    user = get_object_or_404(User, username = username)
    blasts = Blast.objects.filter(
        favourited_by = user
    )
    return render(request, 'favourites.html', {
        'profile': user,
        'blasts': prepare_blasts(blasts, request.user),
    })
示例#12
0
def blast(request, pk):
    try:
        b = prepare_blasts(
            Blast.objects.filter(pk = pk), request.user
        )[0]
    except IndexError:
        raise Http404
    return render(request, 'blast.html', {
        'blast': b,
    })
示例#13
0
def mentions(request, username):
    user = get_object_or_404(User, username = username)
    blasts = Blast.objects.filter(
        Q(mentioned_users = user) | Q(is_broadcast = True)
    ).distinct()
    return render(request, 'mentions.html', {
        'profile': user,
        'blasts': prepare_blasts(blasts, request.user),
        'initial_blast': '@%s ' % username,
    })
示例#14
0
文件: views.py 项目: cmcsun/bugle
def search(request):
    q = request.GET.get('q', '').strip()
    blasts = []
    if q:
        blasts = prepare_blasts(
            Blast.objects.filter(query_to_q_object(q, 'message')),
            request.user
        )
    return render(request, 'search.html', {
        'q': q,
        'blasts': blasts,
    })
示例#15
0
文件: views.py 项目: cmcsun/bugle
def stats(request):
    blast_dates = list(Blast.objects.values_list('created', flat=True))
    date_counts = {}
    for date in blast_dates:
        d = date.date()
        date_counts[d] = date_counts.get(d, 0) + 1
    top_dates = date_counts.items()
    top_dates.sort(key = lambda x: x[0])
    return render(request, 'stats.html', {
        'top_users': User.objects.annotate(
            num_blasts = Count('blasts')
        ).order_by('-num_blasts'),
        'top_dates': top_dates,
    })
示例#16
0
def todos(request, username):
    user = get_object_or_404(User, username = username)
    blasts = Blast.objects.filter(is_todo = True).filter(
        Q(user = user) | Q(mentioned_users = user) | Q(is_broadcast = True)
    ).distinct()
    if request.user.username == username:
        initial_blast = 'todo: '
    else:
        initial_blast = 'todo: @%s ' % username
    return render(request, 'todos.html', {
        'profile': user,
        'blasts': prepare_blasts(blasts, request.user),
        'initial_blast': initial_blast,
    })