def _organigramme(self, obj):
l = []
for d in rh.Dossier.objects.filter((Q(date_fin__gt=datetime.date.today()) | Q(date_fin=None)) & (Q(date_debut__lt=datetime.date.today()) | Q(date_debut=None)) ).filter(employe=obj.id).all():
- poste = u"""<a title="Aperçu du poste"
- href="%s"
- onclick="return showAddAnotherPopup(this);"
- title="Aperçu du poste">
- <img src="%simg/loupe.png" />
- </a>
- <a href="%s">Poste</a>
- """ % \
- (reverse('poste_apercu', args=(d.poste.id,)),
- settings.STATIC_URL,
- reverse('admin:rh_poste_change', args=(d.poste.id,)))
- organigramme = u"""<a href="%s">Organigramme</a>""" % \
- (reverse('rho_employe', args=(d.poste.id, "all")))
- link = u"""<li>%s - %s - %s : [%s] %s</li>""" % \
- (poste, organigramme,
- d.date_debut.year,
+ organigramme = u"""Organigramme, niveau: <input type="text" id="level_%s" style="width:30px;height:15px;" /> <input type="button" value="Générer" onclick="window.location='%s'+document.getElementById('level_%s').value" />""" % \
+ (d.poste.id, reverse('rho_employe_sans_niveau', args=(d.poste.id,)), d.poste.id)
+ link = u"""<li>%s - [%s] %s : %s</li>""" % \
+ (d.date_debut.year,
d.poste.id,
d.poste.nom,
+ organigramme
)
l.append(link)
return "<ul>%s</ul>" % "\n".join(l)
url(r'^admin/rh/employe/(\d+)/apercu/$', 'employe_apercu', name='employe_apercu'),
url(r'^admin/rh/poste/(\d+)/apercu/$', 'poste_apercu', name='poste_apercu'),
url(r'^admin/rh/organigrammes/employe/(\d+)/(\d+|all)$', 'organigrammes_employe', name='rho_employe'),
+ url(r'^admin/rh/organigrammes/employe/(\d+)/$', 'organigrammes_employe', name='rho_employe_sans_niveau'), #pour mettre le paramètre level non obligatoire, faut la deuxième url
url(r'^admin/rh/organigrammes/service/(\d+)$', 'organigrammes_service', name='rho_service'),
url(r'^admin/rh/organigrammes/implantation/(\d+)$', 'organigrammes_implantation', name='rho_implantation'),
url(r'^admin/rh/organigrammes/bureau/(\d+)$', 'organigrammes_region', name='rho_region'),
@login_required
@drh_or_admin_required
-def organigrammes_employe(request, id, level):
+def organigrammes_employe(request, id, level="all"):
poste = get_object_or_404(rh.Poste, pk=id)
dossiers_by_poste = dict((d.poste_id, d) for d in rh.Dossier.objects.select_related('employe', 'poste').all())