1734: Partie-1 - utilisation du package auf.django.emploi dans le site institutionnel
authorNilovna Bascunan-Vasquez <contact@nilovna.com>
Mon, 25 Jul 2011 16:08:15 +0000 (12:08 -0400)
committerNilovna Bascunan-Vasquez <contact@nilovna.com>
Mon, 25 Jul 2011 16:08:15 +0000 (12:08 -0400)
project/recrutement/admin.py
project/recrutement/api.py
project/urls.py
src/auf.django.emploi/auf/django/emploi/api.py
src/auf.django.emploi/auf/django/emploi/models.py

index c7fc9b6..c7a54a0 100644 (file)
@@ -79,7 +79,7 @@ class OffreEmploiAdmin(VersionAdmin):
 class ProxyOffreEmploiAdmin(OffreEmploiAdmin):
     list_display = ('nom', 'resume', 'date_limite', 'region', 'statut', 
                     'est_affiche')
-    readonly_fields = ('description', 'poste', 'bureau',
+    readonly_fields = ('description', 'bureau',
                         'duree_affectation', 'renumeration',
                         'debut_affectation', 'lieu_affectation', 'nom',
                         'resume', 'date_limite', 'region')
@@ -88,7 +88,7 @@ class ProxyOffreEmploiAdmin(OffreEmploiAdmin):
             'fields': ('nom', )        
         }),
         ('Description générale', {
-            'fields': ('poste', 'resume','description', 'date_limite', )        
+            'fields': ('resume','description', 'date_limite', )        
         }),
         ('Coordonnées', {
             'fields': ('lieu_affectation', 'bureau', 'region', )
@@ -123,7 +123,7 @@ class ProxyCandidatPiece(CandidatPiece):
 
 class CandidatPieceInline(admin.TabularInline):
     model = ProxyCandidatPiece
-    fields = ('candidat', 'nom', 'path', )
+    fields = ('candidat', 'nom', )#'path', )
     extra = 1
 
 class ProxyEvaluateur(Evaluateur.candidats.through):
index 69587b5..655f22f 100644 (file)
@@ -21,18 +21,18 @@ def api(request, method):
 
     #if request.method != 'POST':
     #    return api_return(STATUS_ERROR_BADMETHOD)
-
+    
     api = API(request)
+   
     if hasattr(api, 'api_%s' % method):
         return getattr(api, 'api_%s' % method)()
-
+    
     return api_return(STATUS_ERROR)
 
 def api_return(status, text='', json=False):
     content_type = 'text/plain'
     if status == STATUS_OK and json:
         content_type = 'text/json'
-
     if text is None:
         if status == STATUS_ERROR:
             text = 'Error'
@@ -64,7 +64,6 @@ class API:
         cand.offre_emploi = offre_emploi
 
         if self.request.method == "POST":
-            #import pdb;pdb.set_trace()
             form = emploiForms.PostulerOffreEmploiForm(self.request.POST,
                      instance=cand, offre_emploi=offre_emploi)
             piecesForm = emploiForms.CandidatPieceForm(self.request.POST, self.request.FILES,
@@ -86,7 +85,6 @@ class API:
                 messages.add_message(self.request, messages.ERROR,
                             'Il y a des erreurs dans le formulaire.')
         else:
-            #import pdb;pdb.set_trace()
             form = emploiForms.PostulerOffreEmploiForm(instance=cand,
                     offre_emploi=offre_emploi)
             piecesForm = emploiForms.CandidatPieceForm(instance=cand)
index b218a9a..c4d2f63 100644 (file)
@@ -32,7 +32,7 @@ urlpatterns = patterns(
         name='selectionner_template'),
     url(r'^recrutement/pieces/$', 'recrutement.views.postuler_appel_offre', 
         name='pieces'),
-    url(r'^call/(?P<method>[a-z_-]+)/$', 
+    url(r'^api/(?P<method>[a-z_-]+)/$', 
         'recrutement.api.api', name='recrutement_api'),
     url(r'^recrutement/postuler_appel_offre/$', 
         'recrutement.views.postuler_appel_offre', name='postuler_appel_offre'),
index acc9d82..a9478de 100644 (file)
@@ -4,41 +4,40 @@ from django.shortcuts import render_to_response, redirect, get_object_or_404
 from django.utils import simplejson
 from auf.django.emploi import models as emploi
 from auf.django.emploi import forms as emploiForms
-from recrutement.api import API as api
-from restkit import request 
+from restkit import request as req
 
 class API:
     def __init__(self, request):
         self.request = request
 
     def offre_emploi_liste(self):
-        url = "/call/offre_emploi_liste/"
-        r = request(url)
+        url = "http://127.0.0.1:8080/api/offre_emploi_liste/"
+        r = req(url)
         liste_json = r.body_string()
         liste_offres = simplejson.loads(liste_json)
         obj_offres_emploi = []
 
         for offre_dict in liste_offres:
             offre = emploi.OffreEmploi()
-            offre.est_affiche = offre_dict['est_affiche']
-            offre.statut = offre_dict['statut']
+            #offre.est_affiche = offre_dict['est_affiche']
+            #offre.statut = offre_dict['statut']
             offre.nom = offre_dict['nom']
             offre.resume = offre_dict['resume']
             offre.description = offre_dict['description']
-            offre.poste = offre_dict['poste']
+            #offre.poste = offre_dict['poste']
             offre.date_limite = offre_dict['date_limite']
-            offre.region = offre_dict['region']
-            offre.bureau = offre_dict['bureau']
+            #offre.region = offre_dict['region']
+            #offre.bureau = offre_dict['bureau']
             offre.duree_affectation = offre_dict['duree_affectation']
             offre.renumeration = offre_dict['renumeration']
             offre.debut_affectation = offre_dict['debut_affectation']
-            offre.lieu_affectation = offre_dict['lieu_affectation']        
+            #offre.lieu_affectation = offre_dict['lieu_affectation']        
             obj_offres_emploi.append(offre)  
         return obj_offres_emploi
 
     def offre_emploi(self, offre_id):
         url = "/call/offre_emploi/%s"
-        r = request(url % (offre_id))
+        r = req(url % (offre_id))
         offre_json = r.body_string()
         offre_dict = simplejson.loads(offre_json)
 
@@ -48,7 +47,7 @@ class API:
         obj_offre.nom = offre_dict('nom')
         obj_offre.resume = offre_dict('resume')
         obj_offre.description = offre_dict('description')
-        obj_offre.poste = offre_dict('poste')
+        #obj_offre.poste = offre_dict('poste')
         obj_offre.date_limite = offre_dict('date_limite')
         obj_offre.region = offre_dict('region')
         obj_offre.bureau = offre_dict('bureau')
index 36a6e96..62716c4 100755 (executable)
@@ -76,7 +76,7 @@ class OffreEmploi(Metadata):
     nom = models.CharField(max_length=255)
     resume = models.TextField(verbose_name="Résumé")
     description = tinymce_models.HTMLField()
-    poste = models.ForeignKey('rh.Poste', db_column='poste')
+    #poste = models.ForeignKey('rh.Poste', db_column='poste')
     date_limite = models.DateField(verbose_name="Date limite",
                         help_text=HELP_TEXT_FORMAT_DATE,)  
     region = models.ForeignKey(ref.Region, db_column='region', 
@@ -139,8 +139,8 @@ class Candidat(Metadata):
         db_table = 'emploi_candidat'
 
 # Upload de fichiers
-storage_prive = FileSystemStorage(settings.PRIVE_MEDIA_ROOT, 
-                            base_url=settings.PRIVE_MEDIA_URL)
+#storage_prive = FileSystemStorage(settings.PRIVE_MEDIA_ROOT, 
+#                            base_url=settings.PRIVE_MEDIA_URL)
 
 def candidat_piece_dispatch(instance, filename):
     path = "offre_emploi/%s_%s/%s/%s_%s" % (instance.candidat.nom, 
@@ -153,9 +153,9 @@ class CandidatPiece(models.Model):
                 related_name='candidat_piece') 
     nom = models.CharField(max_length=3, choices=TYPE_PIECE_CHOICES)
     #path = PrivateFileField("file", upload_to=candidat_piece_dispatch)
-    path = models.FileField(verbose_name="Fichier", 
-            upload_to=candidat_piece_dispatch, 
-            storage=storage_prive, )
+    #    path = models.FileField(verbose_name="Fichier", 
+    #        upload_to=candidat_piece_dispatch, )
+    #storage=storage_prive, )
 
     class Meta:
         db_table = 'emploi_evaluateur'