def following_users(request, username): is_owner = False if request.user.is_authenticated(): is_owner = request.user.username == username user = get_object_or_404(User, username=username) following = follow_utils.get_users_following(User.objects.get(username=username)) return render_to_response('follow/following_users.html', locals(), context_instance=RequestContext(request))
def following_users(request, username): user = get_object_or_404(User, username=username) is_owner = False if request.user.is_authenticated(): is_owner = request.user == user following = follow_utils.get_users_following(user) tvars = {'user': user, 'following': following, 'is_owner': is_owner} return render(request, 'follow/following_users.html', tvars)
def following_users(request, username): is_owner = False if request.user.is_authenticated(): is_owner = request.user.username == username following = follow_utils.get_users_following( User.objects.get(username=username)) return render_to_response('follow/following_users.html', locals(), context_instance=RequestContext(request))
def following_users(request, username): user = request.parameter_user is_owner = False if request.user.is_authenticated: is_owner = request.user == user following = follow_utils.get_users_following(user) tvars = {'user': user, 'following': following, 'is_owner': is_owner} return render(request, 'follow/following_users.html', tvars)
def following_users(request, username): user = get_object_or_404(User, username=username) is_owner = False if request.user.is_authenticated: is_owner = request.user == user following = follow_utils.get_users_following(user) tvars = {'user': user, 'following': following, 'is_owner': is_owner} return render(request, 'follow/following_users.html', tvars)
def sound(request, username, sound_id): try: sound = Sound.objects.select_related("license", "user", "user__profile", "pack").get(id=sound_id) if sound.user.username.lower() != username.lower(): raise Http404 user_is_owner = request.user.is_authenticated and \ (sound.user == request.user or request.user.is_superuser or request.user.is_staff or Group.objects.get(name='moderators') in request.user.groups.all()) # If the user is authenticated and this file is his, don't worry about moderation_state and processing_state if user_is_owner: if sound.moderation_state != "OK": messages.add_message( request, messages.INFO, 'Be advised, this file has <b>not been moderated</b> yet.') if sound.processing_state != "OK": messages.add_message( request, messages.INFO, 'Be advised, this file has <b>not been processed</b> yet.') else: if sound.moderation_state != 'OK' or sound.processing_state != 'OK': raise Http404 except Sound.DoesNotExist: if DeletedSound.objects.filter(sound_id=sound_id).exists(): return render(request, 'sounds/deleted_sound.html') else: raise Http404 if request.method == "POST": form = CommentForm(request, request.POST) if request.user.is_authenticated: if request.user.profile.is_blocked_for_spam_reports(): messages.add_message( request, messages.INFO, "You're not allowed to post the comment because your account " "has been temporaly blocked after multiple spam reports") else: if form.is_valid(): comment_text = form.cleaned_data["comment"] sound.add_comment(request.user, comment_text) try: if request.user.profile.email_not_disabled( "new_comment"): # Send the user an email to notify him of the new comment! logger.debug( "Notifying user %s of a new comment by %s" % (sound.user.username, request.user.username)) send_mail_template( u'You have a new comment.', 'sounds/email_new_comment.txt', { 'sound': sound, 'user': request.user, 'comment': comment_text }, None, sound.user.email) except Exception as e: # If the email sending fails, ignore... logger.error( "Problem sending email to '%s' about new comment: %s" % (request.user.email, e)) return HttpResponseRedirect(sound.get_absolute_url()) else: form = CommentForm(request) qs = Comment.objects.select_related("user", "user__profile")\ .filter(sound_id=sound_id) display_random_link = request.GET.get('random_browsing') is_following = False if request.user.is_authenticated: users_following = follow_utils.get_users_following(request.user) if sound.user in users_following: is_following = True is_explicit = sound.is_explicit and (not request.user.is_authenticated \ or not request.user.profile.is_adult) tvars = { 'sound': sound, 'username': username, 'form': form, 'display_random_link': display_random_link, 'is_following': is_following, 'is_explicit': is_explicit, 'sizes': settings.IFRAME_PLAYER_SIZE, } tvars.update(paginate(request, qs, settings.SOUND_COMMENTS_PER_PAGE)) return render(request, 'sounds/sound.html', tvars)
# If the email sending fails, ignore... logger.error( "Problem sending email to '%s' about new comment: %s" % (request.user.email, e)) return HttpResponseRedirect(sound.get_absolute_url()) else: form = CommentForm(request) qs = Comment.objects.select_related("user", "user__profile")\ .filter(content_type=ContentType.objects.get_for_model(Sound), object_id=sound_id) display_random_link = request.GET.get('random_browsing') do_log = settings.LOG_CLICKTHROUGH_DATA is_following = False if request.user.is_authenticated(): users_following = follow_utils.get_users_following(request.user) if sound.user in users_following: is_following = True is_explicit = sound.is_explicit and (not request.user.is_authenticated() \ or not request.user.profile.is_adult) tvars = { 'sound': sound, 'username': username, 'tags': tags, 'form': form, 'display_random_link': display_random_link, 'do_log': do_log, 'is_following': is_following, 'is_explicit': is_explicit }
except Exception, e: # if the email sending fails, ignore... logger.error("Problem sending email to '%s' about new comment: %s" \ % (request.user.email, e)) return HttpResponseRedirect(sound.get_absolute_url()) else: form = CommentForm(request) qs = Comment.objects.select_related("user", "user__profile").filter(content_type=sound_content_type, object_id=sound_id) display_random_link = request.GET.get('random_browsing') do_log = settings.LOG_CLICKTHROUGH_DATA is_following = False if request.user.is_authenticated(): users_following = follow_utils.get_users_following(request.user) if sound.user in users_following: is_following = True #facebook_like_link = urllib.quote_plus('http://%s%s' % (Site.objects.get_current().domain, reverse('sound', args=[sound.user.username, sound.id]))) return render_to_response('sounds/sound.html', combine_dicts(locals(), paginate(request, qs, settings.SOUND_COMMENTS_PER_PAGE)), context_instance=RequestContext(request)) def sound_download(request, username, sound_id): if not request.user.is_authenticated(): return HttpResponseRedirect('%s?next=%s' % (reverse("accounts-login"), reverse("sound", args=[username, sound_id]))) if settings.LOG_CLICKTHROUGH_DATA: click_log(request,click_type='sounddownload',sound_id=sound_id) sound = get_object_or_404(Sound, id=sound_id, moderation_state="OK", processing_state="OK")
def sound(request, username, sound_id): try: sound = Sound.objects.select_related("license", "user", "user__profile", "pack").get(id=sound_id, user__username=username) user_is_owner = request.user.is_authenticated and \ (sound.user == request.user or request.user.is_superuser or request.user.is_staff or Group.objects.get(name='moderators') in request.user.groups.all()) # If the user is authenticated and this file is his, don't worry about moderation_state and processing_state if user_is_owner: if sound.moderation_state != "OK": messages.add_message(request, messages.INFO, 'Be advised, this file has <b>not been moderated</b> yet.') if sound.processing_state != "OK": messages.add_message(request, messages.INFO, 'Be advised, this file has <b>not been processed</b> yet.') else: if sound.moderation_state != 'OK' or sound.processing_state != 'OK': raise Http404 except Sound.DoesNotExist: if DeletedSound.objects.filter(sound_id=sound_id).exists(): return render(request, 'sounds/deleted_sound.html') else: raise Http404 if request.method == "POST": form = CommentForm(request, request.POST) if request.user.is_authenticated: if request.user.profile.is_blocked_for_spam_reports(): messages.add_message(request, messages.INFO, "You're not allowed to post the comment because your account " "has been temporaly blocked after multiple spam reports") else: if form.is_valid(): comment_text = form.cleaned_data["comment"] sound.add_comment(request.user, comment_text) sound.invalidate_template_caches() try: if sound.user.profile.email_not_disabled("new_comment"): # Send the user an email to notify him of the new comment! logger.info("Notifying user %s of a new comment by %s" % (sound.user.username, request.user.username)) send_mail_template(u'You have a new comment.', 'sounds/email_new_comment.txt', {'sound': sound, 'user': request.user, 'comment': comment_text}, user_to=sound.user) except Exception as e: # If the email sending fails, ignore... logger.error("Problem sending email to '%s' about new comment: %s" % (request.user.username, e)) return HttpResponseRedirect(sound.get_absolute_url()) else: form = CommentForm(request) qs = Comment.objects.select_related("user", "user__profile")\ .filter(sound_id=sound_id) display_random_link = request.GET.get('random_browsing', False) is_following = False if request.user.is_authenticated: users_following = follow_utils.get_users_following(request.user) if sound.user in users_following: is_following = True is_explicit = sound.is_explicit and (not request.user.is_authenticated or not request.user.profile.is_adult) tvars = { 'sound': sound, 'username': username, 'form': form, 'display_random_link': display_random_link, 'is_following': is_following, 'is_explicit': is_explicit, # if the sound should be shown blurred, already checks for adult profile 'sizes': settings.IFRAME_PLAYER_SIZE, } tvars.update(paginate(request, qs, settings.SOUND_COMMENTS_PER_PAGE)) return render(request, 'sounds/sound.html', tvars)
def sound(request, username, sound_id): try: sound = Sound.objects.prefetch_related("tags__tag")\ .select_related("license", "user", "user__profile", "pack")\ .get(id=sound_id, user__username=username) user_is_owner = request.user.is_authenticated and \ (sound.user == request.user or request.user.is_superuser or request.user.is_staff or Group.objects.get(name='moderators') in request.user.groups.all()) # If the user is authenticated and this file is his, don't worry about moderation_state and processing_state if user_is_owner: if sound.moderation_state != "OK": messages.add_message( request, messages.INFO, 'Be advised, this file has <b>not been moderated</b> yet.') if sound.processing_state != "OK": messages.add_message( request, messages.INFO, 'Be advised, this file has <b>not been processed</b> yet.') else: if sound.moderation_state != 'OK' or sound.processing_state != 'OK': raise Http404 except Sound.DoesNotExist: if DeletedSound.objects.filter(sound_id=sound_id).exists(): return render(request, 'sounds/deleted_sound.html') else: raise Http404 if request.method == "POST": form = CommentForm(request, request.POST) if request.user.is_authenticated: if request.user.profile.is_blocked_for_spam_reports(): messages.add_message( request, messages.INFO, "You're not allowed to post the comment because your " "account has been temporaly blocked after multiple spam " "reports") else: if form.is_valid(): comment_text = form.cleaned_data["comment"] sound.add_comment(request.user, comment_text) sound.invalidate_template_caches() send_mail_template( u'You have a new comment.', 'sounds/email_new_comment.txt', { 'sound': sound, 'user': request.user, 'comment': comment_text }, user_to=sound.user, email_type_preference_check="new_comment") return HttpResponseRedirect(sound.get_absolute_url()) else: form = CommentForm(request) qs = Comment.objects.select_related("user", "user__profile")\ .filter(sound_id=sound_id) display_random_link = request.GET.get('random_browsing', False) is_following = False if request.user.is_authenticated: users_following = follow_utils.get_users_following(request.user) if sound.user in users_following: is_following = True is_explicit = sound.is_explicit and (not request.user.is_authenticated or not request.user.profile.is_adult) tvars = { 'sound': sound, 'username': username, 'form': form, 'display_random_link': display_random_link, 'is_following': is_following, 'is_explicit': is_explicit, # if the sound should be shown blurred, already checks for adult profile 'sizes': settings.IFRAME_PLAYER_SIZE, } tvars.update(paginate(request, qs, settings.SOUND_COMMENTS_PER_PAGE)) return render(request, 'sounds/sound.html', tvars)