diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index dc3ce194debff03f231de58a803d78808cb47bfd..26f56e7e62f98d6e002a3b4ab41cd0aa6b0e8894 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -782,7 +782,7 @@ class DashboardWidgetDeleteView(PermissionRequiredMixin, AdvancedDeleteView):
 class EditDashboardView(View):
     """View for editing dashboard widget order."""
 
-    def get(self, request):
+    def get_context_data(self, request):
         context = {}
 
         widgets = request.user.person.dashboard_widgets
@@ -801,10 +801,14 @@ class EditDashboardView(View):
         formset = DashboardWidgetOrderFormSet(
             request.POST or None, initial=initial, prefix="widget_order"
         )
-
         context["formset"] = formset
 
-        if request.method == "POST" and formset.is_valid():
+        return context
+
+    def post(self, request):
+        context = self.get_context_data(request)
+
+        if context["formset"].is_valid():
             added_objects = []
             for form in formset:
                 if not form.cleaned_data["order"]:
@@ -826,7 +830,8 @@ class EditDashboardView(View):
                 request, _("Your dashboard configuration has been saved successfully.")
             )
             return redirect("index")
-        return render(request, "core/edit_dashboard.html", context=context)
 
-    def post(self, request):
-        return self.get(request)
+    def get(self, request):
+        context = self.get_context_data(request)
+
+        return render(request, "core/edit_dashboard.html", context=context)