本文整理汇总了Python中weblate.trans.messages.error函数的典型用法代码示例。如果您正苦于以下问题:Python error函数的具体用法?Python error怎么用?Python error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了error函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: new_language
def new_language(request, project, subproject):
obj = get_subproject(request, project, subproject)
if not can_add_translation(request.user, obj.project):
raise PermissionDenied()
form = get_new_language_form(request, obj)(obj, request.POST)
if form.is_valid():
langs = form.cleaned_data['lang']
if isinstance(langs, string_types):
langs = [langs]
for language in Language.objects.filter(code__in=langs):
if obj.new_lang == 'contact':
notify_new_language(obj, language, request.user)
messages.success(
request,
_(
"A request for a new translation has been "
"sent to the project's maintainers."
)
)
elif obj.new_lang == 'add':
obj.add_new_language(language, request)
else:
messages.error(
request,
_('Invalid language chosen!')
)
return redirect(obj)
示例2: reset_password
def reset_password(request):
"""
Password reset handling.
"""
if "email" not in load_backends(BACKENDS).keys():
messages.error(request, _("Can not reset password, email authentication is disabled!"))
return redirect("login")
if request.method == "POST":
form = ResetForm(request.POST)
if form.is_valid():
user = form.cleaned_data["email"]
user.set_unusable_password()
user.save()
# Force creating new session
request.session.create()
if request.user.is_authenticated():
logout(request)
request.session["password_reset"] = True
return complete(request, "email")
else:
form = ResetForm()
return render(request, "accounts/reset.html", {"title": _("Password reset"), "form": form})
示例3: perform_suggestion
def perform_suggestion(unit, form, request):
'''
Handle suggesion saving.
'''
if form.cleaned_data['target'][0] == '':
messages.error(request, _('Your suggestion is empty!'))
# Stay on same entry
return False
elif not can_suggest(request.user, unit.translation):
# Need privilege to add
messages.error(
request,
_('You don\'t have privileges to add suggestions!')
)
# Stay on same entry
return False
# Invite user to become translator if there is nobody else
recent_changes = Change.objects.content(True).filter(
translation=unit.translation,
).exclude(
user=None
)
if not recent_changes.exists():
messages.info(request, _(
'There is currently no active translator for this '
'translation, please consider becoming a translator '
'as your suggestion might otherwise remain unreviewed.'
))
# Create the suggestion
Suggestion.objects.add(
unit,
join_plural(form.cleaned_data['target']),
request,
)
return True
示例4: auto_translation
def auto_translation(request, project, subproject, lang):
translation = get_translation(request, project, subproject, lang)
project = translation.subproject.project
if not can_automatic_translation(request.user, project):
raise PermissionDenied()
autoform = AutoForm(translation, request.user, request.POST)
if translation.subproject.locked or not autoform.is_valid():
messages.error(request, _('Failed to process form!'))
return redirect(translation)
updated = auto_translate(
request.user,
translation,
autoform.cleaned_data['subproject'],
autoform.cleaned_data['inconsistent'],
autoform.cleaned_data['overwrite']
)
import_message(
request, updated,
_('Automatic translation completed, no strings were updated.'),
ungettext(
'Automatic translation completed, %d string was updated.',
'Automatic translation completed, %d strings were updated.',
updated
)
)
return redirect(translation)
示例5: comment
def comment(request, pk):
'''
Adds new comment.
'''
translation = get_object_or_404(Unit, pk=pk)
translation.check_acl(request)
form = CommentForm(request.POST)
if form.is_valid():
if form.cleaned_data['scope'] == 'global':
lang = None
else:
lang = translation.translation.language
Comment.objects.add(
translation,
request.user,
lang,
form.cleaned_data['comment']
)
messages.success(request, _('Posted new comment'))
else:
messages.error(request, _('Failed to add comment!'))
return redirect(request.POST.get('next', translation))
示例6: save_zen
def save_zen(request, project, subproject, lang):
'''
Save handler for zen mode.
'''
translation = get_translation(request, project, subproject, lang)
user_locked = translation.is_user_locked(request.user)
form = TranslationForm(translation, None, request.POST)
if not can_translate(request.user, translation):
messages.error(
request,
_('You don\'t have privileges to save translations!')
)
elif not form.is_valid():
messages.error(request, _('Failed to save translation!'))
elif not user_locked:
unit = form.cleaned_data['unit']
perform_translation(unit, form, request)
return render(
request,
'zen-response.html',
{},
)
示例7: mail_admins_contact
def mail_admins_contact(request, subject, message, context, sender):
'''
Sends a message to the admins, as defined by the ADMINS setting.
'''
LOGGER.info(
'contact form from %s',
sender,
)
if not settings.ADMINS:
messages.error(
request,
_('Message could not be sent to administrator!')
)
LOGGER.error(
'ADMINS not configured, can not send message!'
)
return
mail = EmailMultiAlternatives(
'%s%s' % (settings.EMAIL_SUBJECT_PREFIX, subject % context),
message % context,
to=[a[1] for a in settings.ADMINS],
headers={'Reply-To': sender},
)
mail.send(fail_silently=False)
messages.success(
request,
_('Message has been sent to administrator.')
)
示例8: upload_dictionary
def upload_dictionary(request, project, lang):
prj = get_project(request, project)
lang = get_object_or_404(Language, code=lang)
form = DictUploadForm(request.POST, request.FILES)
if form.is_valid():
try:
count = Dictionary.objects.upload(
request,
prj,
lang,
request.FILES['file'],
form.cleaned_data['method']
)
import_message(
request, count,
_('No words to import found in file.'),
ungettext(
'Imported %d word from the uploaded file.',
'Imported %d words from the uploaded file.',
count
)
)
except Exception as error:
report_error(error, sys.exc_info(), request)
messages.error(
request, _('File upload has failed: %s') % force_text(error)
)
else:
messages.error(request, _('Failed to process form!'))
return redirect(
'show_dictionary',
project=prj.slug,
lang=lang.code
)
示例9: check_acl
def check_acl(self, request):
"""Raises an error if user is not allowed to access this project."""
if not self.has_acl(request.user):
messages.error(
request,
_('You are not allowed to access project %s.') % self.name
)
raise PermissionDenied
示例10: _get_queryset_language
def _get_queryset_language(self):
"""
Filtering by language
"""
if self.translation is None and "lang" in self.request.GET:
try:
self.language = Language.objects.get(code=self.request.GET["lang"])
except Language.DoesNotExist:
messages.error(self.request, _("Failed to find matching language!"))
示例11: _get_queryset_user
def _get_queryset_user(self):
"""
Filtering by user
"""
if "user" in self.request.GET:
try:
self.user = User.objects.get(username=self.request.GET["user"])
except User.DoesNotExist:
messages.error(self.request, _("Failed to find matching user!"))
示例12: perform_translation
def perform_translation(unit, form, request):
'''
Handles translation and stores it to a backend.
'''
# Remember old checks
oldchecks = set(
unit.active_checks().values_list('check', flat=True)
)
# Run AutoFixes on user input
if not unit.translation.is_template():
new_target, fixups = fix_target(form.cleaned_data['target'], unit)
else:
new_target = form.cleaned_data['target']
fixups = []
# Save
saved = unit.translate(
request,
new_target,
form.cleaned_data['fuzzy']
)
# Warn about applied fixups
if len(fixups) > 0:
messages.info(
request,
_('Following fixups were applied to translation: %s') %
', '.join([force_text(f) for f in fixups])
)
# Get new set of checks
newchecks = set(
unit.active_checks().values_list('check', flat=True)
)
# Did we introduce any new failures?
if saved and newchecks > oldchecks:
# Show message to user
messages.error(
request,
_(
'Some checks have failed on your translation: {0}'
).format(
', '.join(
[force_text(CHECKS[check].name) for check in newchecks]
)
)
)
# Stay on same entry
return False
return True
示例13: search
def search(request):
"""
Performs site-wide search on units.
"""
search_form = SiteSearchForm(request.GET)
context = {
'search_form': search_form,
}
if search_form.is_valid():
# Filter results by ACL
acl_projects = Project.objects.get_acl_ids(request.user)
units = Unit.objects.search(
None,
search_form.cleaned_data,
).filter(
translation__subproject__project_id__in=acl_projects
).select_related(
'translation',
)
limit = request.GET.get('limit', 50)
page = request.GET.get('page', 1)
paginator = Paginator(units, limit)
try:
units = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
units = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of
# results.
units = paginator.page(paginator.num_pages)
context['page_obj'] = units
context['title'] = _('Search for %s') % (
search_form.cleaned_data['q']
)
context['query_string'] = search_form.urlencode()
context['search_query'] = search_form.cleaned_data['q']
else:
messages.error(request, _('Invalid search query!'))
return render(
request,
'search.html',
context
)
示例14: _get_queryset_project
def _get_queryset_project(self):
"""
Filtering by translation/project.
"""
if "project" in self.request.GET:
try:
self.project, self.subproject, self.translation = get_project_translation(
self.request,
self.request.GET.get("project", None),
self.request.GET.get("subproject", None),
self.request.GET.get("lang", None),
)
except Http404:
messages.error(self.request, _("Failed to find matching project!"))
示例15: check_user_form
def check_user_form(request, project):
obj = get_project(request, project)
if not can_manage_acl(request.user, obj):
raise PermissionDenied()
form = UserManageForm(request.POST)
if form.is_valid():
return obj, form
else:
for error in form.errors:
for message in form.errors[error]:
messages.error(request, message)
return obj, None