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 ', })
def all_files(request): return render(request, 'all_files.html', { 'section': 'files', 'blasts': prepare_blasts( Blast.objects.exclude(attachment = ''), request.user ), })
def all_pastes(request): return render(request, 'all_pastes.html', { 'blasts': prepare_blasts( Blast.objects.exclude(extended=None).exclude(extended=''), request.user ) })
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), })
def all(request): return render(request, 'homepage.html', { 'blasts': prepare_blasts( Blast.objects.all().order_by('-created'), request.user, bundle = True ), 'more_blasts': False, })
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), })
def all_favourites(request): return render(request, 'all_favourites.html', { 'blasts': prepare_blasts( Blast.objects.filter( favourited_by__isnull = False ).distinct(), request.user ) })
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 ) })
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', ''), })
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, })
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), })
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, })
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, })
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, })
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, })
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, })