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)
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)
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)
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)
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)
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)
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)
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)
def test_removes_password_on_empty_password_types(self): user = User(password='******') form = RemoveProjectForm(user=user, project_list=[]) self.assertNotIn('password', form.fields)
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)