Esempio n. 1
0
def user_activity(request, user_id):
    """Shows the user activity page for another user."""
    user = get_object_or_404(UserProfile, pk=user_id)
    products, contributions, listing = purchase_list(request, user, None)
    is_admin = acl.action_allowed(request, 'Users', 'Edit')

    collections = Collection.objects.filter(author=user_id)
    user_items = ActivityLog.objects.for_user(user).exclude(
        action__in=amo.LOG_HIDE_DEVELOPER)
    admin_items = ActivityLog.objects.for_user(user).filter(
        action__in=amo.LOG_HIDE_DEVELOPER)
    amo.log(amo.LOG.ADMIN_VIEWED_LOG, request.amo_user, user=user)
    return jingo.render(
        request, 'lookup/user_activity.html', {
            'pager': products,
            'account': user,
            'is_admin': is_admin,
            'listing_filter': listing,
            'collections': collections,
            'contributions': contributions,
            'single': bool(None),
            'user_items': user_items,
            'admin_items': admin_items,
            'show_link': False
        })
Esempio n. 2
0
def user_activity(request, user_id):
    """Shows the user activity page for another user."""
    user = get_object_or_404(UserProfile, pk=user_id)
    products, contributions, listing = purchase_list(request, user, None)
    is_admin = acl.action_allowed(request, "Users", "Edit")

    collections = Collection.objects.filter(author=user_id)
    user_items = ActivityLog.objects.for_user(user).exclude(action__in=amo.LOG_HIDE_DEVELOPER)
    admin_items = ActivityLog.objects.for_user(user).filter(action__in=amo.LOG_HIDE_DEVELOPER)
    amo.log(amo.LOG.ADMIN_VIEWED_LOG, request.amo_user, user=user)
    return jingo.render(
        request,
        "lookup/user_activity.html",
        {
            "pager": products,
            "account": user,
            "is_admin": is_admin,
            "listing_filter": listing,
            "collections": collections,
            "contributions": contributions,
            "single": bool(None),
            "user_items": user_items,
            "admin_items": admin_items,
            "show_link": False,
        },
    )
Esempio n. 3
0
def user_summary(request, user_id):
    user = get_object_or_404(UserProfile, pk=user_id)
    is_admin = acl.action_allowed(request, 'Users', 'Edit')
    app_summary = _app_summary(user.pk)
    # All refunds that this user has requested (probably as a consumer).
    req = Refund.objects.filter(contribution__user=user)
    # All instantly-approved refunds that this user has requested.
    appr = req.filter(status=amo.REFUND_APPROVED_INSTANT)
    refund_summary = {'approved': appr.count(), 'requested': req.count()}
    # TODO: This should return all `addon` types and not just webapps.
    # -- currently get_details_url() fails on non-webapps so this is a
    # temp fix.
    user_addons = (user.addons.filter(
        type=amo.ADDON_WEBAPP).order_by('-created'))
    user_addons = paginate(request, user_addons, per_page=15)
    paypal_ids = set(
        user.addons.exclude(paypal_id='').values_list('paypal_id', flat=True))

    payment_data = (AddonPaymentData.objects.filter(
        addon__authors=user).values(
            *AddonPaymentData.address_fields()).distinct())

    return jingo.render(
        request, 'lookup/user_summary.html', {
            'account': user,
            'app_summary': app_summary,
            'is_admin': is_admin,
            'refund_summary': refund_summary,
            'user_addons': user_addons,
            'payment_data': payment_data,
            'paypal_ids': paypal_ids
        })
