Commit | Line | Data |
---|---|---|
6e7c919b NC |
1 | # -*- encoding: utf-8 -*- |
2 | ||
babf71ec | 3 | from django.db import models |
6e7c919b NC |
4 | from django.contrib import admin |
5 | ||
babf71ec | 6 | from project.rh import models as rh |
6e7c919b | 7 | |
6e7c919b | 8 | |
babf71ec NC |
9 | class ReadonlyInlineMixin(object): |
10 | def get_readonly_fields(self, request, obj=None): | |
11 | return [f.name for f in self.model._meta.fields] | |
6e7c919b | 12 | |
6e7c919b | 13 | |
babf71ec | 14 | # Inlines |
6e7c919b | 15 | |
babf71ec NC |
16 | class AyantDroitInline(admin.TabularInline): |
17 | model = models.Model # à remplacer dans admin.py | |
6e7c919b | 18 | |
54d04eed | 19 | |
babf71ec NC |
20 | class AyantDroitCommentaireInline(admin.TabularInline): |
21 | model = models.Model # à remplacer dans admin.py | |
6e7c919b | 22 | |
54d04eed | 23 | |
babf71ec NC |
24 | class ContratInline(admin.TabularInline): |
25 | model = models.Model # à remplacer dans admin.py | |
26 | ||
27 | ||
28 | class DossierROInline(ReadonlyInlineMixin, admin.TabularInline): | |
29 | model = models.Model # à remplacer dans admin.py | |
30 | ||
31 | ||
32 | class DossierCommentaireInline(admin.TabularInline): | |
33 | model = models.Model # à remplacer dans admin.py | |
34 | ||
35 | ||
36 | class DossierPieceInline(admin.TabularInline): | |
37 | model = models.Model # à remplacer dans admin.py | |
38 | ||
39 | ||
40 | class EmployeInline(admin.TabularInline): | |
41 | model = models.Model # à remplacer dans admin.py | |
42 | ||
43 | ||
44 | class EmployeCommentaireInline(admin.TabularInline): | |
45 | model = models.Model # à remplacer dans admin.py | |
46 | ||
47 | ||
48 | class EmployePieceInline(admin.TabularInline): | |
49 | model = models.Model # à remplacer dans admin.py | |
50 | ||
51 | ||
52 | class EvenementInline(admin.TabularInline): | |
53 | model = models.Model # à remplacer dans admin.py | |
54 | ||
55 | ||
56 | class EvenementRemunerationInline(admin.TabularInline): | |
57 | model = models.Model # à remplacer dans admin.py | |
58 | ||
59 | ||
60 | class PosteInline(admin.TabularInline): | |
61 | model = models.Model # à remplacer dans admin.py | |
62 | ||
63 | ||
64 | class PosteCommentaireInline(admin.TabularInline): | |
65 | model = models.Model # à remplacer dans admin.py | |
66 | ||
67 | ||
68 | class PosteFinancementInline(admin.TabularInline): | |
69 | model = models.Model # à remplacer dans admin.py | |
70 | ||
71 | ||
72 | class PostePieceInline(admin.TabularInline): | |
73 | model = models.Model # à remplacer dans admin.py | |
74 | ||
75 | ||
76 | class RemunerationInline(admin.TabularInline): | |
77 | model = models.Model # à remplacer dans admin.py | |
78 | ||
79 | ||
80 | class RemunerationROInline(ReadonlyInlineMixin, RemunerationInline): | |
6e7c919b NC |
81 | pass |
82 | ||
54d04eed | 83 | |
babf71ec NC |
84 | class TypePosteInline(admin.TabularInline): |
85 | model = models.Model # à remplacer dans admin.py | |
86 | ||
87 | ||
88 | # Admins | |
89 | ||
90 | class AyantDroitAdmin(admin.ModelAdmin): | |
91 | inlines = (AyantDroitCommentaireInline,) | |
92 | ||
93 | ||
94 | class AyantDroitCommentaireAdmin(admin.ModelAdmin): | |
6e7c919b NC |
95 | pass |
96 | ||
54d04eed | 97 | |
babf71ec | 98 | class ClassementAdmin(admin.ModelAdmin): |
6e7c919b NC |
99 | pass |
100 | ||
54d04eed | 101 | |
babf71ec | 102 | class CommentaireAdmin(admin.ModelAdmin): |
6e7c919b NC |
103 | pass |
104 | ||
54d04eed | 105 | |
babf71ec | 106 | class ContratAdmin(admin.ModelAdmin): |
6e7c919b NC |
107 | pass |
108 | ||
54d04eed | 109 | |
babf71ec | 110 | class DeviseAdmin(admin.ModelAdmin): |
6e7c919b NC |
111 | pass |
112 | ||
54d04eed | 113 | |
6e7c919b | 114 | class DossierAdmin(admin.ModelAdmin): |
54d04eed | 115 | list_display = ('_employe', '_poste') |
babf71ec NC |
116 | inlines = (DossierPieceInline, DossierCommentaireInline, ContratInline, |
117 | RemunerationInline, EvenementInline) | |
54d04eed NC |
118 | |
119 | def _poste(self, dossier): | |
120 | return unicode(dossier.poste.nom) | |
121 | _poste.short_description = u'Poste' | |
122 | ||
123 | def _employe(self, dossier): | |
124 | return unicode(dossier.employe) | |
125 | _employe.short_description = u'Employé' | |
126 | ||
6e7c919b NC |
127 | |
128 | class DossierPieceAdmin(admin.ModelAdmin): | |
129 | pass | |
130 | ||
54d04eed | 131 | |
6e7c919b NC |
132 | class DossierCommentaireAdmin(admin.ModelAdmin): |
133 | pass | |
134 | ||
54d04eed | 135 | |
babf71ec NC |
136 | class EmployeAdmin(admin.ModelAdmin): |
137 | inlines = (AyantDroitInline, | |
138 | DossierROInline, | |
139 | EmployePieceInline, | |
140 | EmployeCommentaireInline) | |
141 | ||
142 | ||
143 | class EmployeCommentaireAdmin(admin.ModelAdmin): | |
6e7c919b NC |
144 | pass |
145 | ||
54d04eed | 146 | |
babf71ec | 147 | class EmployePieceAdmin(admin.ModelAdmin): |
6e7c919b NC |
148 | pass |
149 | ||
54d04eed | 150 | |
6e7c919b | 151 | class EvenementAdmin(admin.ModelAdmin): |
babf71ec | 152 | inlines = (EvenementRemunerationInline,) |
6e7c919b | 153 | |
54d04eed | 154 | |
6e7c919b NC |
155 | class EvenementRemunerationAdmin(admin.ModelAdmin): |
156 | pass | |
157 | ||
54d04eed | 158 | |
6e7c919b | 159 | class FamilleEmploiAdmin(admin.ModelAdmin): |
babf71ec | 160 | inlines = (TypePosteInline,) |
6e7c919b | 161 | |
54d04eed | 162 | |
babf71ec NC |
163 | class OrganismeBstgAdmin(admin.ModelAdmin): |
164 | inlines = (DossierROInline,) | |
6e7c919b | 165 | |
54d04eed | 166 | |
babf71ec NC |
167 | class PosteAdmin(admin.ModelAdmin): |
168 | fieldsets = ( | |
169 | (None, { | |
170 | 'fields': ('nom', 'nom_feminin', 'implantation', 'type_poste', | |
171 | 'service', 'responsable') | |
172 | }), | |
173 | ('Contrat', { | |
174 | 'fields': ('regime_travail', 'regime_travail_nb_heure_semaine') | |
175 | }), | |
176 | ('Recrutement', { | |
177 | 'fields': ('local', 'expatrie', 'mise_a_disposition', 'appel') | |
178 | }), | |
179 | ('Rémunération', { | |
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') | |
184 | }), | |
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') | |
191 | }), | |
192 | ('Justification', { | |
193 | 'fields': ('justification',) | |
194 | }), | |
195 | ('Autres Metadata', { | |
196 | 'fields': ('date_validation', 'date_debut', 'date_fin') | |
197 | }), | |
198 | ) | |
6e7c919b | 199 | |
babf71ec NC |
200 | inlines = (PosteFinancementInline, |
201 | PostePieceInline, | |
202 | PosteCommentaireInline, | |
203 | DossierROInline) | |
54d04eed | 204 | |
babf71ec NC |
205 | |
206 | class PosteCommentaireAdmin(admin.ModelAdmin): | |
6e7c919b NC |
207 | pass |
208 | ||
54d04eed | 209 | |
babf71ec | 210 | class PosteFinancementAdmin(admin.ModelAdmin): |
6e7c919b NC |
211 | pass |
212 | ||
54d04eed | 213 | |
babf71ec | 214 | class PostePieceAdmin(admin.ModelAdmin): |
6e7c919b NC |
215 | pass |
216 | ||
54d04eed | 217 | |
babf71ec | 218 | class RemunerationAdmin(admin.ModelAdmin): |
6e7c919b NC |
219 | pass |
220 | ||
54d04eed | 221 | |
babf71ec | 222 | class ResponsableImplantationAdmin(admin.ModelAdmin): |
6e7c919b NC |
223 | pass |
224 | ||
54d04eed | 225 | |
babf71ec NC |
226 | class ServiceAdmin(admin.ModelAdmin): |
227 | inlines = (PosteInline,) | |
6e7c919b | 228 | |
54d04eed | 229 | |
babf71ec NC |
230 | class StatutAdmin(admin.ModelAdmin): |
231 | inlines = (EmployeInline,) | |
6e7c919b | 232 | |
54d04eed | 233 | |
babf71ec | 234 | class TauxChangeAdmin(admin.ModelAdmin): |
6e7c919b NC |
235 | pass |
236 | ||
54d04eed | 237 | |
6e7c919b | 238 | class TypeContratAdmin(admin.ModelAdmin): |
babf71ec | 239 | inlines = (ContratInline,) |
54d04eed NC |
240 | |
241 | ||
babf71ec NC |
242 | class TypePosteAdmin(admin.ModelAdmin): |
243 | inlines = (PosteInline,) | |
244 | ||
245 | ||
246 | class TypeRemunerationAdmin(admin.ModelAdmin): | |
247 | inlines = (RemunerationROInline,) | |
248 | ||
249 | ||
250 | class TypeRevalorisationAdmin(admin.ModelAdmin): | |
251 | inlines = (RemunerationROInline,) | |
252 | ||
253 | ||
254 | class ValeurPointAdmin(admin.ModelAdmin): | |
54d04eed | 255 | pass |