-# -*- encoding: utf-8 -*-
-
+# -*- encoding: utf-8
from django.contrib import admin
from rh.models import *
from rh.lib import *
admin.site.register(Employe, EmployeAdmin)
#admin.site.register(EmployeCommentaire, EmployeCommentaireAdmin)
#admin.site.register(EmployePiece, EmployePieceAdmin)
-admin.site.register(Evenement, EvenementAdmin)
-admin.site.register(EvenementRemuneration, EvenementRemunerationAdmin)
+#admin.site.register(Evenement, EvenementAdmin)
+#admin.site.register(EvenementRemuneration, EvenementRemunerationAdmin)
admin.site.register(FamilleEmploi, FamilleEmploiAdmin)
admin.site.register(OrganismeBstg, OrganismeBstgAdmin)
admin.site.register(Poste, PosteAdmin)
#admin.site.register(PosteCommentaire, PosteCommentaireAdmin)
#admin.site.register(PosteFinancement, PosteFinancementAdmin)
#admin.site.register(PostePiece, PostePieceAdmin)
-admin.site.register(Remuneration, RemunerationAdmin)
+#admin.site.register(Remuneration, RemunerationAdmin)
admin.site.register(ResponsableImplantation, ResponsableImplantationAdmin)
admin.site.register(Service, ServiceAdmin)
admin.site.register(Statut, StatutAdmin) # FIXME: timeout in admin
class ReadonlyInlineMixin(object):
def get_readonly_fields(self, request, obj=None):
- return [f.name for f in self.model._meta.fields]
+ return [f.name for f in self.model._meta.fields if f.name not in METADATA_READONLY_FIELDS]
# Inlines
class AyantDroitInline(admin.TabularInline):
+ exclude = METADATA_READONLY_FIELDS + ('actif', )
model = models.Model # à remplacer dans admin.py
-
+ extra = 1
class AyantDroitCommentaireInline(admin.TabularInline):
+ exclude = METADATA_READONLY_FIELDS + ('actif', )
+ readonly_fields = ('owner', )
model = models.Model # à remplacer dans admin.py
+ extra = 1
class ContratInline(admin.TabularInline):
class DossierROInline(ReadonlyInlineMixin, admin.TabularInline):
model = models.Model # à remplacer dans admin.py
-
+ exclude = METADATA_READONLY_FIELDS
class DossierCommentaireInline(admin.TabularInline, MetadataAdminMixin):
exclude = METADATA_READONLY_FIELDS + ('actif', )
class EmployeCommentaireInline(admin.TabularInline):
+ exclude = METADATA_READONLY_FIELDS + ('actif', )
+ readonly_fields = ('owner', )
model = models.Model # à remplacer dans admin.py
+ extra = 1
class EmployePieceInline(admin.TabularInline):
# Admins
class AyantDroitAdmin(admin.ModelAdmin):
+ """
+ L'ajout d'un nouvel ayantdroit se fait dans l'admin de l'employé.
+ """
+ search_fields = ('nom', 'prenom', 'employe__nom', 'employe__prenom', )
+ list_display = ('_ayantdroit', '_employe', )
inlines = (AyantDroitCommentaireInline,)
+ readonly_fields = METADATA_READONLY_FIELDS + ('employe',)
+ fieldsets = (
+ ('Metadata', {
+ 'classes': ('collapse',),
+ 'fields': METADATA_FIELDSET_FIELDS,
+ }),
+ ("Lien avec l'employé", {
+ 'fields': ('employe', 'lien_parente', )
+ }),
+
+ ('Identification', {
+ 'fields': ('nom', 'prenom', 'nom_affichage', 'nationalite', 'date_naissance', 'genre', )
+ }),
+ )
+
+ def save_formset(self, request, form, formset, change):
+ instances = formset.save(commit=False)
+ for instance in instances:
+ if instance.__class__ == rh.AyantDroitCommentaire:
+ instance.owner = request.user
+ instance.save()
+ formset.save_m2m()
+
+ def _ayantdroit(self, obj):
+ return unicode(obj)
+ _ayantdroit.short_description = u'Ayant droit'
+ def _employe(self, obj):
+ return unicode(obj.employe)
+ _employe.short_description = u'Employé'
+
+ def has_add_permission(self, request):
+ return False
class AyantDroitCommentaireAdmin(admin.ModelAdmin):
pass
search_fields = ('employe__nom', 'employe__prenom', )
list_display = ('_employe', '_poste', 'date_debut', 'date_fin', )
inlines = (DossierPieceInline, ContratInline,
- RemunerationInline, EvenementInline, DossierCommentaireInline,
+ RemunerationInline,
+ #EvenementInline,
+ DossierCommentaireInline,
)
readonly_fields = METADATA_READONLY_FIELDS
fieldsets = (
pass
-class EmployeAdmin(admin.ModelAdmin):
+class EmployeAdmin(MetadataAdminMixin, admin.ModelAdmin):
inlines = (AyantDroitInline,
DossierROInline,
EmployePieceInline,
EmployeCommentaireInline)
+ readonly_fields = METADATA_READONLY_FIELDS
+ fieldsets = (
+ ('Metadata', {
+ 'classes': ('collapse',),
+ 'fields': METADATA_FIELDSET_FIELDS,
+ }),
+ ('Identification', {
+ 'fields': ('nom', 'prenom', 'nom_affichage', 'nationalite', 'date_naissance', 'genre', )
+ }),
+ ('Informations personnelles', {
+ 'fields': ('situation_famille', 'date_entree', )
+ }),
+ ('Coordonnées', {
+ 'fields': ('tel_domicile', 'tel_cellulaire', 'adresse', 'ville', 'province', 'code_postal', 'pays', )
+ }),
+ )
+ def save_formset(self, request, form, formset, change):
+ instances = formset.save(commit=False)
+ for instance in instances:
+ if instance.__class__ == rh.EmployeCommentaire:
+ instance.owner = request.user
+ instance.save()
+ formset.save_m2m()
class EmployeCommentaireAdmin(admin.ModelAdmin):
pass