Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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))
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
                        # 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
    }
Ejemplo n.º 8
0
                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")
Ejemplo n.º 9
0
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)
Ejemplo n.º 10
0
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)