Esempio n. 4
0
def user_summary(request, user_id):
    user = get_object_or_404(UserProfile, pk=user_id)
    is_admin = acl.action_allowed(request, "Users", "Edit")
    app_summary = _app_summary(user.pk)
    # All refunds that this user has requested (probably as a consumer).
    req = Refund.objects.filter(contribution__user=user)
    # All instantly-approved refunds that this user has requested.
    appr = req.filter(status=amo.REFUND_APPROVED_INSTANT)
    refund_summary = {"approved": appr.count(), "requested": req.count()}
    # TODO: This should return all `addon` types and not just webapps.
    # -- currently get_details_url() fails on non-webapps so this is a
    # temp fix.
    user_addons = user.addons.filter(type=amo.ADDON_WEBAPP).order_by("-created")
    user_addons = paginate(request, user_addons, per_page=15)
    paypal_ids = set(user.addons.exclude(paypal_id="").values_list("paypal_id", flat=True))

    payment_data = (
        AddonPaymentData.objects.filter(addon__authors=user).values(*AddonPaymentData.address_fields()).distinct()
    )

    return jingo.render(
        request,
        "lookup/user_summary.html",
        {
            "account": user,
            "app_summary": app_summary,
            "is_admin": is_admin,
            "refund_summary": refund_summary,
            "user_addons": user_addons,
            "payment_data": payment_data,
            "paypal_ids": paypal_ids,
        },
    )
Esempio n. 5
0
def user_summary(request, user_id):
    user = get_object_or_404(UserProfile, pk=user_id)
    is_admin = acl.action_allowed(request, 'Users', 'Edit')
    app_summary = _app_summary(user.pk)
    # All refunds that this user has requested (probably as a consumer).
    req = Refund.objects.filter(contribution__user=user)
    # All instantly-approved refunds that this user has requested.
    appr = req.filter(status=amo.REFUND_APPROVED_INSTANT)
    refund_summary = {'approved': appr.count(),
                      'requested': req.count()}
    # TODO: This should return all `addon` types and not just webapps.
    # -- currently get_details_url() fails on non-webapps so this is a
    # temp fix.
    user_addons = (user.addons.filter(type=amo.ADDON_WEBAPP)
                              .order_by('-created'))
    user_addons = paginate(request, user_addons, per_page=15)
    paypal_ids = set(user.addons.exclude(paypal_id='')
                                .values_list('paypal_id', flat=True))

    payment_data = (AddonPaymentData.objects.filter(addon__authors=user)
                    .values(*AddonPaymentData.address_fields())
                    .distinct())

    return jingo.render(request, 'lookup/user_summary.html',
                        {'account': user,
                         'app_summary': app_summary,
                         'is_admin': is_admin,
                         'refund_summary': refund_summary,
                         'user_addons': user_addons,
                         'payment_data': payment_data,
                         'paypal_ids': paypal_ids})
Esempio n. 6
0
def user_summary(request, user_id):
    user = get_object_or_404(UserProfile, pk=user_id)
    is_admin = acl.action_allowed(request, 'Users', 'Edit')
    app_summary = _app_summary(user.pk)
    # All refunds that this user has requested (probably as a consumer).
    req = Refund.objects.filter(contribution__user=user)
    # All instantly-approved refunds that this user has requested.
    appr = req.filter(status=amo.REFUND_APPROVED_INSTANT)
    refund_summary = {'approved': appr.count(),
                      'requested': req.count()}
    # TODO: This should return all `addon` types and not just webapps.
    # -- currently get_details_url() fails on non-webapps so this is a
    # temp fix.
    user_addons = (user.addons.filter(type=amo.ADDON_WEBAPP)
                              .order_by('-created'))
    user_addons = paginate(request, user_addons, per_page=15)

    payment_data = (AddonPaymentData.objects.filter(addon__authors=user)
                    .values(*AddonPaymentData.address_fields())
                    .distinct())

    # If the user is deleted, get the log detailing the delete.
    try:
        delete_log = ActivityLog.objects.for_user(user).filter(
            action=amo.LOG.DELETE_USER_LOOKUP.id)[0]
    except IndexError:
        delete_log = None

    provider_portals = get_payment_provider_portals(user=user)
    return render(request, 'lookup/user_summary.html',
                  {'account': user, 'app_summary': app_summary,
                   'delete_form': DeleteUserForm(), 'delete_log': delete_log,
                   'is_admin': is_admin, 'refund_summary': refund_summary,
                   'user_addons': user_addons, 'payment_data': payment_data,
                   'provider_portals': provider_portals})
