def recover_view(self, request, version_id, extra_context=None):
        """Displays a form that can recover a deleted model."""
        # The revisionform view will check for change permission (via changeform_view),
        # but we also need to check for add permissions here.
        if not self.has_add_permission(request):  # pragma: no cover
            raise PermissionDenied
        # Render the recover view.
        version = get_object_or_404(Version, pk=version_id)
        context = {
            "title": _("Recover %(name)s") % {"name": version.object_repr},
        }
        context.update(extra_context or {})
        return self.revisionform_view(request, version, self.recover_form_template or self._get_template_list("recover_form.html"), context)
dataset/ETHPy150Open etianen/django-reversion/src/reversion/admin.py/VersionAdmin.recover_view/original