def get_redirect_url(self, **kwargs): if not self.image.current_revision: logger.critical( 'Encountered an image without current revision set, ID: {}'. format(self.image.id)) latest_revision = RevisionPluginRevision.objects.filter( plugin=self.image).latest('pk') self.image.current_revision = latest_revision new_revision = models.ImageRevision() new_revision.inherit_predecessor(self.image) new_revision.set_from_request(self.request) new_revision.revision_number = RevisionPluginRevision.objects.filter( plugin=self.image).count() new_revision.deleted = not self.restore new_revision.save() self.image.current_revision = new_revision self.image.save() if self.restore: messages.info( self.request, _('%s has been restored') % new_revision.get_filename()) else: messages.info( self.request, _('%s has been marked as deleted') % new_revision.get_filename()) if self.urlpath: return reverse('wiki:images_index', kwargs={'path': self.urlpath.path}) return reverse('wiki:images_index', kwargs={'article_id': self.article.id})
def setUp(self): super().setUp() self.image_revision = models.ImageRevision( image=self._create_test_gif_file(), width=1, height=1) self.image = models.Image(article=self.root_article) self.image.add_revision(self.image_revision) self.assertEqual(1, self.image.id)
def get_redirect_url(self, **kwargs): new_revision = models.ImageRevision() new_revision.inherit_predecessor(self.image) new_revision.set_from_request(self.request) new_revision.deleted = not self.restore new_revision.save() self.image.current_revision = new_revision self.image.save() if self.restore: messages.info( self.request, _('%s has been restored') % new_revision.get_filename()) else: messages.info( self.request, _('%s has been marked as deleted') % new_revision.get_filename()) if self.urlpath: return reverse('wiki:images_index', kwargs={'path': self.urlpath.path}) return reverse('wiki:images_index', kwargs={'article_id': self.article.id})