Пример #1
0
def remove_project(request, team, project):
    if not can_remove_project(request.user, project):
        return HttpResponseRedirect(reverse('sentry'))

    project_list = filter(lambda x: x != project, Project.objects.get_for_user(request.user))

    form = RemoveProjectForm(request.user, project_list, request.POST or None)

    if form.is_valid():
        removal_type = form.cleaned_data['removal_type']
        if removal_type == '1':
            project.delete()
        elif removal_type == '2':
            new_project = form.cleaned_data['project']
            project.merge_to(new_project)
        elif removal_type == '3':
            project.update(status=1)
        else:
            raise ValueError(removal_type)

        return HttpResponseRedirect(reverse('sentry-manage-team-projects', args=[project.team.slug]))

    context = csrf(request)
    context.update({
        'team': team,
        'form': form,
        'project': project,
        'SECTION': 'team',
        'SUBSECTION': 'projects'
    })

    return render_to_response('sentry/projects/remove.html', context, request)
Пример #2
0
def remove_project(request, project):
    if not can_remove_project(request.user, project):
        return HttpResponseRedirect(reverse('sentry'))

    project_list = filter(lambda x: x != project, get_project_list(request.user).itervalues())

    form = RemoveProjectForm(request.user, project_list, request.POST or None)

    if form.is_valid():
        removal_type = form.cleaned_data['removal_type']
        if removal_type == '1':
            project.delete()
        elif removal_type == '2':
            new_project = form.cleaned_data['project']
            project.merge_to(new_project)
        elif removal_type == '3':
            project.update(status=1)
        else:
            raise ValueError(removal_type)

        return HttpResponseRedirect(reverse('sentry-project-list'))

    context = csrf(request)
    context.update({
        'form': form,
        'project': project,
    })

    return render_to_response('sentry/projects/remove.html', context, request)
Пример #3
0
def remove_project(request, team, project):
    if not can_remove_project(request.user, project):
        return HttpResponseRedirect(reverse('sentry'))

    form = RemoveProjectForm(request.user, request.POST or None)

    if form.is_valid():
        if project.status != STATUS_HIDDEN:
            project.update(status=STATUS_HIDDEN)
            delete_project.delay(object_id=project.id)

        messages.add_message(
            request, messages.SUCCESS,
            _('Deletion has been queued and will happen automatically.'))

        return HttpResponseRedirect(reverse('sentry-manage-team-projects', args=[project.team.slug]))

    context = csrf(request)
    context.update({
        'team': team,
        'form': form,
        'project': project,
    })

    return render_to_response('sentry/projects/remove.html', context, request)
Пример #4
0
def remove_project(request, project):
    if not can_remove_project(request.user, project):
        return HttpResponseRedirect(reverse("sentry"))

    project_list = filter(lambda x: x != project, get_project_list(request.user).itervalues())

    form = RemoveProjectForm(request.user, project_list, request.POST or None)

    if form.is_valid():
        removal_type = form.cleaned_data["removal_type"]
        if removal_type == "1":
            project.delete()
        elif removal_type == "2":
            new_project = form.cleaned_data["project"]
            project.merge_to(new_project)
        elif removal_type == "3":
            project.update(status=1)
        else:
            raise ValueError(removal_type)

        return HttpResponseRedirect(reverse("sentry-project-list"))

    context = csrf(request)
    context.update({"form": form, "project": project})

    return render_to_response("sentry/projects/remove.html", context, request)
Пример #5
0
def remove_project(request, project):
    if not can_remove_project(request.user, project):
        return HttpResponseRedirect(reverse('sentry'))

    project_list = filter(lambda x: x != project,
                          get_project_list(request.user).itervalues())

    form = RemoveProjectForm(request.user, project_list, request.POST or None)

    if form.is_valid():
        removal_type = form.cleaned_data['removal_type']
        if removal_type == '1':
            project.delete()
        elif removal_type == '2':
            new_project = form.cleaned_data['project']
            project.merge_to(new_project)
        elif removal_type == '3':
            project.update(status=1)
        else:
            raise ValueError(removal_type)

        return HttpResponseRedirect(reverse('sentry-project-list'))

    context = csrf(request)
    context.update({
        'form': form,
        'project': project,
    })

    return render_to_response('sentry/projects/remove.html', context, request)
