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
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):
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
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