1 # -*- encoding: utf-8 -*-
3 from django
.db
import models
4 from django
.contrib
import admin
6 from project
.rh
import models
as rh
9 class ReadonlyInlineMixin(object):
10 def get_readonly_fields(self
, request
, obj
=None):
11 return [f
.name
for f
in self
.model
._meta
.fields
]
16 class AyantDroitInline(admin
.TabularInline
):
17 model
= models
.Model
# à remplacer dans admin.py
20 class AyantDroitCommentaireInline(admin
.TabularInline
):
21 model
= models
.Model
# à remplacer dans admin.py
24 class ContratInline(admin
.TabularInline
):
25 model
= models
.Model
# à remplacer dans admin.py
28 class DossierROInline(ReadonlyInlineMixin
, admin
.TabularInline
):
29 model
= models
.Model
# à remplacer dans admin.py
32 class DossierCommentaireInline(admin
.TabularInline
):
33 model
= models
.Model
# à remplacer dans admin.py
36 class DossierPieceInline(admin
.TabularInline
):
37 model
= models
.Model
# à remplacer dans admin.py
40 class EmployeInline(admin
.TabularInline
):
41 model
= models
.Model
# à remplacer dans admin.py
44 class EmployeCommentaireInline(admin
.TabularInline
):
45 model
= models
.Model
# à remplacer dans admin.py
48 class EmployePieceInline(admin
.TabularInline
):
49 model
= models
.Model
# à remplacer dans admin.py
52 class EvenementInline(admin
.TabularInline
):
53 model
= models
.Model
# à remplacer dans admin.py
56 class EvenementRemunerationInline(admin
.TabularInline
):
57 model
= models
.Model
# à remplacer dans admin.py
60 class PosteInline(admin
.TabularInline
):
61 model
= models
.Model
# à remplacer dans admin.py
64 class PosteCommentaireInline(admin
.TabularInline
):
65 model
= models
.Model
# à remplacer dans admin.py
68 class PosteFinancementInline(admin
.TabularInline
):
69 model
= models
.Model
# à remplacer dans admin.py
72 class PostePieceInline(admin
.TabularInline
):
73 model
= models
.Model
# à remplacer dans admin.py
76 class RemunerationInline(admin
.TabularInline
):
77 model
= models
.Model
# à remplacer dans admin.py
80 class RemunerationROInline(ReadonlyInlineMixin
, RemunerationInline
):
84 class TypePosteInline(admin
.TabularInline
):
85 model
= models
.Model
# à remplacer dans admin.py
90 class AyantDroitAdmin(admin
.ModelAdmin
):
91 inlines
= (AyantDroitCommentaireInline
,)
94 class AyantDroitCommentaireAdmin(admin
.ModelAdmin
):
98 class ClassementAdmin(admin
.ModelAdmin
):
102 class CommentaireAdmin(admin
.ModelAdmin
):
106 class ContratAdmin(admin
.ModelAdmin
):
110 class DeviseAdmin(admin
.ModelAdmin
):
114 class DossierAdmin(admin
.ModelAdmin
):
115 list_display
= ('_employe', '_poste')
116 inlines
= (DossierPieceInline
, DossierCommentaireInline
, ContratInline
,
117 RemunerationInline
, EvenementInline
)
119 def _poste(self
, dossier
):
120 return unicode(dossier
.poste
.nom
)
121 _poste
.short_description
= u
'Poste'
123 def _employe(self
, dossier
):
124 return unicode(dossier
.employe
)
125 _employe
.short_description
= u
'Employé'
128 class DossierPieceAdmin(admin
.ModelAdmin
):
132 class DossierCommentaireAdmin(admin
.ModelAdmin
):
136 class EmployeAdmin(admin
.ModelAdmin
):
137 inlines
= (AyantDroitInline
,
140 EmployeCommentaireInline
)
143 class EmployeCommentaireAdmin(admin
.ModelAdmin
):
147 class EmployePieceAdmin(admin
.ModelAdmin
):
151 class EvenementAdmin(admin
.ModelAdmin
):
152 inlines
= (EvenementRemunerationInline
,)
155 class EvenementRemunerationAdmin(admin
.ModelAdmin
):
159 class FamilleEmploiAdmin(admin
.ModelAdmin
):
160 inlines
= (TypePosteInline
,)
163 class OrganismeBstgAdmin(admin
.ModelAdmin
):
164 inlines
= (DossierROInline
,)
167 class PosteAdmin(admin
.ModelAdmin
):
170 'fields': ('nom', 'nom_feminin', 'implantation', 'type_poste',
171 'service', 'responsable')
174 'fields': ('regime_travail', 'regime_travail_nb_heure_semaine')
177 'fields': ('local', 'expatrie', 'mise_a_disposition', 'appel')
180 'fields': ('classement_min', 'classement_max', 'valeur_point_min',
181 'valeur_point_max', 'devise_min', 'devise_max',
182 'salaire_min', 'salaire_max', 'indemn_min',
183 'indemn_max', 'autre_min', 'autre_max')
185 ('Comparatifs de rémunération', {
186 'fields': ('devise_comparaison', 'comp_locale_min',
187 'comp_locale_max', 'comp_universite_min',
188 'comp_universite_max', 'comp_fonctionpub_min',
189 'comp_fonctionpub_max', 'comp_ong_min', 'comp_ong_max',
190 'comp_autre_min', 'comp_autre_max')
193 'fields': ('justification',)
195 ('Autres Metadata', {
196 'fields': ('date_validation', 'date_debut', 'date_fin')
200 inlines
= (PosteFinancementInline
,
202 PosteCommentaireInline
,
206 class PosteCommentaireAdmin(admin
.ModelAdmin
):
210 class PosteFinancementAdmin(admin
.ModelAdmin
):
214 class PostePieceAdmin(admin
.ModelAdmin
):
218 class RemunerationAdmin(admin
.ModelAdmin
):
222 class ResponsableImplantationAdmin(admin
.ModelAdmin
):
226 class ServiceAdmin(admin
.ModelAdmin
):
227 inlines
= (PosteInline
,)
230 class StatutAdmin(admin
.ModelAdmin
):
231 inlines
= (EmployeInline
,)
234 class TauxChangeAdmin(admin
.ModelAdmin
):
238 class TypeContratAdmin(admin
.ModelAdmin
):
239 inlines
= (ContratInline
,)
242 class TypePosteAdmin(admin
.ModelAdmin
):
243 inlines
= (PosteInline
,)
246 class TypeRemunerationAdmin(admin
.ModelAdmin
):
247 inlines
= (RemunerationROInline
,)
250 class TypeRevalorisationAdmin(admin
.ModelAdmin
):
251 inlines
= (RemunerationROInline
,)
254 class ValeurPointAdmin(admin
.ModelAdmin
):