liste des bailleur
This commit is contained in:
Binary file not shown.
@@ -24,9 +24,9 @@ BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
SECRET_KEY = 'django-insecure--wdb9t(77rvyac$_q!n5gw86&0r(0&&j171v9h!-_$jahsza*5'
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = False
|
||||
DEBUG = True
|
||||
|
||||
ALLOWED_HOSTS = ["https://support.cerfig.org", "support.cerfig.org"]
|
||||
ALLOWED_HOSTS = ["*"]
|
||||
|
||||
# Application definition
|
||||
|
||||
@@ -83,11 +83,10 @@ WSGI_APPLICATION = 'SIRH.wsgi.application'
|
||||
# 'default': {
|
||||
# 'ENGINE': 'django.db.backends.mysql',
|
||||
# 'NAME': 'sirh',
|
||||
# 'USER': 'sirh',
|
||||
# 'PASSWORD': 'sirh-cerfig',
|
||||
# 'HOST': 'localhost',
|
||||
# 'PORT': '3306',
|
||||
# }
|
||||
# 'USER': 'test',
|
||||
# 'PASSWORD': 'test-django',
|
||||
# 'HOST': 'localhost',
|
||||
# 'PORT': '3306',
|
||||
# }
|
||||
|
||||
DATABASES = {
|
||||
@@ -97,7 +96,6 @@ DATABASES = {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/5.2/ref/settings/#auth-password-validators
|
||||
|
||||
@@ -157,3 +155,5 @@ EMAIL_USE_TLS = False
|
||||
EMAIL_HOST_USER = 'support.it@cerfig.org'
|
||||
EMAIL_HOST_PASSWORD = 'Cerfig2025'
|
||||
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,20 @@
|
||||
{% load tags_personnaliser %}
|
||||
|
||||
<div class="col-3 bg-danger d-flex flex-column vh-100 pt-5 sticky-top">
|
||||
<div class="text-center mb-4">
|
||||
{% if user.employe.photo %}
|
||||
<img src="{{ user.employe.photo.url }}"
|
||||
class="rounded-circle"
|
||||
width="80"
|
||||
height="80"
|
||||
style="object-fit:cover;">
|
||||
{% else %}
|
||||
<i class="bi bi-person-circle text-white" style="font-size:60px;"></i>
|
||||
{% endif %}
|
||||
<div class="text-white mt-2">
|
||||
{{ user.username }}
|
||||
</div>
|
||||
</div>
|
||||
<a href="{% url 'gestion_employe:mon-profil' %}" class="text-white fw-bold text-decoration-none mb-4" style="font-size:1.4em">
|
||||
<i class="bi bi-person-circle"></i> Mon profil
|
||||
</a>
|
||||
|
||||
Binary file not shown.
@@ -19,19 +19,15 @@
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if expiration_contrat %}
|
||||
{% if contrat_nb_jours_restant %}
|
||||
{% if not expiration_contrat %}
|
||||
<div class="alert alert-danger fade show alert-dismissible mt-2">
|
||||
<strong>Important :</strong> Les informations sur votre contrat n'ont pas été renseignées, veuillez contacter les ressources humaines.
|
||||
</div>
|
||||
{% elif contrat_nb_jours_restant %}
|
||||
<div class="alert alert-danger fade show alert-dismissible mt-2">
|
||||
<strong>Important :</strong> Votre contrat de travail expire dans {{ contrat_nb_jours_restant }} jours, veuillez contacter les ressources humaines.
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="alert alert-danger fade show alert-dismissible mt-2">
|
||||
<strong>Important :</strong> Les informations sur votre contrat n'ont pas été renseignées, veuillez contacter les ressources humaines.
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="accordion mt-2" id="accordionInformationEmploye">
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header" id="headingContrats">
|
||||
@@ -42,8 +38,15 @@
|
||||
<div id="collapseProfil" class="accordion-collapse" aria-labelledby="headingContrats" data-bs-parent="#accordionInformationEmploye">
|
||||
<div class="accordion-body">
|
||||
<div class="row" id="information-personnelles" data-url="{% url 'gestion_employe:modifier-employe' %}">
|
||||
{% csrf_token %}
|
||||
<div class="col">
|
||||
<div class="form-group mb-2">
|
||||
<label>photo</label>
|
||||
{% if employe.photo %}
|
||||
<span>Fichier actuel : <a href="{{ employe.photo.url }}">{{employe.photo}}</a></span>
|
||||
{% endif %}
|
||||
<input type="file" id="photo" name="photo" class="form-control">
|
||||
</div>
|
||||
{% csrf_token %}
|
||||
<div class="form-group mb-2">
|
||||
<label>Matricule :</label>
|
||||
<input type="text" class="form-control" id="matricule" value="{{ employe.matricule|default:'' }}" readonly>
|
||||
@@ -63,12 +66,13 @@
|
||||
<option value='f' {% if employe.sexe == 'f' %}selected{% endif %}>Femme</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="form-group mb-2">
|
||||
<label>Date de naissance :</label>
|
||||
<input type="date" class="form-control" id="date_naissance" value="{{ employe.date_naissance|date:'Y-m-d' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="form-group mb-2">
|
||||
<label>Département :</label>
|
||||
<input type="text" class="form-control" id="departement" value="{{ employe.departement.nom|default:'' }}" readonly>
|
||||
@@ -167,6 +171,13 @@
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-group mb-2">
|
||||
<label>photo</label>
|
||||
{% if employe.photo %}
|
||||
<span>Fichier actuel : <a href="{{ employe.photo.url }}">{{employe.photo}}</a></span>
|
||||
{% endif %}
|
||||
<input type="file" class="form-control" name="photo">
|
||||
</div>
|
||||
<div class="form-group mb-2">
|
||||
<label>CV</label>
|
||||
{% if employe.CV %}
|
||||
|
||||
@@ -177,6 +177,7 @@ def modifier_mot_passe(request):
|
||||
|
||||
return redirect("gestion_employe:mon-profil")
|
||||
|
||||
|
||||
def modifier_employer(request):
|
||||
"""Vue pour permettre à un utilisateur de modifier les informations d'un employé"""
|
||||
try:
|
||||
@@ -192,7 +193,8 @@ def modifier_employer(request):
|
||||
employe.telephone = data['telephone']
|
||||
employe.adresse = data['adresse']
|
||||
employe.sexe = data['sexe']
|
||||
|
||||
# if request.FILES.get("photo"):
|
||||
# employe.photo = request.FILES["photo"]
|
||||
if data['date_naissance']:
|
||||
difference = relativedelta(timezone.now().date(), datetime.strptime(data['date_naissance'], "%Y-%m-%d").date())
|
||||
if difference.years >= 18:
|
||||
@@ -201,13 +203,13 @@ def modifier_employer(request):
|
||||
return JsonResponse({"message": "Veuillez entrez une date de naissance correcte."})
|
||||
employe.save()
|
||||
user.save()
|
||||
|
||||
return JsonResponse({"message": "Profil mis à jour avec succès."})
|
||||
|
||||
def enregistrement_document(request):
|
||||
employe = Employe.objects.get(user__username=request.user)
|
||||
if request.method == "POST":
|
||||
employe.CV = request.FILES["cv"] if 'cv' in request.FILES else employe.CV
|
||||
employe.photo = request.FILES["photo"] if 'photo' in request.FILES else employe.photo
|
||||
employe.diplome = request.FILES["diplome"] if 'diplome' in request.FILES else employe.diplome
|
||||
employe.rib = request.FILES["rib"] if 'rib' in request.FILES else employe.rib
|
||||
employe.casier_judiciaire = request.FILES["casier_judiciaire"] if 'casier_judiciaire' in request.FILES else employe.casier_judiciaire
|
||||
|
||||
Reference in New Issue
Block a user