diff --git a/admin/management/views.py b/admin/management/views.py index f2052822f37..4ec96a4ea3a 100644 --- a/admin/management/views.py +++ b/admin/management/views.py @@ -179,7 +179,17 @@ def post(self, request): class SyncNotificationTemplates(ManagementCommandPermissionView): def post(self, request): - populate_notification_types() + run_type = request.POST.get('run_type') + if run_type == 'restore_one': + template_name = request.POST.get('template_name') + if not template_name: + messages.error(request, 'A template name must be specified when restoring one template. Check your inputs and try again') + return redirect(reverse('management:commands')) + populate_notification_types(restore_one=template_name) + elif run_type == 'restore_all': + populate_notification_types(restore_all=True) + else: + populate_notification_types() messages.success(request, 'Notification templates have been successfully synced.') return redirect(reverse('management:commands')) diff --git a/admin/templates/management/commands.html b/admin/templates/management/commands.html index edf242abfdd..87ff147f919 100644 --- a/admin/templates/management/commands.html +++ b/admin/templates/management/commands.html @@ -160,6 +160,16 @@