diff --git a/src/c3nav/editor/templates/editor/changeset.html b/src/c3nav/editor/templates/editor/changeset.html
index 15625390..bbb1ce34 100644
--- a/src/c3nav/editor/templates/editor/changeset.html
+++ b/src/c3nav/editor/templates/editor/changeset.html
@@ -142,7 +142,7 @@
{% endif %}
{% if can_unreject %}
-
+
{% endif %}
{% endif %}
{% if not active and not changeset.closed %}
diff --git a/src/c3nav/editor/views/changes.py b/src/c3nav/editor/views/changes.py
index cbd89eda..48ceeeb6 100644
--- a/src/c3nav/editor/views/changes.py
+++ b/src/c3nav/editor/views/changes.py
@@ -115,6 +115,17 @@ def changeset_detail(request, pk):
return redirect(reverse('editor.changesets.detail', kwargs={'pk': changeset.pk}))
+ elif request.POST.get('unreject') == '1':
+ with changeset.lock_to_edit() as changeset:
+ if not changeset.can_unreject(request):
+ messages.error(request, _('You cannot unreject these changes.'))
+ return redirect(reverse('editor.changesets.detail', kwargs={'pk': changeset.pk}))
+
+ changeset.unreject(request.user)
+ messages.success(request, _('You unrejected these changes.'))
+
+ return redirect(reverse('editor.changesets.detail', kwargs={'pk': changeset.pk}))
+
elif request.POST.get('delete') == '1':
if not changeset.can_delete(request):
raise PermissionDenied