Exemplo n.º 1
0
def remove_project_key(request, organization, project, key_id):
    try:
        key = ProjectKey.objects.get(id=key_id)
    except ProjectKey.DoesNotExist:
        return HttpResponseRedirect(
            reverse('sentry-manage-project-keys',
                    args=[project.organization.slug, project.slug]))

    if not can_remove_project_key(request.user, key):
        return HttpResponseRedirect(
            reverse('sentry-manage-project-keys',
                    args=[project.organization.slug, project.slug]))

    audit_data = key.get_audit_log_data()

    key.delete()

    AuditLogEntry.objects.create(
        organization=organization,
        actor=request.user,
        ip_address=request.META['REMOTE_ADDR'],
        target_object=key.id,
        event=AuditLogEntryEvent.PROJECTKEY_REMOVE,
        data=audit_data,
    )

    messages.add_message(
        request, messages.SUCCESS,
        _('The API key (%s) was revoked.') % (key.public_key, ))

    return HttpResponseRedirect(
        reverse('sentry-manage-project-keys',
                args=[project.organization.slug, project.slug]))
Exemplo n.º 2
0
def manage_project_keys(request, team, project):
    result = plugins.first('has_perm', request.user, 'edit_project', project)
    if result is False and not request.user.has_perm('sentry.can_change_project'):
        return HttpResponseRedirect(reverse('sentry'))

    key_list = list(ProjectKey.objects.filter(
        project=project,
    ).select_related('user', 'user_added').order_by('-id'))

    for key in key_list:
        key.project = project
        key.can_remove = can_remove_project_key(request.user, key),

    context = csrf(request)
    context.update({
        'team': team,
        'page': 'keys',
        'project': project,
        'key_list': key_list,
        'can_add_key': can_add_project_key(request.user, project),
        'SECTION': 'team',
        'SUBSECTION': 'projects'
    })

    return render_to_response('sentry/projects/keys.html', context, request)
Exemplo n.º 3
0
def remove_project_key(request, organization, project, key_id):
    try:
        key = ProjectKey.objects.get(id=key_id)
    except ProjectKey.DoesNotExist:
        return HttpResponseRedirect(reverse('sentry-manage-project-keys', args=[project.organization.slug, project.slug]))

    if not can_remove_project_key(request.user, key):
        return HttpResponseRedirect(reverse('sentry-manage-project-keys', args=[project.organization.slug, project.slug]))

    audit_data = key.get_audit_log_data()

    key.delete()

    AuditLogEntry.objects.create(
        organization=organization,
        actor=request.user,
        ip_address=request.META['REMOTE_ADDR'],
        target_object=key.id,
        event=AuditLogEntryEvent.PROJECTKEY_REMOVE,
        data=audit_data,
    )

    messages.add_message(
        request, messages.SUCCESS,
        _('The API key (%s) was revoked.') % (key.public_key,))

    return HttpResponseRedirect(reverse('sentry-manage-project-keys', args=[project.organization.slug, project.slug]))
Exemplo n.º 4
0
def manage_project_keys(request, team, project):
    result = plugins.first("has_perm", request.user, "edit_project", project)
    if result is False and not request.user.has_perm("sentry.can_change_project"):
        return HttpResponseRedirect(reverse("sentry"))

    key_list = list(ProjectKey.objects.filter(project=project).select_related("user", "user_added").order_by("-id"))

    for key in key_list:
        key.project = project
        key.can_remove = (can_remove_project_key(request.user, key),)

    context = csrf(request)
    context.update(
        {
            "team": team,
            "page": "keys",
            "project": project,
            "key_list": key_list,
            "can_add_key": can_add_project_key(request.user, project),
            "SECTION": "team",
            "SUBSECTION": "projects",
        }
    )

    return render_to_response("sentry/projects/keys.html", context, request)
