master merge recrutement
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 21 Sep 2012 16:37:19 +0000 (12:37 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 21 Sep 2012 16:37:19 +0000 (12:37 -0400)
1  2 
buildout.cfg
project/dashboard.py
project/recrutement/admin.py
project/recrutement/views.py
project/settings.py
versions.cfg

diff --cc buildout.cfg
@@@ -13,12 -13,14 +13,15 @@@ find-links = http://pypi.auf.org/simple
      http://pypi.auf.org/simple/auf.django.admingroup/
      http://pypi.auf.org/simple/auf.django.permissions/
      http://pypi.auf.org/simple/auf.django.emploi/
 +    http://pypi.auf.org/simple/auf.django.export/
      http://pypi.auf.org/simple/auf.django.references/
+     http://pypi.auf.org/simple/auf.django.piwik/
      http://pypi.auf.org/simple/django-alphafilter/
      http://pypi.auf.org/simple/odsgen/
  develop = src/qbe
      src/auf.django.metadata
  eggs =
      django
      south
Simple merge
@@@ -127,15 -108,19 +127,15 @@@ class OffreEmploiAdminMixin(BaseAdmin)
                  region_field.queryset = Region.objects.all()
              else:
                  region_field.queryset = Region.objects.\
-                                         filter(id=employe.implantation.region.id)
+                                     filter(id=employe.implantation.region.id)
  
          # Poste
 -        if 'poste' in form.declared_fields:
 +        poste_field = None
 +        if 'poste' in form.declared_fields.keys():
              poste_field = form.declared_fields['poste']
 -            read_only = False
 -        elif 'poste' in form.base_fields:
 +        if 'poste' in form.base_fields.keys():
              poste_field = form.base_fields['poste']
 -            read_only = False
 -        else:
 -            read_only = True
 -
 -        if not read_only:
 +        if poste_field:
              if groups.DRH_NIVEAU_1 in user_groupes or \
                 groups.DRH_NIVEAU_2 in user_groupes or \
                 groups.HAUTE_DIRECTION in user_groupes:
          if request.user.is_superuser is True or \
              groups.DRH_NIVEAU_1 in user_groupes or \
              groups.DRH_NIVEAU_2 in user_groupes or \
-             groups.DIRECTEUR_DE_BUREAU in user_groupes or \
-             groups.ADMINISTRATEURS in user_groupes or \
              groups.HAUTE_DIRECTION in user_groupes:
              return True
+         if obj is not None:
+             employe = groups.get_employe_from_user(request.user)
+             if (groups.DIRECTEUR_DE_BUREAU in user_groupes or \
+                 groups.ADMINISTRATEURS in user_groupes) and ( 
+                 employe.implantation.region == obj.lieu_affectation.region):
+                 return True
+         else:
+             if  groups.DIRECTEUR_DE_BUREAU in user_groupes or \
+                     groups.ADMINISTRATEURS in user_groupes:
+                 return True
          return False
  
 +    def formfield_for_foreignkey(self, db_field, request, **kwargs):
 +        if db_field.name == 'lieu_affectation':
 +            employe = groups.get_employe_from_user(request.user)
 +            kwargs["queryset"] = Implantation.objects.filter(region=employe.implantation.region)
 +            return db_field.formfield(**kwargs)
 +        return super(OffreEmploiAdminMixin, self).formfield_for_foreignkey(db_field, request, **kwargs)
 +
  
  class OffreEmploiAdmin(VersionAdmin, OffreEmploiAdminMixin):
      pass
Simple merge
Simple merge
diff --cc versions.cfg
@@@ -64,8 -63,14 +63,17 @@@ auf.django.emploi = 1.2de
  # Added by Buildout Versions at 2012-06-15 14:24:42.911205
  odsgen = 0.1
  
 +# Added by Buildout Versions at 2012-07-10 15:40:30.011741
 +auf.django.export = 0.4
 +
  # Added by Buildout Versions at 2012-07-11 15:30:58.885863
  auf.django.references = 0.21
+ # Added by Buildout Versions at 2012-08-23 09:19:43.234537
+ auf.recipe.django = 2.1
+ # Added by Buildout Versions at 2012-08-23 09:21:24.235070
+ raven = 2.0.4
+ # Added by Buildout Versions at 2012-09-18 10:17:13.131666
+ auf.django.piwik = 1.7