TEMPLATE_DEBUG=DEBUG
# Décommentez ces lignes pour activer la debugtoolbar
-INTERNAL_IPS = ('127.0.0.1',)
-INSTALLED_APPS += ('debug_toolbar',)
-MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',)
+#INTERNAL_IPS = ('127.0.0.1',)
+#INSTALLED_APPS += ('debug_toolbar',)
+#MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',)
AUTH_PASSWORD_REQUIRED = False
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
def get_objects(self, ids):
return rh.ValeurPoint.objects.filter(id__in=ids)
+
+class Employe(object):
+
+ def get_query(self,q,request):
+ f = Q(nom__icontains=q) | Q(prenom__icontains=q) | Q(nom_affichage__icontains=q)
+ employes = rh.Employe.objects.filter(f)
+ return employes
+
+ def format_result(self, employe):
+ return unicode(employe)
+
+ def format_item(self, employe):
+ return self.format_result(employe)
+
+ def get_objects(self, ids):
+ return rh.Employe.objects.filter(id__in=ids)
+
+class Dossier(object):
+
+ def get_query(self,q,request):
+ f = Q(poste__nom=q) | Q(poste__type_poste__nom=q) | Q(employe__nom__icontains=q) | Q(employe__prenom__icontains=q) | Q(employe__nom_affichage__icontains=q)
+ dossiers = rh.Dossier.objects.filter(f)
+ return dossiers
+
+ def format_result(self, dossier):
+ return unicode(dossier)
+
+ def format_item(self, dossier):
+ return self.format_result(dossier)
+
+ def get_objects(self, ids):
+ return rh.Dossier.objects.filter(id__in=ids)
from ajax_select import make_ajax_form
from auf.django.metadata.admin import AUFMetadataAdminMixin, AUFMetadataInlineAdminMixin, AUF_METADATA_READONLY_FIELDS
from project.rh import models as rh
-from forms import DossierForm, ContratForm, AyantDroitForm, EmployeAdminForm, AjaxSelect
+from forms import ContratForm, AyantDroitForm, EmployeAdminForm, AjaxSelect
from dae.utils import get_employe_from_user
)
-class DossierAdmin(AUFMetadataAdminMixin, ProtectRegionMixin, admin.ModelAdmin,):
- form = DossierForm
+class DossierAdmin(AUFMetadataAdminMixin, ProtectRegionMixin, admin.ModelAdmin, AjaxSelect):
alphabet_filter = 'employe__nom'
search_fields = ('employe__nom', 'employe__prenom', 'poste__nom', 'poste__nom_feminin')
list_display = ('_id', '_employe', '_actif', '_poste', 'date_debut', 'date_fin', 'date_modification')
'fields': (('date_debut', 'date_fin'), )
}),
)
-
- class Media:
- js = ('js/dossier.js',)
+ form = make_ajax_form(rh.Dossier, {
+ 'employe' : 'employes',
+ 'poste' : 'postes',
+ 'remplacement_de' : 'dossiers',
+ })
def lookup_allowed(self, key, value):
if key in (
def ma_region_ou_service(self, user):
return super(PosteManager, self).ma_region_ou_service(user).filter(actif=True)
- #def get_query_set(self):
- # fkeys = (
- # 'id_rh',
- # 'responsable',
- # 'implantation',
- # 'implantation.bureau_rattachement',
- # 'type_poste',
- # 'service',
- # 'classement_min',
- # 'classement_max',
- # 'valeur_point_min',
- # 'valeur_point_max',
- # )
- # return super(PosteManager, self).get_query_set() \
- # .select_related(*fkeys).all()
+ def get_query_set(self):
+ fkeys = (
+ #'id_rh',
+ #'responsable',
+ #'implantation',
+ #'implantation.bureau_rattachement',
+ 'type_poste',
+ #'service',
+ #'classement_min',
+ #'classement_max',
+ #'valeur_point_min',
+ #'valeur_point_max',
+ )
+ return super(PosteManager, self).get_query_set() \
+ .select_related(*fkeys).all()
class DossierManager(SecurityManager):
def get_query_set(self):
fkeys = (
'poste',
+ 'employe',
)
return super(DossierManager, self).get_query_set() \
.select_related(*fkeys).all()
# Recrutement
remplacement = models.BooleanField(default=False)
remplacement_de = models.ForeignKey('self', related_name='+',
+ help_text=u"Taper le nom de l'employé",
null=True, blank=True)
statut_residence = models.CharField(max_length=10, default='local',
verbose_name = u"Statut", null=True,
class Dossier(Dossier_):
__doc__ = Dossier_.__doc__
- poste = models.ForeignKey('%s.Poste' % app_context(), db_column='poste', related_name='%(app_label)s_dossiers')
- employe = models.ForeignKey('Employe', db_column='employe',
+ poste = models.ForeignKey('%s.Poste' % app_context(),
+ db_column='poste',
+ related_name='%(app_label)s_dossiers',
+ help_text=u"Taper le nom du poste ou du type de poste",
+ )
+ 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é")
'typepostes' : ('rh.catalogues', 'TypePoste'),
'postes' : ('rh.catalogues', 'Poste'),
'valeurpoints' : ('rh.catalogues', 'ValeurPoint'),
+ 'employes' : ('rh.catalogues', 'Employe'),
+ 'dossiers' : ('rh.catalogues', 'Dossier'),
}
AJAX_SELECT_BOOTSTRAP = True
AJAX_SELECT_INLINES = 'inline'