Exemplo n.º 5
0
def manage_project_keys(request, organization, project):
    result = plugins.first("has_perm", request.user, "edit_project", project)
    if result is False and not request.user.is_superuser:
        return HttpResponseRedirect(reverse("sentry"))

    key_list = list(ProjectKey.objects.filter(project=project).order_by("-id"))

    for key in key_list:
        key.project = project
        key.can_remove = (can_remove_project_key(request.user, key),)
        key.can_edit = (can_edit_project_key(request.user, key),)

    context = csrf(request)
    context.update(
        {
            "team": project.team,
            "organization": organization,
            "page": "keys",
            "project": project,
            "key_list": key_list,
            "can_add_key": can_add_project_key(request.user, project),
        }
    )

    return render_to_response("sentry/projects/keys.html", context, request)
Exemplo n.º 6
0
def manage_project_keys(request, organization, project):
    result = plugins.first('has_perm', request.user, 'edit_project', project)
    if result is False and not request.user.is_superuser:
        return HttpResponseRedirect(reverse('sentry'))

    key_list = list(ProjectKey.objects.filter(
        project=project,
    ).order_by('-id'))

    for key in key_list:
        key.project = project
        key.can_remove = can_remove_project_key(request.user, key),
        key.can_edit = can_edit_project_key(request.user, key),

    context = csrf(request)
    context.update({
        'team': project.team,
        'organization': organization,
        'page': 'keys',
        'project': project,
        'key_list': key_list,
        'can_add_key': can_add_project_key(request.user, project),
    })

    return render_to_response('sentry/projects/keys.html', context, request)
Exemplo n.º 7
0
def remove_project_key(request, project, key_id):
    try:
        key = ProjectKey.objects.get(id=key_id)
    except ProjectKey.DoesNotExist:
        return HttpResponseRedirect(reverse('sentry-manage-project-keys', args=[project.slug]))

    if not can_remove_project_key(request.user, key):
        return HttpResponseRedirect(reverse('sentry-manage-project-keys', args=[project.slug]))

    key.delete()
    messages.add_message(request, messages.SUCCESS, 'The API key (%s) was revoked.' % (key.public_key,))

    return HttpResponseRedirect(reverse('sentry-manage-project-keys', args=[project.slug]))
Exemplo n.º 8
0
def remove_project_key(request, team, project, key_id):
    try:
        key = ProjectKey.objects.get(id=key_id)
    except ProjectKey.DoesNotExist:
        return HttpResponseRedirect(reverse('sentry-manage-project-keys', args=[project.team.slug, project.slug]))

    if not can_remove_project_key(request.user, key):
        return HttpResponseRedirect(reverse('sentry-manage-project-keys', args=[project.team.slug, project.slug]))

    key.delete()
    messages.add_message(
        request, messages.SUCCESS,
        _('The API key (%s) was revoked.') % (key.public_key,))

    return HttpResponseRedirect(reverse('sentry-manage-project-keys', args=[project.team.slug, project.slug]))
Exemplo n.º 9
0
def manage_project_keys(request, organization, project):
    key_list = list(
        ProjectKey.objects.filter(project=project, ).order_by('-id'))

    for key in key_list:
        key.project = project
        key.can_remove = can_remove_project_key(request.user, key),
        key.can_edit = can_edit_project_key(request.user, key),

    context = csrf(request)
    context.update({
        'team': project.team,
        'organization': organization,
        'page': 'keys',
        'project': project,
        'key_list': key_list,
        'can_add_key': can_add_project_key(request.user, project),
    })

    return render_to_response('sentry/projects/keys.html', context, request)
Exemplo n.º 10
0
def manage_project_keys(request, organization, project):
    key_list = list(ProjectKey.objects.filter(project=project).order_by("-id"))

    for key in key_list:
        key.project = project
        key.can_remove = (can_remove_project_key(request.user, key),)
        key.can_edit = (can_edit_project_key(request.user, key),)

    context = csrf(request)
    context.update(
        {
            "team": project.team,
            "organization": organization,
            "page": "keys",
            "project": project,
            "key_list": key_list,
            "can_add_key": can_add_project_key(request.user, project),
        }
    )

    return render_to_response("sentry/projects/keys.html", context, request)