Пример #6
0
def remove_project(request, team, project):
    if not can_remove_project(request.user, project):
        return HttpResponseRedirect(reverse("sentry"))

    project_list = filter(lambda x: x != project, Project.objects.get_for_user(request.user))

    form = RemoveProjectForm(request.user, project_list, request.POST or None)

    if form.is_valid():
        removal_type = form.cleaned_data["removal_type"]
        if removal_type == "1":
            project.delete()
        elif removal_type == "2":
            new_project = form.cleaned_data["project"]
            project.merge_to(new_project)
        elif removal_type == "3":
            project.update(status=1)
        else:
            raise ValueError(removal_type)

        return HttpResponseRedirect(reverse("sentry-manage-team-projects", args=[project.team.slug]))

    context = csrf(request)
    context.update({"team": team, "form": form, "project": project, "SECTION": "team", "SUBSECTION": "projects"})

    return render_to_response("sentry/projects/remove.html", context, request)
Пример #7
0
def remove_project(request, team, project):
    if not can_remove_project(request.user, project):
        return HttpResponseRedirect(reverse('sentry'))

    form = RemoveProjectForm(request.user, request.POST or None)

    if form.is_valid():
        if project.status != STATUS_HIDDEN:
            project.update(status=STATUS_HIDDEN)
            delete_project.delay(object_id=project.id)

        messages.add_message(
            request, messages.SUCCESS,
            _('Deletion has been queued and will happen automatically.'))

        return HttpResponseRedirect(
            reverse('sentry-manage-team-projects', args=[project.team.slug]))

    context = csrf(request)
    context.update({
        'team': team,
        'form': form,
        'project': project,
    })

    return render_to_response('sentry/projects/remove.html', context, request)
Пример #8
0
def remove_project(request, team, project):
    if not can_remove_project(request.user, project):
        return HttpResponseRedirect(reverse('sentry'))

    project_list = filter(lambda x: x != project,
                          Project.objects.get_for_user(request.user))

    form = RemoveProjectForm(request.user, project_list, request.POST or None)

    if form.is_valid():
        removal_type = form.cleaned_data['removal_type']
        if removal_type == '1':
            from sentry.tasks.deletion import delete_project

            delete_project.delay(object_id=project.id)
            project.update(status=STATUS_HIDDEN)

            messages.add_message(
                request, messages.SUCCESS,
                _('Deletion has been queued and should occur shortly.'))
        elif removal_type == '2':
            new_project = form.cleaned_data['project']
            project.merge_to(new_project)
        elif removal_type == '3':
            project.update(status=STATUS_HIDDEN)
        else:
            raise ValueError(removal_type)

        return HttpResponseRedirect(
            reverse('sentry-manage-team-projects', args=[project.team.slug]))

    context = csrf(request)
    context.update({
        'team': team,
        'form': form,
        'project': project,
    })

    return render_to_response('sentry/projects/remove.html', context, request)
Пример #9
0
def remove_project(request, team, project):
    if not can_remove_project(request.user, project):
        return HttpResponseRedirect(reverse('sentry'))

    project_list = filter(lambda x: x != project, Project.objects.get_for_user(request.user))

    form = RemoveProjectForm(request.user, project_list, request.POST or None)

    if form.is_valid():
        removal_type = form.cleaned_data['removal_type']
        if removal_type == '1':
            from sentry.tasks.deletion import delete_project

            delete_project.delay(object_id=project.id)
            project.update(status=STATUS_HIDDEN)

            messages.add_message(
                request, messages.SUCCESS,
                _('Deletion has been queued and should occur shortly.'))
        elif removal_type == '2':
            new_project = form.cleaned_data['project']
            project.merge_to(new_project)
        elif removal_type == '3':
            project.update(status=STATUS_HIDDEN)
        else:
            raise ValueError(removal_type)

        return HttpResponseRedirect(reverse('sentry-manage-team-projects', args=[project.team.slug]))

    context = csrf(request)
    context.update({
        'team': team,
        'form': form,
        'project': project,
    })

    return render_to_response('sentry/projects/remove.html', context, request)
Пример #10
0
 def test_removes_password_on_empty_password_types(self):
     user = User(password='******')
     form = RemoveProjectForm(user=user, project_list=[])
     self.assertNotIn('password', form.fields)
Пример #11
0
 def test_requires_password_on_valid_accounts(self):
     user = User()
     user.set_password('foo')
     form = RemoveProjectForm(user=user, project_list=[])
     self.assertIn('password', form.fields)