# -*- 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:
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("|","¦")
+ itemf = itemf.replace("\n", "").replace("|", "¦")
resultf = lookup_channel.format_result(item)
- resultf = resultf.replace("\n","").replace("|","¦")
+ resultf = resultf.replace("\n", "").replace("|", "¦")
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):
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)
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
# -*- 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'),
)
# -*- 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')),
(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')),
)