Merge branch 'test' into dev
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 22 Feb 2012 18:54:43 +0000 (13:54 -0500)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 22 Feb 2012 18:54:43 +0000 (13:54 -0500)
auf_savoirs_en_partage/chercheurs/api.py
auf_savoirs_en_partage/conf.py.edit [new file with mode: 0644]
auf_savoirs_en_partage/urls.py

index 2c93e0b..27035e7 100644 (file)
@@ -6,6 +6,7 @@ from django.shortcuts import get_object_or_404
 from django.utils import simplejson
 
 from savoirs.models import Region
+from savoirs.rss import FilChercheurs
 from chercheurs.models import Chercheur, Personne
 
 STATUS_OK = 200
@@ -14,6 +15,13 @@ STATUS_ERROR_PERMISSIONS = 403
 STATUS_ERROR_NOT_FOUND = 404
 STATUS_ERROR_BADMETHOD = 405
 
+class APIFilChercheurs(FilChercheurs):
+    description = "Pour services tiers"
+
+    def items(self, search):
+        """Pas de limite temporelle"""
+        return search.run().order_by('-date_modification')
+
 def api(request, pays=None, region=None, chercheur_id=None):
     api = API(request)
     if chercheur_id is not None:
@@ -152,20 +160,30 @@ class API:
 
         return api_return(STATUS_OK, dict_2_json(chercheur_details), True)     
         
+
     def api_chercheurs_liste(self, pays=None, region=None):
         if pays is not None:
-            chercheurs = Chercheur.objects.filter(etablissement__pays__in=[pays])|Chercheur.objects.filter(etablissement_autre_pays__in=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:
             return api_return(STATUS_ERROR, "Erreur dans la requete de recherche de chercheurs")
 
-        return api_return(STATUS_OK, dict_2_json(
-            [{"id": "%s" % c.id,
+        results = []
+        for c in chercheurs:
+            if c.etablissement_autre_pays is not None:
+                etablissement_autre_pays_nom = c.etablissement_autre_pays.nom
+            else:
+                etablissement_autre_pays_nom = None
+
+            data = {"id": "%s" % c.id,
                 "nom": "%s" % c.nom,
                 "prenom": "%s" % c.prenom,
                 "etablissement": "%s" % c.etablissement_display,
                 "etablissement_autre_nom": "%s" % c.etablissement_autre_nom,
                 "pays": "%s" % c.pays.nom,
-                "etablissement_pays_autre_nom": "%s" % c.etablissement_autre_pays.nom}
-                for c in chercheurs]), json=True)
+                "etablissement_pays_autre_nom": "%s" % etablissement_autre_pays_nom}
+            results.append(data)
+
+        return api_return(STATUS_OK, dict_2_json(results), json=True)
+
diff --git a/auf_savoirs_en_partage/conf.py.edit b/auf_savoirs_en_partage/conf.py.edit
new file mode 100644 (file)
index 0000000..bbf402b
--- /dev/null
@@ -0,0 +1,18 @@
+DATABASE_ENGINE = 'sqlite3'    # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+DATABASE_NAME = 'auf_savoirs_en_partage_django.db'
+DATABASE_USER = ''             # Not used with sqlite3.
+DATABASE_PASSWORD = ''         # Not used with sqlite3.
+DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
+DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
+ROA_API_KEY = ''
+
+# Don't share this with anybody.
+SECRET_KEY = ''
+
+CALENDRIER_URL = 'http://davin:davin@cal.ro.auf.org/caldav.php/davin/test/'
+SITE_ROOT_URL = 'http://www.savoirsenpartage.auf.org'
+
+AUTH_PASSWORD_REQUIRED = True
+EMAIL_SUBJECT_PREFIX = '[savoirsenpartage - TEST] '
+
+SITE_DOMAIN = 'test.savoirsenpartage.auf.org'
index 989ac3c..ec14293 100644 (file)
@@ -4,7 +4,7 @@ from django.conf.urls.defaults import patterns, include, handler500, handler404,
 from django.conf import settings
 from django.contrib import admin
 from savoirs.rss import FilChercheurs, FilRessources, FilActualites, FilAppels, FilEvenements, FilSites, FilMessages
-
+from chercheurs.api import APIFilChercheurs
 admin.autodiscover()
 
 handler500 = "views.page_500"
@@ -107,6 +107,7 @@ urlpatterns = sep_patterns + patterns(
     (r'^api/chercheurs/(?P<chercheur_id>\d+)/$', 'chercheurs.api.api'),
     (r'^api/chercheurs/pays/(?P<pays>.*)/$', 'chercheurs.api.api'),
     (r'^api/chercheurs/region/(?P<region>.*)/$', 'chercheurs.api.api'),
+    (r'^api/chercheurs/rss$', APIFilChercheurs(), {}, ),
 
 
     # groupes