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 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 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 delete(request): if request.user.is_anonymous(): return redirect('/login/') blast = get_object_or_404(Blast, pk = request.POST.get('id', '')) if blast.user == request.user: blast.delete() return redirect('/%s/' % request.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 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 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, })
def favourite(request): if request.user.is_anonymous(): return redirect('/login/') key = [k for k in request.POST.keys() if 'fave' in k][0].split('.')[0] # key will now be uncheck-45 or check-23 verb, pk = key.split('-') blast = get_object_or_404(Blast, pk = pk) # Check the user is allowed to modify this blast blast.set_viewing_user(request.user) if not blast.user_can_favourite(): return HttpResponse('You are not allowed to favourite that') if verb == 'fave': blast.favourited_by.add(request.user) if verb == 'notfave': blast.favourited_by.remove(request.user) return redirect(request.POST.get('back_to', '') or '/')
def toggle(request): if request.user.is_anonymous(): return redirect('/login/') key = [k for k in request.POST.keys() if 'check' in k][0].split('.')[0] # key will now be uncheck-45 or check-23 verb, pk = key.split('-') blast = get_object_or_404(Blast, pk = pk) # Check the user is allowed to modify this blast blast.set_viewing_user(request.user) if not blast.viewing_user_can_mark_done(): return HttpResponse('You are not allowed to check off that task') if verb == 'check': blast.done = True if verb == 'uncheck': blast.done = False blast.save() return redirect(request.POST.get('back_to', '') or '/')