RemunerationInline.model = Remuneration
TypePosteInline.model = TypePoste
-admin.site.register(AyantDroit, AyantDroitAdmin)
+#admin.site.register(AyantDroit, AyantDroitAdmin)
#admin.site.register(AyantDroitCommentaire, AyantDroitCommentaireAdmin)
admin.site.register(Classement, ClassementAdmin)
#admin.site.register(Commentaire, CommentaireAdmin)
#admin.site.register(Contrat, ContratAdmin)
admin.site.register(Devise, DeviseAdmin)
admin.site.register(Dossier, DossierAdmin)
-admin.site.register(DossierInactif, DossierInactifAdmin)
#admin.site.register(DossierCommentaire, DossierCommentaireAdmin)
#admin.site.register(DossierPiece, DossierPieceAdmin)
admin.site.register(Employe, EmployeAdmin)
-admin.site.register(EmployeInactif, EmployeInactifAdmin)
#admin.site.register(EmployeCommentaire, EmployeCommentaireAdmin)
#admin.site.register(EmployePiece, EmployePieceAdmin)
#admin.site.register(Evenement, EvenementAdmin)
alphabet_filter = 'employe__nom'
search_fields = ('employe__nom', 'employe__prenom', 'poste__nom', 'poste__nom_feminin')
list_display = ('_employe', '_poste', 'date_debut', 'date_fin', 'date_modification', '_actif')
+ list_filter = ('poste__implantation__region', 'poste__implantation', 'actif', )
inlines = (DossierPieceInline, ContratInline,
RemunerationInline,
#EvenementInline,
return super(DossierAdmin, self).render_change_form(request, context, *args, **kwargs)
-class DossierInactifAdmin(DossierAdmin):
- def queryset(self, request):
- return self.model.inactifs.all()
-
-
class DossierPieceAdmin(admin.ModelAdmin):
pass
ordering = ('nom', )
actions = ('desactiver', )
form = EmployeAdminForm
- list_display = ('id', 'nom', 'prenom', '_dossiers', 'date_modification', 'user_modification',)
- list_display_links = ('id', 'nom',)
+ list_display = ('_nom', '_dossiers', 'date_modification', 'user_modification',)
list_filter = ('dossiers__poste__implantation__region', 'dossiers__poste__implantation', 'actif', )
inlines = (AyantDroitInline,
DossierROInline,
add_form_template = 'admin/change_form.html'
+
+ def _nom(self, obj):
+ view_link = reverse('employe_apercu', args=(obj.id,))
+ edit_link = reverse('admin:rh_employe_change', args=(obj.id,))
+ return u"""<a onclick="return showAddAnotherPopup(this);" href='%s'>[%s] %s %s</a>
+ <a href="%s" title="Modifier l'employé"><img src="%simg/user_edit.png" /></a>""" % \
+ (view_link, obj.id, obj.nom.upper(), obj.prenom.title(), edit_link, settings.MEDIA_URL,)
+ _nom.allow_tags = True
+ _nom.short_description = u"Employé ([code] NOM Prénom)"
+ _nom.admin_order_field = "nom"
+
def _dossiers(self, obj):
l = []
for d in obj.dossiers.all().order_by('-date_debut'):
style = ""
if d.date_fin is not None:
style = "color: grey";
- link = """<li><a style="%s;" onclick="return showAddAnotherPopup(this);" href='%s'>%s : %s</a></li>""" % \
+ link = u"""<li><a style="%s;" onclick="return showAddAnotherPopup(this);" href='%s'>%s : %s</a> <a href="%s" title="Modifier le dossier"><img src="%simg/page_edit.png" /></a> </li>""" % \
(style,
reverse('dossier_apercu', args=(d.id,)),
d.date_debut.year,
- d.poste)
+ d.poste,
+ reverse('admin:rh_dossier_change', args=(d.id,)),
+ settings.MEDIA_URL,
+ )
l.append(link)
return "<ul>%s</ul>" % "\n".join(l)
_dossiers.allow_tags = True
return super(EmployeAdmin, self).render_change_form(request, context, *args, **kwargs)
-class EmployeInactifAdmin(EmployeAdmin):
- def queryset(self, request):
- return self.model.inactifs.all()
-
-
class EmployeCommentaireAdmin(admin.ModelAdmin):
pass
return regions
-class EmployeInactif(Employe):
- class Meta:
- proxy = True
- ordering = ['nom_affichage','nom','prenom']
- verbose_name = u"Employé inactif"
- verbose_name_plural = u"Employés inactifs"
-
-
class EmployePiece(models.Model):
"""Documents relatifs à un employé.
Ex.: CV...
__doc__ = Dossier_.__doc__
-class DossierInactif(Dossier):
-
- class Meta:
- proxy = True
- ordering = ['employe__nom', ]
- verbose_name = u"Dossier inactif"
- verbose_name_plural = u"Dossiers inactifs"
-
-
class DossierPiece(models.Model):
"""Documents relatifs au Dossier (à l'occupation de ce poste par employé).
Ex.: Lettre de motivation.
--- /dev/null
+{% extends 'admin/change_form.html' %}
+{% load i18n admin_modify adminmedia %}
+
+{% block breadcrumbs %}{% if not is_popup %}
+<div class="breadcrumbs">
+ <a href="{% url admin:index %}">{% trans "Home" %}</a> ›
+ <a href="{% url admin:index %}/rh">Rh</a> ›
+ <a href="{% url admin:rh_employe_changelist %}">Liste employés</a> ›
+ {{ employe }}
+</div>
+{% endif %}{% endblock %}
+
+{% block content %}
+<h2>{{ employe }}</h2>
+
+{% include "rh/include/employe.html" %}
+
+{% if dernier_dossier != None %}
+ {% with dernier_dossier as dossier %}
+ {% include "rh/include/dossier.html" %}
+ {% endwith %}
+{% endif %}
+
+{% endblock %}
url(r'^admin/rh/rapports/contrats$', 'rapports_contrat', name='rhr_contrats'),
url(r'^admin/rh/rapports/remuneration$', 'rapports_remuneration', name='rhr_remuneration'),
url(r'^admin/rh/dossier/(\d+)/apercu/$', 'dossier_apercu', name='dossier_apercu'),
+ url(r'^admin/rh/employe/(\d+)/apercu/$', 'employe_apercu', name='employe_apercu'),
)
}
return render_to_response('admin/rh/dossier/apercu.html', c, RequestContext(request))
+
+def employe_apercu(request, employe_id):
+ employe = get_object_or_404(rh.Employe, pk=employe_id)
+ try:
+ dernier_dossier = rh.Dossier.objects.filter(employe=employe).order_by('-date_debut')[0]
+ except:
+ dernier_dossier = None
+
+ c = {
+ 'is_popup' : request.GET.get('_popup', False),
+ 'employe' : employe,
+ 'dernier_dossier' : dernier_dossier,
+ }
+ return render_to_response('admin/rh/employe/apercu.html', c, RequestContext(request))