src/hdalab/views/profile.py
changeset 627 3fd558fa38b1
parent 608 d1eb7acb5b84
child 640 939461cc322b
--- a/src/hdalab/views/profile.py	Wed May 27 14:06:37 2015 +0200
+++ b/src/hdalab/views/profile.py	Fri Jun 19 18:25:35 2015 +0200
@@ -126,8 +126,16 @@
     def get_context_data(self, **kwargs):
         context = super(RenkanPublicList, self).get_context_data(**kwargs)
         #Liste des renkans publics
+        renkan_list = HdalabRenkan.objects
+        
         context['hide_favorite'] = True
-        return self.update_context(context, HdalabRenkan.objects.select_related("renkan", "renkan__owner").filter(state=HdalabRenkan.PUBLISHED, favorite=False) )
+        context['show_username'] = self.request.user.is_staff
+        if self.request.user.is_staff:
+            renkan_list = renkan_list.select_related("renkan", "renkan__owner")
+        else:
+            renkan_list = renkan_list.select_related("renkan")
+
+        return self.update_context(context, renkan_list.filter(state=HdalabRenkan.PUBLISHED, favorite=False) )
 
 
 class RenkanFavoriteList(BaseRenkanList):
@@ -136,12 +144,22 @@
     
     def get_context_data(self, **kwargs):
         context = super(RenkanFavoriteList, self).get_context_data(**kwargs)
+        renkan_list = HdalabRenkan.objects
+        
         context['hide_favorite'] = True
-        return self.update_context(context, HdalabRenkan.objects.select_related("renkan", "renkan__owner").filter(state=HdalabRenkan.PUBLISHED, favorite=True) )
+        context['show_username'] = self.request.user.is_staff
+        if self.request.user.is_staff:
+            renkan_list = renkan_list.select_related("renkan", "renkan__owner")
+        else:
+            renkan_list = renkan_list.select_related("renkan")
+
+        return self.update_context(context, renkan_list.filter(state=HdalabRenkan.PUBLISHED, favorite=True) )
 
 
-class RenkanNew(View):
+class RenkanNew(TemplateView):
     
+    template_name="renkan_new_confirm.html"
+
     def post(self, request):
         rk = Renkan()
         rk_id = unicode(uuid.uuid1())
@@ -217,6 +235,7 @@
         
         content = {
           "id": unicode(uuid.uuid1()),
+          "schema_version": 2,
           "title": "",
           "description": "(empty description)",
           "created": now,
@@ -266,8 +285,9 @@
                 "image": "http://www.histoiredesarts.culture.fr/images/pf/" + notice.hda_id + ".jpg",
                 "size": 0,
                 "project_id": project_id,
-                "color": "#FF0033",
-                #"created_by": "roster_user-84fe909f-ba37-48e6-a25f-9d2f129a95b7",
+                "style" : {
+                    "color": "#FF0033",
+                },
                 "shape": shapes["notice"]
             })
             notice_id = content["nodes"][0]["id"]
@@ -297,8 +317,9 @@
                   "image": img_url,
                   "size": 0,
                   "project_id": project_id,
-                  "color": "#00FF33",
-                  #"created_by": "roster_user-84fe909f-ba37-48e6-a25f-9d2f129a95b7",
+                  "style": {
+                    "color": "#00FF33"
+                  },
                   "shape": shapes["tag2"]
                 })
                 
@@ -309,11 +330,12 @@
                     "title": "",
                     "description": "",
                     "uri": "",
-                    "color": None,
+                    "style": {
+                        "color": None,
+                    },
                     "from": notice_id,
                     "to": node["id"],
                     "project_id": project_id,
-                    #"created_by": "de68xf75y6hs5rgjhgghxbm217xk"
                 })
             
             response = json.dumps(content)
@@ -324,7 +346,7 @@
         folder_id = request.GET.get("folder", "")
         if folder_id!="":
             #TODO : optimize to avoid tag request on each notice
-            folder = get_object_or_404(Folder.objects.select_related("datasheets", "datasheets__tags"), pk=folder_id)
+            folder = get_object_or_404(Folder.objects.prefetch_related("datasheets", "datasheets__tags"), pk=folder_id)
             notices = folder.datasheets.all()
             n_tags = []
             notice_tag_dict = {}
@@ -366,8 +388,9 @@
                   "image": "http://www.histoiredesarts.culture.fr/images/pf/" + n.hda_id + ".jpg",
                   "size": 0,
                   "project_id": project_id,
-                  "color": "#FF0033",
-                  #"created_by": "roster_user-84fe909f-ba37-48e6-a25f-9d2f129a95b7",
+                  "style": {
+                      "color": "#FF0033"
+                  },
                   "shape": shapes["notice"]
                 })
             
@@ -391,9 +414,10 @@
                   "image": img_url,
                   "size": 0,
                   "project_id": project_id,
-                  "color": "#00FF33",
-                  #"created_by": "roster_user-84fe909f-ba37-48e6-a25f-9d2f129a95b7",
-                  "shape": shapes["tag2"]
+                  "style": {
+                    "color": "#00FF33"
+                    },
+                    "shape": shapes["tag2"]
                 })
             
             # Place edges
@@ -404,7 +428,9 @@
                         "title": "",
                         "description": "",
                         "uri": "",
-                        "color": None,
+                        "style": {
+                            "color": None
+                        },
                         "from": notice_tag_dict[n_pk]["uuid"],
                         "to": tag_id,
                         "project_id": project_id,
@@ -521,8 +547,9 @@
               "image": img_url,
               "size": 0,
               "project_id": project_id,
-              "color": None,
-              #"created_by": "roster_user-84fe909f-ba37-48e6-a25f-9d2f129a95b7",
+              "style" : {
+                   "color": None,
+              },
               "shape": shapes["tag1"]
             })
         if period:
@@ -535,8 +562,9 @@
               "image": cat_dict[u"Datation"],
               "size": 0,
               "project_id": project_id,
-              "color": None,
-              #"created_by": "roster_user-84fe909f-ba37-48e6-a25f-9d2f129a95b7",
+              "style": {
+                  "color": None
+              },
               "shape": shapes["tag1"]
             })
         
@@ -550,8 +578,9 @@
               "image": "http://www.histoiredesarts.culture.fr/images/pf/" + c["hda_id"]+ ".jpg",
               "size": 0,
               "project_id": project_id,
-              "color": "#FF0033",
-              #"created_by": "roster_user-84fe909f-ba37-48e6-a25f-9d2f129a95b7",
+              "style" : {
+                  "color": "#FF0033"
+              },
               "shape": shapes["notice"]
             })
         
@@ -571,8 +600,9 @@
               "image": t["thumbnail"],
               "size": 0,
               "project_id": project_id,
-              "color": "#00FF33",
-              #"created_by": "roster_user-84fe909f-ba37-48e6-a25f-9d2f129a95b7",
+              "style": {
+                  "color": "#00FF33"
+              },
               "shape": shapes["tag2"]
             })
         
@@ -583,7 +613,9 @@
                     "title": "",
                     "description": "",
                     "uri": "",
-                    "color": None,
+                    "style": {
+                        "color": None,
+                    },
                     "from": c_id,
                     "to": tag_id,
                     "project_id": project_id,