Corrigé les urls et les vues qui cherchaient le module recrutement plutôt que project...
authorEric Mc Sween <eric.mcsween@auf.org>
Tue, 5 Jun 2012 15:14:39 +0000 (11:14 -0400)
committerEric Mc Sween <eric.mcsween@auf.org>
Tue, 5 Jun 2012 15:14:39 +0000 (11:14 -0400)
project/monkey.py
project/recrutement/urls.py
project/urls.py

index a6a96e2..a283dc8 100644 (file)
@@ -1,23 +1,33 @@
 # -*- encoding: utf-8 -*-
 
-################################################################################
+############################################################################
 #
 # PATCH AJAX SELECT FIELD : pour gérer le fait que certaine FK ne sont pas
-# forcément mappé sur la PK du modèle, dans notre cas ici c'est le modèle 
-# Pays qui dispose d'un pk sur son id mais les fk sont mappé sur le champs 'code'
+# forcément mappé sur la PK du modèle, dans notre cas ici c'est le modèle
+# Pays qui dispose d'un pk sur son id mais les fk sont mappé sur le champs
+# 'code'
 #
-################################################################################
-from ajax_select import get_lookup
-from django.contrib.admin import site
-from django.db import models
+###########################################################################
+
+from django.conf import settings
+from django.core.urlresolvers import reverse
 from django.http import HttpResponse
+from django.forms.util import flatatt
+from django.utils.safestring import mark_safe
+from django.template.loader import render_to_string
+
 import ajax_select.views
+from ajax_select import get_lookup
+from ajax_select.fields import AutoCompleteSelectWidget
+
 
-def fk_ajax_lookup(request,channel):
-    """ this view supplies results for both foreign keys and many to many fields """
+def fk_ajax_lookup(request, channel):
+    """
+    this view supplies results for both foreign keys and many to many fields
+    """
 
-    # it should come in as GET unless global $.ajaxSetup({type:"POST"}) has been set
-    # in which case we'll support POST
+    # it should come in as GET unless global $.ajaxSetup({type:"POST"}) has
+    # been set in which case we'll support POST
     if request.method == "GET":
         # we could also insist on an ajax request
         if 'q' not in request.GET:
@@ -25,33 +35,30 @@ def fk_ajax_lookup(request,channel):
         query = request.GET['q']
     else:
         if 'q' not in request.POST:
-            return HttpResponse('') # suspicious
+            return HttpResponse('')  # suspicious
         query = request.POST['q']
-    
+
     lookup_channel = get_lookup(channel)
-    
+
     if query:
-        instances = lookup_channel.get_query(query,request)
+        instances = lookup_channel.get_query(query, request)
     else:
         instances = []
 
     results = []
     for item in instances:
         itemf = lookup_channel.format_item(item)
-        itemf = itemf.replace("\n","").replace("|","&brvbar;")
+        itemf = itemf.replace("\n", "").replace("|", "&brvbar;")
         resultf = lookup_channel.format_result(item)
-        resultf = resultf.replace("\n","").replace("|","&brvbar;")
+        resultf = resultf.replace("\n", "").replace("|", "&brvbar;")
         fk = getattr(lookup_channel, 'fk_key', None)
         if fk is not None:
             id = getattr(item, fk)
         else:
             id = item.pk
-        results.append( "|".join((unicode(id),itemf,resultf)) )
+        results.append("|".join((unicode(id), itemf, resultf)))
     return HttpResponse("\n".join(results))
 
-ajax_select.views.ajax_lookup = fk_ajax_lookup
-
-from ajax_select.fields import AutoCompleteSelectWidget
 
 def value_from_datadict(self, data, files, name):
 
@@ -64,17 +71,10 @@ def value_from_datadict(self, data, files, name):
     else:
         return None
 
-AutoCompleteSelectWidget.value_from_datadict = value_from_datadict
-
-from django.conf import settings
-from django.core.urlresolvers import reverse
-from django.utils.safestring import mark_safe
-from django.forms.util import flatatt
-from django.template.loader import render_to_string
 
 def patched_render(self, name, value, attrs=None):
     """
-    prevention contre les choses supprimees   
+    prevention contre les choses supprimees
     """
     # precheck existence valeur
     lookup = get_lookup(self.channel)
@@ -95,25 +95,32 @@ def patched_render(self, name, value, attrs=None):
             obj = objs[0]
         except IndexError:
             raise Exception("%s cannot find object:%s" % (lookup, value))
-        current_result = mark_safe(lookup.format_item( obj ) )
+        current_result = mark_safe(lookup.format_item(obj))
     else:
         current_result = ''
 
     context = {
             'name': name,
-            'html_id' : self.html_id,
-            'lookup_url': reverse('ajax_lookup',kwargs={'channel':self.channel}),
+            'html_id': self.html_id,
+            'lookup_url': reverse(
+                'ajax_lookup', kwargs={'channel': self.channel}
+            ),
             'current_id': value,
             'current_result': current_result,
             'help_text': self.help_text,
             'extra_attrs': mark_safe(flatatt(final_attrs)),
-            'func_slug': self.html_id.replace("-",""),
-            'add_link' : self.add_link,
-            'admin_media_prefix' : settings.ADMIN_MEDIA_PREFIX
+            'func_slug': self.html_id.replace("-", ""),
+            'add_link': self.add_link,
+            'admin_media_prefix': settings.ADMIN_MEDIA_PREFIX
             }
 
