from django.contrib.auth.models import Group
from auf.django.workflow.models import WorkflowMixin
+def safe_create_groupe(name):
+ """
+ Création d'un groupe prédéfini. Retourne None, quand la création
+ ne peut se faire. (C'est le cas au syncdb, quand la table de groupe
+ n'a pas été crée encore).
+ """
+ try:
+ grp, created = Group.objects.get_or_create(name=name)
+ except:
+ return None
+ return grp
+
# Groupes impliqués dans le Worflow
-grp_administrateurs, created = Group.objects.get_or_create(name='Administrateurs')
-grp_gestionnaires, created = Group.objects.get_or_create(name='Gestionnaires')
-grp_directeurs_bureau, created = Group.objects.get_or_create(name='Directeurs de bureau')
-grp_drh, created = Group.objects.get_or_create(name='DRH')
-grp_pole_financier, created = Group.objects.get_or_create(name='Pôle financier')
-grp_haute_direction, created = Group.objects.get_or_create(name='Haute direction')
-grp_service_utilisateurs, created = Group.objects.get_or_create(name='Service utilisateurs')
-grp_directeurs_service, created = Group.objects.get_or_create(name='Directeurs de service / pôle')
-grp_correspondants_rh, created = Group.objects.get_or_create(name='Correspondants RH')
+grp_administrateurs = safe_create_groupe(name='Administrateurs')
+grp_gestionnaires = safe_create_groupe(name='Gestionnaires')
+grp_directeurs_bureau = safe_create_groupe(name='Directeurs de bureau')
+grp_drh = safe_create_groupe(name='DRH')
+grp_pole_financier = safe_create_groupe(name='Pôle financier')
+grp_haute_direction = safe_create_groupe(name='Haute direction')
+grp_service_utilisateurs = safe_create_groupe(name='Service utilisateurs')
+grp_directeurs_service = safe_create_groupe(name='Directeurs de service / pôle')
+grp_correspondants_rh = safe_create_groupe(name='Correspondants RH')
dae_groupes = (grp_administrateurs, grp_gestionnaires, grp_directeurs_bureau, grp_drh,
grp_pole_financier, grp_haute_direction, grp_service_utilisateurs,