def test_revert(self): request = self.get_request() self.assertTrue(check_rate_limit('test', request)) self.assertTrue(check_rate_limit('test', request)) revert_rate_limit('test', request) self.assertTrue(check_rate_limit('test', request)) self.assertFalse(check_rate_limit('test', request))
def perform_translation(unit, form, request): """Handle 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.user, new_target, form.cleaned_data['state'] ) # Should we skip to next entry if not saved: revert_rate_limit('translate', request) return True # Warn about applied fixups if fixups: 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, _( 'The translation has been saved, however there ' 'are some newly failing checks: {0}' ).format( ', '.join( [force_text(CHECKS[check].name) for check in newchecks] ) ) ) # Stay on same entry return False return True
def perform_translation(unit, form, request): """Handle 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['state'] ) # Should we skip to next entry if not saved: revert_rate_limit('translate', request) return True # Warn about applied fixups if fixups: 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, _( 'The translation has been saved, however there ' 'are some newly failing checks: {0}' ).format( ', '.join( [force_text(CHECKS[check].name) for check in newchecks] ) ) ) # Stay on same entry return False return True
def perform_translation(unit, form, request): """Handle translation and stores it to a backend.""" # Remember old checks oldchecks = unit.all_checks_names # 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.user, new_target, form.cleaned_data["state"]) # Should we skip to next entry if not saved: revert_rate_limit("translate", request) return True # Warn about applied fixups if fixups: messages.info( request, _("Following fixups were applied to translation: %s") % ", ".join(force_str(f) for f in fixups), ) # Get new set of checks newchecks = unit.all_checks_names # Did we introduce any new failures? if ( saved and form.cleaned_data["state"] >= STATE_TRANSLATED and newchecks > oldchecks ): # Show message to user messages.error( request, _( "The translation has been saved, however there " "are some newly failing checks: {0}" ).format(", ".join(force_str(CHECKS[check].name) for check in newchecks)), ) # Stay on same entry return False return True
def test_revert(self): request = self.get_request() self.assertTrue( check_rate_limit('test', request) ) self.assertTrue( check_rate_limit('test', request) ) revert_rate_limit('test', request) self.assertTrue( check_rate_limit('test', request) ) self.assertFalse( check_rate_limit('test', request) )
def perform_translation(unit, form, request): """Handle translation and stores it to a backend.""" user = request.user profile = user.profile project = unit.translation.component.project # Remember old checks oldchecks = unit.all_checks_names # Save saved = unit.translate(user, form.cleaned_data["target"], form.cleaned_data["state"]) # Warn about applied fixups if unit.fixups: messages.info( request, _("Following fixups were applied to translation: %s") % ", ".join(str(f) for f in unit.fixups), ) # No change edit - should we skip to next entry if not saved: revert_rate_limit("translate", request) return True # Auto subscribe user if not profile.languages.exists(): language = unit.translation.language profile.languages.add(language) messages.info( request, _("Added %(language)s to your translated languages. " "You can adjust them in the settings.") % {"language": language}, ) if profile.auto_watch and not profile.watched.filter( pk=project.pk).exists(): profile.watched.add(project) messages.info( request, _("Added %(project)s to your watched projects. " "You can adjust them and this behavior in the settings.") % {"project": project}, ) # Get new set of checks newchecks = unit.all_checks_names # Did we introduce any new failures? if (saved and form.cleaned_data["state"] >= STATE_TRANSLATED and newchecks > oldchecks): # Show message to user messages.error( request, _("The translation has been saved, however there " "are some newly failing checks: {0}").format(", ".join( str(CHECKS[check].name) for check in newchecks)), ) # Stay on same entry return False return True