-    return mark_safe(render_to_string(('autocompleteselect_%s.html' % self.channel, 'autocompleteselect.html'),context))
-
+    return mark_safe(render_to_string((
+        'autocompleteselect_%s.html' % self.channel,
+        'autocompleteselect.html'
+    ), context))
 
 
-AutoCompleteSelectWidget.render = patched_render
+def patch_ajax_selects():
+    ajax_select.views.ajax_lookup = fk_ajax_lookup
+    AutoCompleteSelectWidget.render = patched_render
+    AutoCompleteSelectWidget.value_from_datadict = value_from_datadict
index 6db004b..625502d 100644 (file)
@@ -1,25 +1,19 @@
 # -*- encoding: utf-8 -*
 
 from django.conf.urls.defaults import patterns, url
+
 from auf.django.emploi import settings
 
-urlpatterns = patterns('recrutement.views',
+urlpatterns = patterns('project.recrutement.views',
     url(r'^$', 'index', name='recrutement_index'),
-
-    (r'^prive/(?P<path>.*)$', 'mediaserve', {'document_root': settings.OE_PRIVE_MEDIA_ROOT}),
-
-    url(r'^affecter_evaluateurs_offre_emploi/$', 
-        'affecter_evaluateurs_offre_emploi', 
+    url(r'^prive/(?P<path>.*)$', 'mediaserve',
+        {'document_root': settings.OE_PRIVE_MEDIA_ROOT}),
+    url(r'^affecter_evaluateurs_offre_emploi/$',
+        'affecter_evaluateurs_offre_emploi',
         name='affecter_evaluateurs_offre_emploi'),
-
-    url(r'^envoyer_courriel_candidats/$', 
-        'envoyer_courriel_candidats', 
+    url(r'^envoyer_courriel_candidats/$', 'envoyer_courriel_candidats',
         name='envoyer_courriel_candidats'),
-
-    url(r'^selectionner_template/$', 
-        'selectionner_template', 
+    url(r'^selectionner_template/$', 'selectionner_template',
         name='selectionner_template'),
-
-    url(r'candidat_pdf/$', 'candidat_pdf', 
-        name='candidat_pdf'),
+    url(r'candidat_pdf/$', 'candidat_pdf', name='candidat_pdf'),
 )
index 0bd1b44..5334386 100644 (file)
@@ -1,24 +1,25 @@
 # -*- encoding: utf-8 -*
 
 from django.contrib import admin
-from urldecorators.defaults import patterns, include, handler500, url
+from urldecorators.defaults import patterns, include, url
+from urldecorators.defaults import handler500  # NOQA
 from auf.django import permissions
-import project.monkey
+from project.monkey import patch_ajax_selects
 
+patch_ajax_selects()
 admin.autodiscover()
 permissions.autodiscover()
 
-handler500 # Pyflakes
 
 urlpatterns = patterns(
     '',
     url(r'^$', 'project.views.index', name='index'),
     url(r'^admin_tools/', include('admin_tools.urls')),
     (r'^admin/', include(admin.site.urls)),
-    url(r'^api/(?P<method>[a-z_-]+)/(?P<offre_id>\d+)/$', 'recrutement.api.api', 
-            name='recrutement_api'),
-    url(r'^api/(?P<method>[a-z_-]+)/$', 'recrutement.api.api', 
-            name='recrutement_api'),
+    url(r'^api/(?P<method>[a-z_-]+)/(?P<offre_id>\d+)/$',
+        'project.recrutement.api.api', name='recrutement_api'),
+    url(r'^api/(?P<method>[a-z_-]+)/$', 'project.recrutement.api.api',
+        name='recrutement_api'),
     (r'^connexion/$', 'django.contrib.auth.views.login'),
     (r'^deconnexion/$', 'django.contrib.auth.views.logout'),
     #url(r'^private_files/', include('private_files.urls')),
@@ -26,12 +27,14 @@ urlpatterns = patterns(
     (r'^ajax_select/', include('ajax_select.urls')),
     (r'^tinymce/', include('tinymce.urls')),
     url(r'^prive/(?P<filename>.*)$', 'project.views.piece'),
-    #(r'^prive/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.PRIVE_MEDIA_ROOT}),
 
     # apps
-    url(r'^dae/', include('project.dae.urls'), decorators=['django.contrib.auth.decorators.login_required']),
-    url(r'^recrutement/', include('recrutement.urls'), decorators=['django.contrib.auth.decorators.login_required']),
-    url(r'^rh/', include('project.rh.urls'), decorators=['django.contrib.auth.decorators.login_required']),
+    url(r'^dae/', include('project.dae.urls'),
+        decorators=['django.contrib.auth.decorators.login_required']),
+    url(r'^recrutement/', include('project.recrutement.urls'),
+        decorators=['django.contrib.auth.decorators.login_required']),
+    url(r'^rh/', include('project.rh.urls'),
+        decorators=['django.contrib.auth.decorators.login_required']),
 
     url(r'^qbe/', include('django_qbe.urls')),
 )