Corrections
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / chercheurs / api.py
index 4cf8d7f..0530a0b 100644 (file)
@@ -15,11 +15,11 @@ STATUS_ERROR_BADMETHOD = 405
 
 def api(request, pays=None, region=None, chercheur_id=None):
     api = API(request)
-    
     if chercheur_id is not None:
         return api.api_chercheur(chercheur_id)
     else:
-        return api.api_chercheurs_liste(pays=pays, region=region)
+        filter_pays = pays.split(',')
+        return api.api_chercheurs_liste(pays=filter_pays, region=region)
 
 def api_return(status, text='', json=False):
     content_type = 'text/html'
@@ -52,7 +52,7 @@ class API:
         chercheur = get_object_or_404(Chercheur, id=chercheur_id)
         # Domaines de recherche du chercheur
         data = serializers.serialize('json', [chercheur,])
-        return api_return(STATUS_OK, data, False)     
+        #return api_return(STATUS_OK, data, True)     
 
 
         domaines_recherche = []
@@ -90,14 +90,15 @@ class API:
         chercheur_details = [{"id": "%s" % chercheur.id, 
                 "civilite": "%s" % chercheur.civilite, 
                 "prenom": "%s" % chercheur.prenom, 
-                "nom": "%s" % chercheur.nom, 
-                "etablissement_display": "%s" % chercheur.etablissement_display,
+                "nom": "%s" % chercheur.nom,
+                "pays": "%s" % chercheur.pays,
+                "etablissement": "%s" % chercheur.etablissement_display,
                 "afficher_courriel": "%s" % chercheur.afficher_courriel,
-                "courriel_display": "%s" % chercheur.courriel_display, 
+                "courriel": "%s" % chercheur.courriel, 
                 "region": "%s" % chercheur.region.nom, 
-                "statut_display": "%s" % chercheur.statut_display, 
+                "statut": "%s" % chercheur.get_statut_display(), 
                 "diplome": "%s" % chercheur.diplome, 
-                "domaines_recherche": "%s" % domaines_recherche,
+                "domaines_recherche": domaines_recherche,
                 "discipline": "%s" % chercheur.discipline,
                 "theme_recherche": "%s" % chercheur.theme_recherche, 
                 "equipe_recherche": "%s" % chercheur.equipe_recherche, 
@@ -105,28 +106,30 @@ class API:
                 "url_site_web": "%s" % chercheur.url_site_web, 
                 "url_blog": "%s" % chercheur.url_blog, 
                 "url_reseau_social": "%s" % chercheur.url_reseau_social, 
-                "membre_instance_auf": "%s" % chercheur.membre_instance_auf, 
-                "expert_oif": "%s" % chercheur.expert_oif, 
-                "membre_association_francophone": "%s" % chercheur.membre_association_francophone, 
-                "membre_reseau_institutionnel": "%s" % chercheur.membre_reseau_institutionnel, 
-                "get_membre_instance_auf_nom_display": "%s" % chercheur.get_membre_instance_auf_nom_display, 
+                "membre_instance_auf": chercheur.membre_instance_auf, 
+                "expert_oif": chercheur.expert_oif, 
+                "membre_association_francophone": chercheur.membre_association_francophone, 
+                "membre_reseau_institutionnel": chercheur.membre_reseau_institutionnel, 
+                "membre_instance_auf_nom": "%s" % chercheur.get_membre_instance_auf_nom_display(), 
                 "membre_instance_auf_fonction": "%s" % chercheur.membre_instance_auf_fonction, 
                 "membre_instance_auf_dates": "%s" % chercheur.membre_instance_auf_dates, 
                 "expert_oif_details": "%s" % chercheur.expert_oif_details, 
                 "expert_oif_dates": "%s" % chercheur.expert_oif_dates, 
                 "membre_association_francophone_details": "%s" % chercheur.membre_association_francophone_details, 
-                "get_membre_reseau_institutionnel_nom_display": "%s" %
-                chercheur.get_membre_reseau_institutionnel_nom_display, 
+                "membre_reseau_institutionnel_nom": "%s" %
+                chercheur.get_membre_reseau_institutionnel_nom_display(), 
                 "membre_reseau_institutionnel_fonction": "%s" % chercheur.membre_reseau_institutionnel_fonction, 
                 "membre_reseau_institionnel_dates": "%s" % chercheur.membre_reseau_institutionnel_dates, 
                 "expertises": expertises, 
                 "expertises_auf": "%s" % chercheur.expertises_auf,
                 "publications": publications}] 
-        
+        #import pdb;pdb.set_trace() 
         if chercheur.these:
+            #import pdb;pdb.set_trace()
             details_pop = chercheur_details.pop(0)
             details_pop.update(
-            {"these_url": "%s" % chercheur.these.url, 
+            {"these" : "%s" % chercheur.these,
+            "these_url": "%s" % chercheur.these.url, 
             "these_titre": "%s" % chercheur.these.titre, 
             "these_etablissement": "%s" % chercheur.these.etablissement, 
             "these_annee": "%s" % chercheur.these.annee, 
@@ -134,14 +137,13 @@ class API:
             "these_directeur": "%s" % chercheur.these.directeur, 
             })
             chercheur_details.append(details_pop)
-             #"publications":  chercheur.publications,             
-        
-
-        return api_return(STATUS_OK, simplejson.dumps(chercheur_details), False)     
+        return api_return(STATUS_OK, simplejson.dumps(chercheur_details), True)     
         
     def api_chercheurs_liste(self, pays=None, region=None):
         if pays is not None:
-            chercheurs = Chercheur.objects.filter_pays(pays)
+            #chercheurs = Chercheur.objects.filter_pays(pays)
+            chercheurs = Chercheur.objects.filter(etablissement__pays__in=[pays])|Chercheur.objects.filter(etablissement_autre_pays__in=pays)
+
         elif region is not None:
             chercheurs = Chercheur.objects.filter_region(region)
         else:
@@ -151,6 +153,6 @@ class API:
             [{"id": "%s" % c.id,
                 "nom": "%s" % c.nom,
                 "prenom": "%s" % c.prenom,
-                "etablissement": "%s" % c.etablissement_display,
+                "etablissement": "%s" % c.etablissement,
                 "pays": "%s" % c.pays}
                 for c in chercheurs]), json=True)