本文整理汇总了Python中sentry.permissions.can_remove_project函数的典型用法代码示例。如果您正苦于以下问题:Python can_remove_project函数的具体用法?Python can_remove_project怎么用?Python can_remove_project使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了can_remove_project函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: remove_project
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)
示例2: post
def post(self, request, organization, team, project):
if not can_remove_project(request.user, project):
return HttpResponseRedirect(reverse('sentry'))
form = self.get_form(request)
if form.is_valid():
if project.status != STATUS_HIDDEN:
project.update(status=STATUS_HIDDEN)
delete_project.delay(object_id=project.id)
AuditLogEntry.objects.create(
organization=organization,
actor=request.user,
ip_address=request.META['REMOTE_ADDR'],
target_object=project.id,
event=AuditLogEntryEvent.PROJECT_REMOVE,
data=project.get_audit_log_data(),
)
messages.add_message(
request, messages.SUCCESS,
_('Deletion has been queued and will happen automatically.'))
return HttpResponseRedirect(reverse('sentry-organization-home', args=[team.organization.id]))
context = {
'form': form,
}
return self.respond('sentry/projects/remove.html', context)
示例3: manage_project
def manage_project(request, 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'))
team_list = get_team_list(request.user)
form = EditProjectForm(request, team_list, request.POST or None, instance=project)
if form.is_valid():
project = form.save()
return HttpResponseRedirect(request.path + '?success=1')
member_list = [(tm, tm.user) for tm in project.team.member_set.select_related('user')]
try:
key = ProjectKey.objects.get(user=request.user, project=project)
except ProjectKey.DoesNotExist:
key = None # superuser
context = csrf(request)
context.update({
'can_remove_project': can_remove_project(request.user, project),
'page': 'details',
'key': key,
'form': form,
'project': project,
'member_list': member_list,
'TEAM_LIST': team_list.values(),
})
return render_to_response('sentry/projects/manage.html', context, request)
示例4: post
def post(self, request, organization, team, project):
if not can_remove_project(request.user, project):
return HttpResponseRedirect(reverse('sentry'))
form = self.get_form(request)
if form.is_valid():
if project.status == ProjectStatus.VISIBLE:
project.update(status=ProjectStatus.PENDING_DELETION)
delete_project.delay(object_id=project.id)
AuditLogEntry.objects.create(
organization=organization,
actor=request.user,
ip_address=request.META['REMOTE_ADDR'],
target_object=project.id,
event=AuditLogEntryEvent.PROJECT_REMOVE,
data=project.get_audit_log_data(),
)
messages.add_message(
request, messages.SUCCESS,
_(u'The project %r was scheduled for deletion.') % (project.name.encode('utf-8'),))
return HttpResponseRedirect(reverse('sentry-organization-home', args=[team.organization.id]))
context = {
'form': form,
}
return self.respond('sentry/projects/remove.html', context)
示例5: remove_project
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)
示例6: remove_project
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)
示例7: manage_project
def manage_project(request, 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'))
# XXX: We probably shouldnt allow changing the team unless they're the project owner
team_list = Team.objects.get_for_user(project.owner or request.user, MEMBER_OWNER)
if request.user.has_perm('sentry.can_change_project'):
form_cls = EditProjectAdminForm
else:
form_cls = EditProjectForm
form = form_cls(request, team_list, request.POST or None, instance=project, initial={
'origins': '\n'.join(get_option('sentry:origins', project) or []),
'owner': project.owner,
})
if form.is_valid():
project = form.save()
set_option('sentry:origins', form.cleaned_data.get('origins') or [], project)
return HttpResponseRedirect(request.path + '?success=1')
context = csrf(request)
context.update({
'can_remove_project': can_remove_project(request.user, project),
'page': 'details',
'form': form,
'project': project,
'TEAM_LIST': team_list.values(),
'SECTION': 'settings',
})
return render_to_response('sentry/projects/manage.html', context, request)
示例8: remove_project
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)
示例9: manage_project
def manage_project(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'))
team_list = Team.objects.get_for_user(project.owner or request.user, MEMBER_OWNER)
form = EditProjectForm(request, team_list, request.POST or None, instance=project, initial={
'origins': '\n'.join(project.get_option('sentry:origins', None) or []),
'owner': project.owner,
'resolve_age': int(project.get_option('sentry:resolve_age', 0)),
})
if form.is_valid():
project = form.save()
project.update_option('sentry:origins', form.cleaned_data.get('origins') or [])
project.update_option('sentry:resolve_age', form.cleaned_data.get('resolve_age'))
messages.add_message(
request, messages.SUCCESS,
_('Changes to your project were saved.'))
return HttpResponseRedirect(reverse('sentry-manage-project', args=[team.slug, project.slug]))
context = csrf(request)
context.update({
'team': team,
'can_remove_project': can_remove_project(request.user, project),
'page': 'details',
'form': form,
'project': project,
'SECTION': 'team',
'SUBSECTION': 'projects'
})
return render_to_response('sentry/projects/manage.html', context, request)
示例10: remove_project
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)
示例11: get
def get(self, request, organization, team, project):
if not can_remove_project(request.user, project):
return HttpResponseRedirect(reverse('sentry'))
form = self.get_form(request)
context = {
'form': form,
}
return self.respond('sentry/projects/remove.html', context)
示例12: manage_project
def manage_project(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"))
# XXX: We probably shouldn't allow changing the team unless they're the project owner
team_list = Team.objects.get_for_user(project.owner or request.user, MEMBER_OWNER)
can_admin_project = request.user == project.owner or request.user.has_perm("sentry.can_change_project")
if can_admin_project:
form_cls = EditProjectAdminForm
else:
form_cls = EditProjectForm
form = form_cls(
request,
team_list,
request.POST or None,
instance=project,
initial={
"origins": "\n".join(project.get_option("sentry:origins", None) or []),
"owner": project.owner,
"resolve_age": int(project.get_option("sentry:resolve_age", 0)),
},
)
if form.is_valid():
project = form.save()
project.update_option("sentry:origins", form.cleaned_data.get("origins") or [])
project.update_option("sentry:resolve_age", form.cleaned_data.get("resolve_age"))
messages.add_message(request, messages.SUCCESS, _("Changes to your project were saved."))
return HttpResponseRedirect(reverse("sentry-manage-project", args=[team.slug, project.slug]))
context = csrf(request)
context.update(
{
"team": team,
"can_remove_project": can_remove_project(request.user, project),
"page": "details",
"form": form,
"project": project,
"SECTION": "team",
"SUBSECTION": "projects",
}
)
return render_to_response("sentry/projects/manage.html", context, request)
示例13: client_help
def client_help(request, project):
try:
key = ProjectKey.objects.get(user=request.user, project=project)
except ProjectKey.DoesNotExist:
key = None # superuser
context = {
"can_remove_project": can_remove_project(request.user, project),
"page": "client_help",
"project": project,
"key": key,
}
if key:
context.update({"dsn": key.get_dsn(), "dsn_public": key.get_dsn(public=True)})
return render_to_response("sentry/projects/client_help.html", context, request)
示例14: client_help
def client_help(request, project):
try:
key = ProjectKey.objects.get(user=request.user, project=project)
except ProjectKey.DoesNotExist:
key = None # superuser
context = {
'can_remove_project': can_remove_project(request.user, project),
'page': 'client_help',
'project': project,
'key': key,
}
if key:
context.update({
'dsn': key.get_dsn(),
'dsn_public': key.get_dsn(public=True),
})
return render_to_response('sentry/projects/client_help.html', context, request)
示例15: manage_project
def manage_project(request, 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"))
team_list = Team.objects.get_for_user(request.user, MEMBER_OWNER)
if request.user.has_perm("sentry.can_change_project"):
form_cls = EditProjectAdminForm
else:
form_cls = EditProjectForm
form = form_cls(
request,
team_list,
request.POST or None,
instance=project,
initial={"origins": "\n".join(get_option("sentry:origins", project) or []), "owner": project.owner},
)
if form.is_valid():
project = form.save()
set_option("sentry:origins", form.cleaned_data.get("origins") or [], project)
return HttpResponseRedirect(request.path + "?success=1")
if not project.team:
member_list = []
else:
member_list = [(tm, tm.user) for tm in project.team.member_set.select_related("user")]
context = csrf(request)
context.update(
{
"can_remove_project": can_remove_project(request.user, project),
"page": "details",
"form": form,
"project": project,
"member_list": member_list,
"TEAM_LIST": team_list.values(),
}
)
return render_to_response("sentry/projects/manage.html", context, request)