本文整理汇总了Python中weblate.trans.util.redirect_param函数的典型用法代码示例。如果您正苦于以下问题:Python redirect_param函数的具体用法?Python redirect_param怎么用?Python redirect_param使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了redirect_param函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_user
def add_user(request, project):
obj = get_project(request, project)
form = AddUserForm(request.POST)
if not obj.enable_acl:
messages.error(request, _('ACL not enabled for this project!'))
elif form.is_valid():
try:
user = User.objects.get(
Q(username=form.cleaned_data['name']) |
Q(email=form.cleaned_data['name'])
)
obj.add_user(user)
messages.success(
request, _('User has been added to this project.')
)
except User.DoesNotExist:
messages.error(request, _('No matching user found!'))
except User.MultipleObjectsReturned:
messages.error(request, _('More users matched!'))
else:
messages.error(request, _('Invalid user specified!'))
return redirect_param(
'project',
'#acl',
project=obj.slug,
)
示例2: show_check
def show_check(request, name):
"""
Details about failing check.
"""
try:
check = CHECKS[name]
except KeyError:
raise Http404("No check matches the given query.")
ignore = "ignored" in request.GET
url_params = {}
if ignore:
url_params["ignored"] = "true"
checks = acl_checks(request.user).filter(check=name, ignore=ignore)
if "language" in request.GET:
checks = checks.filter(language__code=request.GET["language"])
url_params["language"] = request.GET["language"]
if "project" in request.GET:
return redirect_param(
"show_check_project", encode_optional(url_params), project=request.GET["project"], name=name
)
checks = checks.values("project__slug").annotate(count=Count("id"))
return render(
request,
"check.html",
{"checks": checks, "title": check.name, "check": check, "url_params": encode_optional(url_params)},
)
示例3: delete_user
def delete_user(request, project):
obj = get_project(request, project)
form = AddUserForm(request.POST)
if form.is_valid():
try:
user = User.objects.get(
username=form.cleaned_data['name']
)
obj.remove_user(user)
messages.success(
request, _('User has been removed from this project.')
)
except User.DoesNotExist:
messages.error(request, _('No matching user found!'))
except User.MultipleObjectsReturned:
messages.error(request, _('More users matched!'))
else:
messages.error(request, _('Invalid user specified!'))
return redirect_param(
'project',
'#acl',
project=obj.slug,
)
示例4: delete_dictionary
def delete_dictionary(request, project, lang, pk):
prj = get_project(request, project)
if not request.user.has_perm('glossary.delete', prj):
raise PermissionDenied()
lang = get_object_or_404(Language, code=lang)
word = get_object_or_404(
Dictionary,
project=prj,
language=lang,
id=pk
)
word.delete()
params = {}
for param in ('letter', 'limit', 'page'):
if param in request.POST:
params[param] = request.POST[param]
if params:
param = '?' + urlencode(params)
else:
param = ''
return redirect_param(
'show_dictionary',
param,
project=prj.slug,
lang=lang.code
)
示例5: make_owner
def make_owner(request, project):
obj, form = check_user_form(request, project)
if form is not None:
obj.owners.add(form.cleaned_data['user'])
return redirect_param(
'project',
'#acl',
project=obj.slug,
)
示例6: execute_locked
def execute_locked(request, obj, message, call, *args, **kwargs):
"""
Helper function to catch possible lock exception.
"""
try:
result = call(request, *args, **kwargs)
# With False the call is supposed to show errors on its own
if result is None or result:
messages.success(request, message)
except FileLockException:
messages.error(request, _("Failed to lock the repository, another operation in progress."))
return redirect_param(obj, "#repository")
示例7: add_user
def add_user(request, project):
obj, form = check_user_form(request, project)
if form is not None and obj.enable_acl:
obj.add_user(form.cleaned_data['user'])
messages.success(
request, _('User has been added to this project.')
)
return redirect_param(
'project',
'#acl',
project=obj.slug,
)
示例8: unlock_component
def unlock_component(request, project, component):
obj = get_component(request, project, component)
if not request.user.has_perm('component.lock', obj):
raise PermissionDenied()
obj.do_lock(request.user, False)
messages.success(
request,
_('Component is now open for translation updates.')
)
return redirect_param(obj, '#repository')
示例9: lock_project
def lock_project(request, project):
obj = get_project(request, project)
if not request.user.has_perm('component.lock', obj):
raise PermissionDenied()
for component in obj.component_set.all():
component.do_lock(request.user)
messages.success(
request,
_('All components are now locked for translation updates!')
)
return redirect_param(obj, '#repository')
示例10: execute_locked
def execute_locked(request, obj, message, call, *args, **kwargs):
"""Helper function to catch possible lock exception."""
try:
result = call(*args, **kwargs)
# With False the call is supposed to show errors on its own
if result is None or result:
messages.success(request, message)
except Timeout as error:
messages.error(
request,
_('Failed to lock the repository, another operation is in progress.')
)
report_error(error, request)
return redirect_param(obj, '#repository')
示例11: remove_translation
def remove_translation(request, project, component, lang):
obj = get_translation(request, project, component, lang)
if not request.user.has_perm('translation.delete', obj):
raise PermissionDenied()
form = DeleteForm(obj, request.POST)
if not form.is_valid():
show_form_errors(request, form)
return redirect_param(obj, '#delete')
obj.remove(request.user)
messages.success(request, _('Translation has been removed.'))
return redirect(obj.component)
示例12: revoke_owner
def revoke_owner(request, project):
obj, form = check_user_form(request, project)
if form is not None:
if obj.owners.count() <= 1:
messages.error(request, _('You can not remove last owner!'))
else:
# Ensure owner stays within project
obj.add_user(form.cleaned_data['user'])
obj.owners.remove(form.cleaned_data['user'])
return redirect_param(
'project',
'#acl',
project=obj.slug,
)
示例13: whiteboard_project
def whiteboard_project(request, project):
obj = get_project(request, project)
if not request.user.has_perm('project.edit', obj):
raise PermissionDenied()
form = WhiteboardForm(request.POST)
if not form.is_valid():
show_form_errors(request, form)
return redirect_param(obj, '#whiteboard')
WhiteboardMessage.objects.create(
project=obj,
**form.cleaned_data
)
return redirect(obj)
示例14: perform_rename
def perform_rename(form_cls, request, obj, perm, **kwargs):
if not request.user.has_perm(perm, obj):
raise PermissionDenied()
form = form_cls(request, request.POST, instance=obj)
if not form.is_valid():
show_form_errors(request, form)
return redirect_param(obj, '#delete')
form.save()
Change.objects.create(
user=request.user,
author=request.user,
**kwargs
)
return redirect(obj)
示例15: show_check
def show_check(request, name):
'''
Details about failing check.
'''
try:
check = CHECKS[name]
except KeyError:
raise Http404('No check matches the given query.')
ignore = ('ignored' in request.GET)
url_params = {}
if ignore:
url_params['ignored'] = 'true'
checks = acl_checks(request.user).filter(
check=name,
ignore=ignore,
)
if 'language' in request.GET:
checks = checks.filter(language__code=request.GET['language'])
url_params['language'] = request.GET['language']
if 'project' in request.GET:
return redirect_param(
'show_check_project',
encode_optional(url_params),
project=request.GET['project'],
name=name,
)
checks = checks.values('project__slug').annotate(count=Count('id'))
return render(
request,
'check.html',
{
'checks': checks,
'title': check.name,
'check': check,
'url_params': encode_optional(url_params),
}
)