merge import DAE
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 28 Mar 2012 13:58:56 +0000 (09:58 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 28 Mar 2012 13:58:56 +0000 (09:58 -0400)
1  2 
project/dae/admin.py
project/dae/managers.py

@@@ -34,21 -35,16 +35,19 @@@ class ProxyDossierStatut(Dossier)
          verbose_name_plural = "Statut des dossiers"
  
  
 -class StatutDossierForm(forms.ModelForm):
 +class ProxyPosteStatut(Poste):
 +    class Meta:
 +        proxy = True
 +        verbose_name = "Statut du poste"
 +        verbose_name_plural = "Statut des postes"
 +
 +
 +class StatutForm(forms.ModelForm):
      commentaire = forms.CharField(label="Commentaire",
              widget=forms.widgets.Textarea())
  
 -    class Meta:
 -        model = ProxyDossierStatut
 -        fields = ('etat', )
 -
      def __init__(self, *args, **kwargs):
 -        super(StatutDossierForm, self).__init__(*args, **kwargs)
 +        super(StatutForm, self).__init__(*args, **kwargs)
-         
          # On retire le controle check des états pour faire ce qu'on veut
          self._meta.model.__setattr__ = object.__setattr__
  
          self.wf = WorkflowCommentaire()
          self.wf.etat_initial = self.instance.etat
          self.wf.owner_id = self.user.id
-     
      def save(self, *args, **kwargs):
          # Le dossier se voit attribuée un commentaire WF verbeux
 -        obj = super(StatutDossierForm, self).save(*args, **kwargs)
 +        obj = super(StatutForm, self).save(*args, **kwargs)
          self.wf.content_object = obj
          self.wf.etat_final = obj.etat
-         commentaire = u"%s => %s : %s" % (self.wf.etat_initial, self.wf.etat_final,
+         commentaire = u"%s => %s : %s" % (self.wf.etat_initial,
+                 self.wf.etat_final,
                  self.data['commentaire'])
          self.wf.texte = commentaire
          self.wf.save()
          return obj
  
 -class DossierStatutAdmin(VersionAdmin):
 -    search_fields = ('employe__nom', 'employe__prenom', 'poste__nom', )
 -    list_display = ('_poste', '_implantation', 'employe', '_etat', )
 -    form = StatutDossierForm
 -    action = None
 +class StatutDossierForm(StatutForm):
-     
 -    def _poste(self, obj):
 -        return obj.poste.nom
 +    class Meta:
 +        model = ProxyDossierStatut
 +        fields = ('etat', )
  
 -    def _implantation(self, obj):
 -        return obj.poste.implantation
  
 -    def _etat(self, obj):
 -        return obj.get_etat_display()
 +class StatutPosteForm(StatutForm):
-     
++
 +    class Meta:
 +        model = ProxyPosteStatut
 +        fields = ('etat', )
 +
 +
 +class StatutAdmin(VersionAdmin):
 +    action = None
  
      def has_delete_permission(self, request, obj=None):
          return False
@@@ -124,6 -99,10 +125,9 @@@ class PosteStatutAdmin(StatutAdmin)
  
  class ImportAdmin(admin.ModelAdmin,):
  
+     def _etat(self, obj):
+         return obj.get_etat_display()
 -
      def has_delete_permission(self, request, obj=None):
          return False
  
  
  
  class ImportDossierAdmin(ImportAdmin):
-     list_display = ('_poste', '_employe', '_dae', )
+     search_fields = ('employe__nom', 'employe__prenom', 'poste__nom', )
 -    list_display = ('_poste', '_employe', '_dae',)
++    list_display = ('_poste', '_implantation', '_employe', '_dae',)
+     list_filter = ('poste__implantation', 'etat', )
      actions = ['importer_dans_RH', ]
  
      def _employe(self, obj):
@@@ -61,9 -61,9 +61,9 @@@ class DossierFinaliseManager(models.Man
      def get_query_set(self):
          from dae.models import ImportDossier
          dae_importees = [str(i.dae_id) for i in ImportDossier.objects.all()]
-         qs = super(DossierFinaliseManager, self).get_query_set().filter(etat=DOSSIER_ETAT_FINALISE,)
+         qs = super(DossierFinaliseManager, self).get_query_set().all()
          if len(dae_importees) > 0:
--            qs = qs.extra(where=['id NOT IN (%s)' % ", ".join(dae_importees)])
++            qs = qs.extra(where=['dae_dossier.id NOT IN (%s)' % ", ".join(dae_importees)])
          return qs
  
  
@@@ -75,9 -75,9 +75,9 @@@ class PosteFinaliseManager(models.Manag
          from dae.models import ImportPoste
          dae_importees = [str(i.dae_id) for i in ImportPoste.objects.all()]
  
-         qs = super(PosteFinaliseManager, self).get_query_set().filter(etat=POSTE_ETAT_FINALISE,)
+         qs = super(PosteFinaliseManager, self).get_query_set().all()
          if len(dae_importees) > 0:
--            qs = qs.extra(where=['id NOT IN (%s)' % ", ".join(dae_importees)])
++            qs = qs.extra(where=['date_poste.id NOT IN (%s)' % ", ".join(dae_importees)])
          return qs