Merge branch 'dev' of ssh://git.auf/auf_rh_dae into dev
authorDavin Baragiotta <davin.baragiotta@auf.org>
Fri, 1 Jun 2012 21:11:11 +0000 (17:11 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Fri, 1 Jun 2012 21:11:11 +0000 (17:11 -0400)
project/assets/css/admin_custom.css [new file with mode: 0644]
project/dae/admin.py
project/recrutement/admin.py
project/rh/admin.py
project/rh/templates/rh/rapports/contrats.html
project/rh/views.py

diff --git a/project/assets/css/admin_custom.css b/project/assets/css/admin_custom.css
new file mode 100644 (file)
index 0000000..a74003a
--- /dev/null
@@ -0,0 +1 @@
+#content-main { width: auto; }
index 414202a..a1ae18b 100644 (file)
@@ -8,11 +8,17 @@ from reversion.admin import VersionAdmin
 from project.dae.models import Poste, Dossier
 
 
-class PosteAdmin(VersionAdmin):
+class BaseAdmin(admin.ModelAdmin):
+
+    class Media:
+        css = {'screen': ('css/admin_custom.css',)}
+
+
+class PosteAdmin(BaseAdmin, VersionAdmin):
     list_display = ('nom', 'implantation', 'etat', )
 
 
-class DossierAdmin(VersionAdmin):
+class DossierAdmin(BaseAdmin, VersionAdmin):
     list_display = ('_poste', '_implantation', 'employe', 'etat', )
     list_filter = ('etat', )
     exclude = ('etat', )
@@ -80,7 +86,7 @@ class StatutPosteForm(StatutForm):
         fields = ('etat', )
 
 
-class StatutAdmin(VersionAdmin):
+class StatutAdmin(BaseAdmin, VersionAdmin):
     action = None
 
     def has_delete_permission(self, request, obj=None):
index 8551126..e312d7f 100644 (file)
@@ -25,6 +25,12 @@ from recrutement.forms import *
 ### 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
@@ -34,7 +40,7 @@ class OrderedChangeList(admin.views.main.ChangeList):
         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', )
@@ -265,7 +271,7 @@ class CandidatEvaluationInline(admin.TabularInline):
             return self.readonly_fields+('evaluateur', 'note', 'commentaire')
         return self.readonly_fields
 
-class CandidatAdmin(VersionAdmin):
+class CandidatAdmin(BaseAdmin, VersionAdmin):
     search_fields = ('nom', 'prenom' )
     exclude = ('actif', )
     list_editable = ('statut', )
@@ -529,7 +535,7 @@ class CandidatPieceAdmin(admin.ModelAdmin):
         qs = self.model._default_manager.get_query_set()
         return qs.select_related('candidat')
 
-class EvaluateurAdmin(VersionAdmin):
+class EvaluateurAdmin(BaseAdmin, VersionAdmin):
     fieldsets = (
         ("Utilisateur", {
             'fields': ('user',)
@@ -570,7 +576,7 @@ class EvaluateurAdmin(VersionAdmin):
             return True
         return False   
 
-class CandidatEvaluationAdmin(admin.ModelAdmin):
+class CandidatEvaluationAdmin(BaseAdmin):
     search_fields = ('candidat__nom', 'candidat__prenom' )
     list_display = ('_candidat', '_statut', '_offre_emploi', 'evaluateur', '_note', 
                     '_commentaire', )
@@ -729,7 +735,7 @@ class MesCandidatEvaluationAdmin(CandidatEvaluationAdmin):
         return qs.filter(id__in=candidats_evaluations_ids)
 
 
-class CourrielTemplateAdmin(VersionAdmin):
+class CourrielTemplateAdmin(BaseAdmin, VersionAdmin):
     ### Actions à afficher
     def get_actions(self, request):
         actions = super(CourrielTemplateAdmin, self).get_actions(request)
index 3be2715..609ab41 100644 (file)
@@ -22,6 +22,12 @@ from groups import grp_correspondants_rh
 from 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
@@ -256,7 +262,7 @@ class PosteComparaisonInline(AUFMetadataInlineAdminMixin, admin.TabularInline):
     model = rh.PosteComparaison
 
 
-class ClassementAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
+class ClassementAdmin(AUFMetadataAdminMixin, BaseAdmin):
     list_display = ('_classement', '_date_modification', 'user_modification', )
     fieldsets = AUFMetadataAdminMixin.fieldsets + (
         (None, {
@@ -274,11 +280,7 @@ class ClassementAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
     _date_modification.admin_order_field = 'date_modification'
 
 
-class CommentaireAdmin(admin.ModelAdmin):
-    pass
-
-
-class DeviseAdmin(AUFMetadataAdminMixin, admin.ModelAdmin, ArchiveMixin):
+class DeviseAdmin(AUFMetadataAdminMixin, BaseAdmin, ArchiveMixin):
     list_display = (
             'code',
             'nom',
@@ -300,8 +302,8 @@ class DeviseAdmin(AUFMetadataAdminMixin, admin.ModelAdmin, ArchiveMixin):
     _date_modification.admin_order_field = 'date_modification'
 
 
-class DossierAdmin(DateRangeMixin, AUFMetadataAdminMixin, \
-        ProtectRegionMixin, admin.ModelAdmin, AjaxSelect,):
+class DossierAdmin(DateRangeMixin, AUFMetadataAdminMixin,
+                   ProtectRegionMixin, BaseAdmin, AjaxSelect):
     alphabet_filter = 'employe__nom'
     search_fields = (
         'id',
@@ -480,16 +482,8 @@ class DossierAdmin(DateRangeMixin, AUFMetadataAdminMixin, \
             instance.save()
 
 
-class DossierPieceAdmin(admin.ModelAdmin):
-    pass
-
-
-class DossierCommentaireAdmin(admin.ModelAdmin):
-    pass
-
-
-class EmployeAdmin(DateRangeMixin, AUFMetadataAdminMixin, \
-        ProtectRegionMixin, admin.ModelAdmin,):
+class EmployeAdmin(DateRangeMixin, AUFMetadataAdminMixin,
+                   ProtectRegionMixin, BaseAdmin):
     prefixe_recherche_temporelle = "rh_dossiers__"
     alphabet_filter = 'nom'
     DEFAULT_ALPHABET = u'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
@@ -672,15 +666,7 @@ class EmployeProxyAdmin(EmployeAdmin):
     _organigramme.short_description = "Organigramme"
 
 
-class EmployeCommentaireAdmin(admin.ModelAdmin):
-    pass
-
-
-class EmployePieceAdmin(admin.ModelAdmin):
-    pass
-
-
-class CategorieEmploiAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
+class CategorieEmploiAdmin(AUFMetadataAdminMixin, BaseAdmin):
     list_display = ('nom', '_date_modification', 'user_modification', )
     inlines = (TypePosteInline,)
     fieldsets = AUFMetadataAdminMixin.fieldsets + (
@@ -693,7 +679,7 @@ class CategorieEmploiAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
     _date_modification.admin_order_field = 'date_modification'
 
 
-class OrganismeBstgAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
+class OrganismeBstgAdmin(AUFMetadataAdminMixin, BaseAdmin):
     search_fields = ('nom',)
     list_display = (
             'nom',
@@ -715,8 +701,8 @@ class OrganismeBstgAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
     _date_modification.admin_order_field = 'date_modification'
 
 
-class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin, \
-        ProtectRegionMixin, admin.ModelAdmin, AjaxSelect,):
+class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin,
+                 ProtectRegionMixin, BaseAdmin, AjaxSelect):
     form = make_ajax_form(rh.Poste, {
         'implantation': 'implantations',
         'type_poste': 'typepostes',
@@ -878,8 +864,8 @@ class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin, \
             responsable = ''
 
         try:
-            employe = obj.responsable.rh_dossiers.all()[0]
-            employe_id = obj.responsable.rh_dossiers.all()[0].id
+            dossier = obj.responsable.rh_dossiers.all().order_by('-date_debut')[0]
+            employe_id = dossier.employe.id
             employe_html = u"""<br />
                     <a href="%s"
                        onclick="return showAddAnotherPopup(this)">
@@ -890,7 +876,7 @@ class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin, \
                     (reverse('employe_apercu', args=(employe_id,)),
                      settings.STATIC_URL,
                      reverse('admin:rh_employe_change', args=(employe_id,)),
-                     employe)
+                     dossier.employe)
         except:
             employe_html = ""
 
@@ -951,29 +937,13 @@ class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin, \
         formset.save_m2m()
 
 
-class PosteCommentaireAdmin(admin.ModelAdmin):
-    pass
-
-
-class PosteFinancementAdmin(admin.ModelAdmin):
-    pass
-
-
-class PostePieceAdmin(admin.ModelAdmin):
-    fk_name = 'poste'
-
-
-class RemunerationAdmin(admin.ModelAdmin):
-    pass
-
-
 class ResponsableInline(admin.TabularInline):
     model = rh.ResponsableImplantation
     extra = 0
     fk_name = "implantation"
 
 
-class ResponsableImplantationAdmin(admin.ModelAdmin):
+class ResponsableImplantationAdmin(BaseAdmin):
     actions = None
     list_filter = ('region', 'statut', )
     list_display = ('_region', '_nom', 'statut', '_responsable', )
@@ -1019,7 +989,7 @@ class ResponsableImplantationAdmin(admin.ModelAdmin):
         return False
 
 
-class ServiceAdmin(AUFMetadataAdminMixin, admin.ModelAdmin, ArchiveMixin):
+class ServiceAdmin(AUFMetadataAdminMixin, BaseAdmin, ArchiveMixin):
     list_display = (
             'nom',
             '_archive',
@@ -1066,7 +1036,7 @@ class ServiceProxyAdmin(ServiceAdmin):
     _organigramme.short_description = "Organigramme"
 
 
-class StatutAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
+class StatutAdmin(AUFMetadataAdminMixin, BaseAdmin):
     list_display = ('code', 'nom', '_date_modification', 'user_modification', )
     fieldsets = AUFMetadataAdminMixin.fieldsets + (
         (None, {
@@ -1081,7 +1051,7 @@ class StatutAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
     _date_modification.admin_order_field = 'date_modification'
 
 
-class TauxChangeAdmin(admin.ModelAdmin):
+class TauxChangeAdmin(BaseAdmin):
     list_display = (
             'taux',
             'devise',
@@ -1103,7 +1073,7 @@ class TauxChangeAdmin(admin.ModelAdmin):
     _date_modification.admin_order_field = 'date_modification'
 
 
-class TypeContratAdmin(admin.ModelAdmin):
+class TypeContratAdmin(BaseAdmin):
     list_display = (
             'nom',
             'nom_long',
@@ -1123,7 +1093,7 @@ class TypeContratAdmin(admin.ModelAdmin):
     _date_modification.admin_order_field = 'date_modification'
 
 
-class TypePosteAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
+class TypePosteAdmin(AUFMetadataAdminMixin, BaseAdmin):
     search_fields = ('nom', 'nom_feminin', )
     list_display = (
             'nom',
@@ -1151,7 +1121,7 @@ class TypePosteAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
     _date_modification.admin_order_field = 'date_modification'
 
 
-class TypeRemunerationAdmin(AUFMetadataAdminMixin, admin.ModelAdmin,
+class TypeRemunerationAdmin(AUFMetadataAdminMixin, BaseAdmin,
                             ArchiveMixin):
     list_display = (
             'nom',
@@ -1173,7 +1143,7 @@ class TypeRemunerationAdmin(AUFMetadataAdminMixin, admin.ModelAdmin,
     _date_modification.admin_order_field = 'date_modification'
 
 
-class TypeRevalorisationAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
+class TypeRevalorisationAdmin(AUFMetadataAdminMixin, BaseAdmin):
     list_display = ('nom', '_date_modification', 'user_modification', )
     fieldsets = AUFMetadataAdminMixin.fieldsets + (
         (None, {'fields': ('nom', )}),
@@ -1186,7 +1156,7 @@ class TypeRevalorisationAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
     _date_modification.admin_order_field = 'date_modification'
 
 
-class ValeurPointAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
+class ValeurPointAdmin(AUFMetadataAdminMixin, BaseAdmin):
     list_display = (
             '_devise_code',
             '_devise_nom',
@@ -1216,7 +1186,7 @@ class ValeurPointAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
     _devise_nom.short_description = "Nom de la devise"
 
 
-class ImplantationProxyAdmin(admin.ModelAdmin):
+class ImplantationProxyAdmin(BaseAdmin):
     list_display = ('nom', '_organigramme')
     actions = None
 
@@ -1238,7 +1208,7 @@ class ImplantationProxyAdmin(admin.ModelAdmin):
     _organigramme.short_description = "Organigramme"
 
 
-class RegionProxyAdmin(admin.ModelAdmin):
+class RegionProxyAdmin(BaseAdmin):
     list_display = ('nom', '_organigramme')
     actions = None
 
index 8a5ca42..1b61199 100644 (file)
@@ -2,6 +2,11 @@
 {% load adminmedia rapports i18n change_list %}
 
 {% block extrastyle %}
+{{ block.super }}
+<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/admin_custom.css">
+{% endblock %}
+
+{% block extrahead %}
 <script type="text/javascript" src="/admin/jsi18n"></script>
 <script type="text/javascript" src="{{ STATIC_URL }}/admin/js/core.js"></script>
 {{ block.super }}
@@ -48,6 +53,7 @@
             {{ contrat.type_contrat.nom }}
         {% endif %}
     </td>
+    <td>{{ contrat.dossier.get_statut_residence_display }}</td>
     <td>{{ contrat.date_debut }}</td>
     <td>{{ contrat.date_fin|default:'' }}</td>
 </tr>
index 0f0cf1a..bd0b6db 100644 (file)
@@ -176,13 +176,13 @@ def rapports_poste(request):
 @drh_or_admin_required
 def rapports_contrat(request):
     if 'HTTP_REFERER' in request.META.keys():
-                referer = request.META['HTTP_REFERER']
-                referer = "/".join(referer.split('/')[3:])
-                referer = "/%s" % referer.split('?')[0]
-                if referer != reverse('rhr_contrats'):
-                    params = request.GET.copy()
-                    params.update({'statut': 'Actif'})
-                    request.GET = params
+        referer = request.META['HTTP_REFERER']
+        referer = "/".join(referer.split('/')[3:])
+        referer = "/%s" % referer.split('?')[0]
+        if referer != reverse('rhr_contrats'):
+            params = request.GET.copy()
+            params.update({'statut': 'Actif'})
+            request.GET = params
 
     lookup_params = dict(request.GET.items())
     if 'ot' in lookup_params:
@@ -222,6 +222,7 @@ def rapports_contrat(request):
         ("dossier__poste__implantation__region", u"Région"),
         ("dossier__poste__implantation", u"Implantation"),
         ("type_contrat__nom", u"Type de contrat"),
+        ("dossier__statut_residence", u"Statut de résidence"),
         ("date_debut", u"Date début"),
         ("date_fin", u"Date fin"),
     ]