Esempio n. 7
0
def user_purchases(request, user_id):
    """Shows the purchase page for another user."""
    user = get_object_or_404(UserProfile, pk=user_id)
    is_admin = acl.action_allowed(request, 'Users', 'Edit')
    products, contributions, listing = purchase_list(request, user, None)
    return render(request, 'lookup/user_purchases.html',
                  {'pager': products, 'account': user, 'is_admin': is_admin,
                   'listing_filter': listing, 'contributions': contributions,
                   'single': bool(None), 'show_link': False})
Esempio n. 8
0
def user_purchases(request, user_id):
    """Shows the purchase page for another user."""
    user = get_object_or_404(UserProfile, pk=user_id)
    is_admin = acl.action_allowed(request, 'Users', 'Edit')
    products, contributions, listing = purchase_list(request, user, None)
    return render(request, 'lookup/user_purchases.html',
                  {'pager': products, 'account': user, 'is_admin': is_admin,
                   'listing_filter': listing, 'contributions': contributions,
                   'single': bool(None), 'show_link': False})
Esempio n. 9
0
def user_activity(request, user_id):
    """Shows the user activity page for another user."""
    user = get_object_or_404(UserProfile, pk=user_id)
    products, contributions, listing = purchase_list(request, user, None)
    is_admin = acl.action_allowed(request, 'Users', 'Edit')

    user_items = ActivityLog.objects.for_user(user).exclude(
        action__in=amo.LOG_HIDE_DEVELOPER)
    admin_items = ActivityLog.objects.for_user(user).filter(
        action__in=amo.LOG_HIDE_DEVELOPER)
    amo.log(amo.LOG.ADMIN_VIEWED_LOG, request.amo_user, user=user)
    return render(request, 'lookup/user_activity.html',
                  {'pager': products, 'account': user, 'is_admin': is_admin,
                   'listing_filter': listing,
                   'contributions': contributions, 'single': bool(None),
                   'user_items': user_items, 'admin_items': admin_items,
                   'show_link': False})
Esempio n. 10
0
def user_purchases(request, user_id):
    """Shows the purchase page for another user."""
    user = get_object_or_404(UserProfile, pk=user_id)
    is_admin = acl.action_allowed(request, "Users", "Edit")
    products, contributions, listing = purchase_list(request, user, None)
    return jingo.render(
        request,
        "lookup/user_purchases.html",
        {
            "pager": products,
            "account": user,
            "is_admin": is_admin,
            "listing_filter": listing,
            "contributions": contributions,
            "single": bool(None),
            "show_link": False,
        },
    )
Esempio n. 11
0
def user_summary(request, user_id):
    user = get_object_or_404(UserProfile, pk=user_id)
    is_admin = acl.action_allowed(request, "Users", "Edit")
    app_summary = _app_summary(user.pk)
    # All refunds that this user has requested (probably as a consumer).
    req = Refund.objects.filter(contribution__user=user)
    # All instantly-approved refunds that this user has requested.
    appr = req.filter(status=amo.REFUND_APPROVED_INSTANT)
    refund_summary = {"approved": appr.count(), "requested": req.count()}
    # TODO: This should return all `addon` types and not just webapps.
    # -- currently get_details_url() fails on non-webapps so this is a
    # temp fix.
    user_addons = user.addons.filter(type=amo.ADDON_WEBAPP).order_by("-created")
    user_addons = paginate(request, user_addons, per_page=15)
    paypal_ids = set(user.addons.exclude(paypal_id="").values_list("paypal_id", flat=True))

    payment_data = (
        AddonPaymentData.objects.filter(addon__authors=user).values(*AddonPaymentData.address_fields()).distinct()
    )

    # If the user is deleted, get the log detailing the delete.
    try:
        delete_log = ActivityLog.objects.for_user(user).filter(action=amo.LOG.DELETE_USER_LOOKUP.id)[0]
    except IndexError:
        delete_log = None

    provider_portals = get_payment_provider_portals(user=user)
    return render(
        request,
        "lookup/user_summary.html",
        {
            "account": user,
            "app_summary": app_summary,
            "delete_form": DeleteUserForm(),
            "delete_log": delete_log,
            "is_admin": is_admin,
            "refund_summary": refund_summary,
            "user_addons": user_addons,
            "payment_data": payment_data,
            "paypal_ids": paypal_ids,
            "provider_portals": provider_portals,
        },
    )