Ajout du contexte processor
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -28,7 +28,7 @@ SECRET_KEY = config('SECRET_KEY')
|
||||
DEBUG = config('DEBUG', default=True, cast=bool)
|
||||
|
||||
ALLOWED_HOSTS = config('ALLOWED_HOSTS', default=[]).split(',')
|
||||
CSRF_TRUSTED_ORIGINS = config("CSRF_TRUSTED_ORIGINS", default=[]).split(",")
|
||||
#CSRF_TRUSTED_ORIGINS = config("CSRF_TRUSTED_ORIGINS", default=[]).split(",")
|
||||
|
||||
# Application definition
|
||||
|
||||
@@ -67,6 +67,7 @@ TEMPLATES = [
|
||||
'django.template.context_processors.request',
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
'contexte_universel.contexte_universel',
|
||||
],
|
||||
},
|
||||
},
|
||||
@@ -145,9 +146,9 @@ DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||
# LOGIN_URL = '/client/'
|
||||
LOGIN_URL = 'simple-sso-login'
|
||||
|
||||
SSO_PRIVATE_KEY = 'D2brFY3LnNDLQBBnvYPXAn185Wi9EpPvnHsUosjEZ9vZMyEtXqkcVfFWkVbN0xpG'
|
||||
SSO_PUBLIC_KEY = 'm9JDP3uGPmGG9ULqPw2BY3ryBNMTGRsuukgIOhk7lIN9lT0wlr2zhoRZiNZ28UCM'
|
||||
SSO_SERVER = 'http://test-authentification.cerfig.org:89/server/'
|
||||
SSO_PRIVATE_KEY = config('SSO_PRIVATE_KEY')
|
||||
SSO_PUBLIC_KEY = config('SSO_PUBLIC_KEY')
|
||||
SSO_SERVER = config('SSO_SERVER')
|
||||
#SSO_LOGOUT_URL = 'http://test-authentification.cerfig.org:89/deconnexion'
|
||||
|
||||
# Configuration de l'email
|
||||
|
||||
14
SIRH/sso.py
14
SIRH/sso.py
@@ -10,11 +10,17 @@ class SIRHClient(Client):
|
||||
def build_user(self, user_data):
|
||||
"""Crée le User et son Profile avec les infos reçues du serveur."""
|
||||
user_data_copy = user_data.copy()
|
||||
user_data.pop("departement")
|
||||
user_data.pop("chef_departement")
|
||||
user_data.pop("groups")
|
||||
|
||||
print("Un petit test", user_data_copy)
|
||||
|
||||
user_data.pop("departement", None)
|
||||
user_data.pop("chef_departement", None)
|
||||
user_data.pop("groups", None)
|
||||
|
||||
user = super().build_user(user_data)
|
||||
departement = None
|
||||
|
||||
if "departement" in user_data_copy:
|
||||
departement = Departement.objects.get_or_create(
|
||||
nom=user_data_copy.get("departement", ""))[0]
|
||||
|
||||
@@ -22,7 +28,7 @@ class SIRHClient(Client):
|
||||
user = user,
|
||||
defaults = {
|
||||
"departement": departement,
|
||||
"chef": user_data_copy.get("chef_departement", ""),
|
||||
"chef": user_data_copy.get("chef_departement", None),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
26
SIRH/urls.py
26
SIRH/urls.py
@@ -18,7 +18,7 @@ from django.contrib import admin
|
||||
from django.urls import include, path
|
||||
# from django.conf.urls.static import static
|
||||
from django.conf import settings
|
||||
|
||||
from . import views
|
||||
from .sso import SIRHClient
|
||||
|
||||
client_sirh = SIRHClient(
|
||||
@@ -28,35 +28,23 @@ client_sirh = SIRHClient(
|
||||
)
|
||||
|
||||
urlpatterns = [
|
||||
# path('login/',
|
||||
# views.login_view,
|
||||
# name='login'
|
||||
# ),
|
||||
# path(
|
||||
# 'deconnexion/',
|
||||
# views.deconnexion_view,
|
||||
# name='deconnexion'
|
||||
# ),
|
||||
path(
|
||||
'',
|
||||
<<<<<<< HEAD
|
||||
views.login_view,
|
||||
name='index'
|
||||
),
|
||||
|
||||
path('login/',
|
||||
views.login_view,
|
||||
views.connexion,
|
||||
name='login'
|
||||
),
|
||||
path(
|
||||
'deconnexion/',
|
||||
views.deconnexion_view,
|
||||
views.deconnexion,
|
||||
name='deconnexion'
|
||||
),
|
||||
path(
|
||||
<<<<<<< HEAD
|
||||
'gestion-employe/',
|
||||
=======
|
||||
>>>>>>> 4934b42 (Implementation de sso)
|
||||
=======
|
||||
'',
|
||||
>>>>>>> 55e5a28 (Ajout du contexte processor)
|
||||
include("gestion_employe.urls")
|
||||
),
|
||||
path(
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
from django.contrib.auth import logout
|
||||
from django.shortcuts import redirect
|
||||
from django.urls import reverse_lazy
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
def connexion(request):
|
||||
"""Redirige vers le serveur SSO pour l'authentification."""
|
||||
return redirect(reverse_lazy("simple-sso-login"))
|
||||
|
||||
def deconnexion(request):
|
||||
"""Gérez la déconnexion des utilisateurs."""
|
||||
logout(request)
|
||||
#return redirect(settings.SSO_LOGOUT_URL)
|
||||
return redirect("http://authentification.cerfig.org/login")
|
||||
|
||||
7
contexte_universel.py
Normal file
7
contexte_universel.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from decouple import config
|
||||
|
||||
def contexte_universel(request):
|
||||
return {
|
||||
"SIRH_LIEN": config("SIRH_LIEN"),
|
||||
"SGL_LIEN": config("SGL_LIEN")
|
||||
}
|
||||
Binary file not shown.
@@ -7,14 +7,11 @@ QUOTA_CONGE_ANNUEL = 30
|
||||
NOMBRE_PAGINATION = 8
|
||||
DEBUT_RAPPEL = 60
|
||||
DUREE_FIN_CONTRAT = 90
|
||||
<<<<<<< HEAD
|
||||
|
||||
try:
|
||||
EMAIL_ASSISTANTE_DE_DIRECTION = list(Employe.objects.filter(fonction="assistant_direction").values_list('user__email', flat=True))
|
||||
except:
|
||||
pass
|
||||
=======
|
||||
# EMAIL_ASSISTANTE_DE_DIRECTION = list(Employe.objects.filter(fonction="assistant_direction").values_list('user__email', flat=True))
|
||||
>>>>>>> 4934b42 (Implementation de sso)
|
||||
|
||||
def solde_conge(employe):
|
||||
"""Fonction de calcul du solde de congé restant l'employé"""
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -21,6 +21,9 @@ from .models import Affectation, Contrat, Employe, Formation
|
||||
@login_required
|
||||
def index(request):
|
||||
"""Vue d'index"""
|
||||
if not request.user.groups.filter(name="ressource_humaine").exists():
|
||||
return redirect('gestion_employe:mon-profil')
|
||||
|
||||
employes = Employe.objects.all().order_by('-user__date_joined')
|
||||
nombre_employes = Employe.objects.count()
|
||||
nombre_cps = Contrat.objects.filter(type_contrat='contrat_prestation').count()
|
||||
@@ -95,7 +98,7 @@ def affecter_employe_projet(request):
|
||||
elif total_affectation + temps_nouveau > 100:
|
||||
messages.warning(
|
||||
request,
|
||||
f"Les pourcentages d'affectation de l'employé {employe.first_name} {employe.last_name} dépasse 100% sur les différents projets ({total_affectation + temps_nouveau}%)."
|
||||
f"Les pourcentages d'affectation de l'employé {employe.user.first_name} {employe.user.last_name} dépasse 100% sur les différents projets ({total_affectation + temps_nouveau}%)."
|
||||
)
|
||||
return redirect('gestion_employe:index')
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user