Пример #1
0
def user_csv(request, instance):
    duplicate_ids_query = """
    SELECT *
    FROM otm1_migrator_otm1userrelic
    WHERE email IN
    (SELECT email
     FROM otm1_migrator_otm1userrelic
     WHERE instance_id=%s
     GROUP BY email
     HAVING count(id) > 1)
    ORDER BY "email"
    """ % instance.pk

    duplicate_relics = OTM1UserRelic.objects.raw(duplicate_ids_query)
    relics = duplicate_relics

    response = get_csv_response('user_export.csv')

    writer = csv.DictWriter(response,
                            ['otm1_user_id',
                             'otm2_model_id',
                             'otm1_username',
                             'otm2_username',
                             'last_login',
                             'first_name',
                             'last_name',
                             'email',
                             'body'])
    writer.writeheader()

    for relic in relics:
        user = User.objects.get(pk=relic.otm2_model_id)
        if relic.otm1_username == user.username:
            continue
        assert relic.email.lower() == user.email.lower()
        row = {
            'otm1_user_id': relic.otm1_model_id,
            'otm2_model_id': user.pk,
            'otm1_username': relic.otm1_username,
            'last_login': user.last_login,
            'otm2_username': user.username,
            'first_name': user.first_name,
            'last_name': user.last_name,
            'email': user.email,
        }
        body = render_email_body(user, instance)
        row['body'] = body
        writer.writerow(row)

    return response
Пример #2
0
def dupl_user_csv(request, instance):
    duplicate_ids_query = """
    SELECT *
    FROM otm1_migrator_otm1userrelic
    WHERE email IN
    (SELECT email
     FROM otm1_migrator_otm1userrelic
     WHERE instance_id=%s
     GROUP BY email
     HAVING count(id) > 1)
    ORDER BY "email"
    """ % instance.pk

    duplicate_relics = OTM1UserRelic.objects.raw(duplicate_ids_query)
    relics = duplicate_relics

    response = get_csv_response('user_export.csv')

    writer = csv.DictWriter(response,
                            ['otm1_user_id',
                             'otm2_model_id',
                             'otm1_username',
                             'otm2_username',
                             'last_login',
                             'first_name',
                             'last_name',
                             'email',
                             'body'])
    writer.writeheader()

    for relic in relics:
        user = User.objects.get(pk=relic.otm2_model_id)
        if relic.otm1_username == user.username:
            continue
        assert relic.email.lower() == user.email.lower()
        row = {
            'otm1_user_id': relic.otm1_model_id,
            'otm2_model_id': user.pk,
            'otm1_username': relic.otm1_username,
            'last_login': user.last_login,
            'otm2_username': user.username,
            'first_name': user.first_name,
            'last_name': user.last_name,
            'email': user.email,
        }
        body = render_email_body(user, instance)
        row['body'] = body
        writer.writerow(row)

    return response
Пример #3
0
def users_csv(request, instance):
    "Return a user csv synchronously"
    response = get_csv_response('users.csv')
    extra = _get_user_extra_args(request)
    write_users('csv', response, instance, *extra)
    return response
Пример #4
0
def users_csv(request, instance):
    "Return a user csv synchronously"
    response = get_csv_response('users.csv')
    extra = _get_user_extra_args(request)
    write_users('csv', response, instance, *extra)
    return response