### CONSTANTES
IMPLANTATIONS_CENTRALES = [15, 19]
+
+class BaseAdmin(admin.ModelAdmin):
+
+ class Media:
+ css = {'screen': ('css/admin_custom.css',)}
+
+
class OrderedChangeList(admin.views.main.ChangeList):
"""
Surcharge pour appliquer le order_by d'un annotate
qs = qs.order_by('-moyenne')
return qs
+
-class OffreEmploiAdmin(VersionAdmin):
+class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
date_hierarchy = 'date_creation'
- list_display = ('nom', 'date_limite', 'region', 'statut',
- 'est_affiche', '_candidatsList', )
+ list_display = (
+ 'nom', 'date_limite', 'region', 'statut', 'est_affiche',
+ '_candidatsList'
+ )
exclude = ('actif', 'poste_nom', 'resume',)
list_filter = ('statut',)
actions = ['affecter_evaluateurs_offre_emploi', ]
Empêche la modification des évaluations
"""
if obj:
- return self.readonly_fields+('evaluateur', 'note', 'commentaire')
+ return self.readonly_fields + ('evaluateur', 'note', 'commentaire')
return self.readonly_fields
+
-class CandidatAdmin(VersionAdmin):
+class CandidatAdmin(BaseAdmin, VersionAdmin):
- search_fields = ('nom', 'prenom' )
+ search_fields = ('nom', 'prenom')
exclude = ('actif', )
list_editable = ('statut', )
list_display = ('_candidat', 'offre_emploi',
qs = self.model._default_manager.get_query_set()
return qs.select_related('candidat')
+
-class EvaluateurAdmin(VersionAdmin):
+class EvaluateurAdmin(BaseAdmin, VersionAdmin):
fieldsets = (
("Utilisateur", {
'fields': ('user',)
grp_drh2_recrutement in user_groupes or \
grp_haute_direction_recrutement in user_groupes:
return True
- return False
+ return False
+
-class CandidatEvaluationAdmin(admin.ModelAdmin):
+class CandidatEvaluationAdmin(BaseAdmin):
- search_fields = ('candidat__nom', 'candidat__prenom' )
- list_display = ('_candidat', '_statut', '_offre_emploi', 'evaluateur', '_note',
- '_commentaire', )
+ search_fields = ('candidat__nom', 'candidat__prenom')
+ list_display = (
+ '_candidat', '_statut', '_offre_emploi', 'evaluateur', '_note',
+ '_commentaire'
+ )
readonly_fields = ('candidat', 'evaluateur')
list_filter = ('candidat__statut', 'candidat__offre_emploi',)
fieldsets = (
from django.core.urlresolvers import reverse
from django.contrib import admin
from django.conf import settings
-from django.db.models import Q
+from django.db.models import Q, Count
from django.template.defaultfilters import date
+ from ajax_select import make_ajax_form
+ from auf.django.metadata.admin import \
+ AUFMetadataAdminMixin, AUFMetadataInlineAdminMixin, \
+ AUF_METADATA_READONLY_FIELDS
import auf.django.references.models as ref
- import models as rh
- from forms import \
+
+ from project.dae.utils import get_employe_from_user
+ import project.rh.models as rh
+ from project.rh.forms import \
ContratForm, AyantDroitForm, EmployeAdminForm, AjaxSelect, DossierForm
- from dae.utils import get_employe_from_user
- from change_list import ChangeList
- from groups import grp_correspondants_rh
- from decorators import in_drh_or_admin
+ from project.rh.change_list import ChangeList
+ from project.rh.groups import grp_correspondants_rh
+ from project.rh.decorators import in_drh_or_admin
+class BaseAdmin(admin.ModelAdmin):
+
+ class Media:
+ css = {'screen': ('css/admin_custom.css',)}
+
+
class ArchiveMixin(object):
"""
Archive Mixin pour gérer le queryset et le display
employe = models.ForeignKey(
'Employe', db_column='employe',
help_text=u"Taper le nom de l'employé",
- related_name='%(app_label)s_dossiers', verbose_name=u"employé")
+ related_name='rh_dossiers', verbose_name=u"employé"
+ )
principal = models.BooleanField(
- u"Principal?", default=True,
+ u"dossier principal", default=True,
help_text=(
u"Ce dossier est pour le principal poste occupé par l'employé"
)