Merge branch 'master' of ssh://git.planet-lab.org/git/plstackapi into observer3.0
[plstackapi.git] / planetstack / core / dashboard / views / customize.py
diff --git a/planetstack/core/dashboard/views/customize.py b/planetstack/core/dashboard/views/customize.py
new file mode 100644 (file)
index 0000000..212cc4d
--- /dev/null
@@ -0,0 +1,22 @@
+from view_common import *
+
+class DashboardCustomize(View):
+    def post(self, request, *args, **kwargs):\r
+        if request.user.isReadOnlyUser():\r
+            return HttpResponseForbidden("User is in read-only mode")\r
+\r
+        dashboards = request.POST.get("dashboards", None)\r
+        if not dashboards:\r
+            dashboards=[]\r
+        else:\r
+            dashboards = [x.strip() for x in dashboards.split(",")]\r
+            dashboards = [DashboardView.objects.get(name=x) for x in dashboards]\r
+\r
+        request.user.dashboardViews.all().delete()\r
+\r
+        for i,dashboard in enumerate(dashboards):\r
+            udbv = UserDashboardView(user=request.user, dashboardView=dashboard, order=i)\r
+            udbv.save()\r
+\r
+        return HttpResponse(json.dumps("Success"), content_type='application/javascript')
+